mimic: do not release the newly obsolete reference at the end of decoding
authorAnton Khirnov <anton@khirnov.net>
Mon, 25 Jul 2016 11:52:59 +0000 (13:52 +0200)
committerAnton Khirnov <anton@khirnov.net>
Fri, 29 Jul 2016 13:59:48 +0000 (15:59 +0200)
The reference frames are used in update_thread_context(), so modifying
them after finish_setup() is a race. The frame in question will be
released during the next decode call.

CC: libav-stable@libav.org
libavcodec/mimic.c

index 6f43723..d7723a8 100644 (file)
@@ -445,9 +445,6 @@ static int mimic_decode_frame(AVCodecContext *avctx, void *data,
     ctx->prev_index = ctx->next_prev_index;
     ctx->cur_index  = ctx->next_cur_index;
 
-    /* Only release frames that aren't used for backreferences anymore */
-    ff_thread_release_buffer(avctx, &ctx->frames[ctx->cur_index]);
-
     return buf_size;
 }