// // Created by 倪路朋 on 11/28/24. // #ifndef LIVEPROJECT_MEDIA_ENCODER_CALL_H #define LIVEPROJECT_MEDIA_ENCODER_CALL_H #include #include "macro.h" class MediaEncoderCall { ~MediaEncoderCall(); public: MediaEncoderCall(JNIEnv *env_, jobject instance_); void encodeYUV(uint8_t* yuvBuffer,int width,int height); void init(JNIEnv *env_); void encodePCM(uint8_t* pcmBuffer, int width, int height); void getSpsPps(uint8_t **data,int *length); void getAudioSeqData(uint8_t **data,int *length); private: JavaVM *javaVM; JNIEnv *env = 0; jobject instance; jmethodID jmd_get_sps_pps,jmd_get_audio_seq; jmethodID jmd_encode_yuv,jmd_encode_pcm; void getJvmBytes(jmethodID method,uint8_t **data,int *length); }; #endif //LIVEPROJECT_MEDIA_ENCODER_CALL_H