diff mbox series

[FFmpeg-devel] avcodec/mediacodecdec_common: stop the codec before releasing it

Message ID 20220330204239.212305-1-matthieu.bouron@gmail.com
State New
Headers show
Series [FFmpeg-devel] avcodec/mediacodecdec_common: stop the codec before releasing it | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_aarch64_jetson success Make finished
andriy/make_fate_aarch64_jetson success Make fate finished
andriy/make_armv7_RPi4 success Make finished
andriy/make_fate_armv7_RPi4 success Make fate finished

Commit Message

Matthieu Bouron March 30, 2022, 8:42 p.m. UTC
Fixes the following warnings/errors on codec release:

E/BufferQueueProducer: [SurfaceTexture-0-31763-0](id:7c1300000001,api:3,p:31763,c:31763) detachBuffer: slot 0 is not owned by the producer (state = FREE)
E/BufferQueueProducer: [SurfaceTexture-0-31763-0](id:7c1300000001,api:3,p:31763,c:31763) detachBuffer: slot 1 is not owned by the producer (state = FREE)
E/BufferQueueProducer: [SurfaceTexture-0-31763-0](id:7c1300000001,api:3,p:31763,c:31763) detachBuffer: slot 2 is not owned by the producer (state = FREE)
[...]
---
 libavcodec/mediacodecdec_common.c | 1 +
 1 file changed, 1 insertion(+)
diff mbox series

Patch

diff --git a/libavcodec/mediacodecdec_common.c b/libavcodec/mediacodecdec_common.c
index cb18aed401..d99881c11f 100644
--- a/libavcodec/mediacodecdec_common.c
+++ b/libavcodec/mediacodecdec_common.c
@@ -232,6 +232,7 @@  static void ff_mediacodec_dec_unref(MediaCodecDecContext *s)
 
     if (atomic_fetch_sub(&s->refcount, 1) == 1) {
         if (s->codec) {
+            ff_AMediaCodec_stop(s->codec);
             ff_AMediaCodec_delete(s->codec);
             s->codec = NULL;
         }