Android jni x264_编码器_编码内存不足错误

Android jni x264_编码器_编码内存不足错误,android,memory-leaks,android-ndk,x264,Android,Memory Leaks,Android Ndk,X264,我正在使用一个库将摄像机中的视频流编码到编解码器h264中。我举的例子如下:。我正在使用camera.setPreviewCallbackWithBuffer从摄像机接收数据 在调用方法x264_encoder\u encode的过程中,内存分配在未释放的JNI内部,过了一段时间,我会出现内存不足错误。这是我写的。以下代码足以重现该问题: JNIEXPORT jbyteArray JNICALL Java\u org\u videolan\u x264\u x264JNI\u encode( J

我正在使用一个库将摄像机中的视频流编码到编解码器h264中。我举的例子如下:。我正在使用
camera.setPreviewCallbackWithBuffer
从摄像机接收数据

在调用方法
x264_encoder\u encode
的过程中,内存分配在未释放的JNI内部,过了一段时间,我会出现内存不足错误。这是我写的。以下代码足以重现该问题:

JNIEXPORT jbyteArray JNICALL Java\u org\u videolan\u x264\u x264JNI\u encode(
JNIEnv*env,
jclass cls,
jlong编码器\u上下文\u指针,
已解码的字节数组,
琼隆时间
) {
EncoderContext*编码器上下文=(EncoderContext*)编码器上下文指针;
x264最后一页*pp最后一页;
国际货币基金组织;
x264_picture_t picture_out;
int frame_size=x264_编码器_编码(
编码器\u上下文->x264\u编码器,
&最后,
&皮纳尔,
&编码器\u上下文->图片\u中,
&想象
);
返回NULL;
}

在我看来,我考虑了示例中推荐的所有内容,但显然不是这样。我还相信该方法是有效的,因为我收到了一个带有预期数据的数组作为响应。

对于
picture\u out
,您在哪里调用
x264\u picture\u alloc
?如果它只在本次迭代中存在,那么在退出时也应该调用
x264\u picture\u clean