10#ifdef WPI_RAWFRAME_JNI
15#ifdef WPI_RAWFRAME_JNI
37 rhs.freeFunc =
nullptr;
38 rhs.freeCbData =
nullptr;
45 rhs.freeFunc =
nullptr;
46 rhs.freeCbData =
nullptr;
65#ifdef WPI_RAWFRAME_JNI
66template <std::same_as<wpi::util::RawFrame> T>
67void SetFrameData(JNIEnv* env, jclass rawFrameCls, jobject jframe,
68 const T& frame,
bool newData) {
70 static jmethodID setData = env->GetMethodID(
71 rawFrameCls,
"setDataJNI",
"(Ljava/nio/ByteBuffer;IIIIJI)V");
73 jframe, setData, env->NewDirectByteBuffer(frame.data, frame.size),
74 static_cast<jint
>(frame.width),
static_cast<jint
>(frame.height),
75 static_cast<jint
>(frame.stride),
static_cast<jint
>(frame.pixelFormat),
76 static_cast<jlong
>(frame.timestamp),
77 static_cast<jint
>(frame.timestampSrc));
79 static jmethodID setInfo =
80 env->GetMethodID(rawFrameCls,
"setInfoJNI",
"(IIIIJI)V");
81 env->CallVoidMethod(jframe, setInfo,
static_cast<jint
>(frame.width),
82 static_cast<jint
>(frame.height),
83 static_cast<jint
>(frame.stride),
84 static_cast<jint
>(frame.pixelFormat),
85 static_cast<jlong
>(frame.timestamp),
86 static_cast<jint
>(frame.timestampSrc));
int WPI_AllocateRawFrameData(WPI_RawFrame *frame, size_t requestedSize)
@ WPI_TIMESRC_UNKNOWN
Definition RawFrame.h:37
void WPI_SetRawFrameData(WPI_RawFrame *frame, void *data, size_t size, size_t capacity, void *cbdata, void(*freeFunc)(void *cbdata, void *data, size_t capacity))
void WPI_FreeRawFrameData(WPI_RawFrame *frame)
Definition raw_os_ostream.hpp:19
Raw Frame.
Definition RawFrame.h:17
int pixelFormat
Definition RawFrame.h:25
uint64_t timestamp
Definition RawFrame.h:29
void * freeCbData
Definition RawFrame.h:22
void(* freeFunc)(void *cbdata, void *data, size_t capacity)
Definition RawFrame.h:21
size_t capacity
Definition RawFrame.h:23
uint8_t * data
Definition RawFrame.h:19
size_t size
Definition RawFrame.h:24
int height
Definition RawFrame.h:27
int width
Definition RawFrame.h:26
int timestampSrc
Definition RawFrame.h:30
bool Reserve(size_t size)
Definition RawFrame.hpp:58
RawFrame(const RawFrame &)=delete
RawFrame(RawFrame &&rhs) noexcept
Definition RawFrame.hpp:35
RawFrame & operator=(RawFrame &&rhs) noexcept
Definition RawFrame.hpp:42
~RawFrame()
Definition RawFrame.hpp:62
RawFrame & operator=(const RawFrame &)=delete
RawFrame()
Definition RawFrame.hpp:21
void SetData(void *data, size_t size, size_t capacity, void *cbdata, void(*freeFunc)(void *cbdata, void *data, size_t capacity))
Definition RawFrame.hpp:52