ffmpeg | branch: master | wm4 <nfx...@googlemail.com> | Fri Nov 6 13:02:16 2015 +0100| [a55fbfa4c4967068a9c37f041110ace9fb633d4e] | committer: wm4
mmaldec: correct package buffering accounting The assert in ffmmal_stop_decoder() could trigger sometimes. The packets_buffered counter was indeed not correctly maintained, and packets were not subtracted from it if they were still in the waiting queue. For some reason, this happened especially with VC-1. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a55fbfa4c4967068a9c37f041110ace9fb633d4e --- libavcodec/mmaldec.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/mmaldec.c b/libavcodec/mmaldec.c index 8d74b3f..d419096 100644 --- a/libavcodec/mmaldec.c +++ b/libavcodec/mmaldec.c @@ -160,6 +160,9 @@ static void ffmmal_stop_decoder(AVCodecContext *avctx) ctx->waiting_buffers = buffer->next; + if (buffer->flags & MMAL_BUFFER_HEADER_FLAG_FRAME_END) + avpriv_atomic_int_add_and_fetch(&ctx->packets_buffered, -1); + av_buffer_unref(&buffer->ref); av_free(buffer); } _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog