summaryrefslogtreecommitdiff
path: root/libavcodec/mediacodec_wrapper.c
diff options
context:
space:
mode:
authorMatthieu Bouron <matthieu.bouron@gmail.com>2020-04-09 16:53:21 +0200
committerMatthieu Bouron <matthieu.bouron@gmail.com>2020-04-15 09:43:16 +0200
commit5216edbc54c79869ce630579199e53454f96df96 (patch)
tree425050f32c08eba4b3cc3983d047eea2bf1b5732 /libavcodec/mediacodec_wrapper.c
parent51db0a472a0517ce76bb97cac56d3d40c5a009bf (diff)
avcodec/mediacodec_wrapper: fix {input,output}_buffers global reference leak
Fixes ticket #8607. Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Diffstat (limited to 'libavcodec/mediacodec_wrapper.c')
-rw-r--r--libavcodec/mediacodec_wrapper.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libavcodec/mediacodec_wrapper.c b/libavcodec/mediacodec_wrapper.c
index 5213cf640a..79abc8b6aa 100644
--- a/libavcodec/mediacodec_wrapper.c
+++ b/libavcodec/mediacodec_wrapper.c
@@ -1303,6 +1303,12 @@ int ff_AMediaCodec_delete(FFAMediaCodec* codec)
ret = AVERROR_EXTERNAL;
}
+ (*env)->DeleteGlobalRef(env, codec->input_buffers);
+ codec->input_buffers = NULL;
+
+ (*env)->DeleteGlobalRef(env, codec->output_buffers);
+ codec->output_buffers = NULL;
+
(*env)->DeleteGlobalRef(env, codec->object);
codec->object = NULL;