mirror of https://git.ffmpeg.org/ffmpeg.git
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.
This commit is contained in:
parent
b07cbf6724
commit
a55fbfa4c4
|
@ -160,6 +160,9 @@ static void ffmmal_stop_decoder(AVCodecContext *avctx)
|
||||||
|
|
||||||
ctx->waiting_buffers = buffer->next;
|
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_buffer_unref(&buffer->ref);
|
||||||
av_free(buffer);
|
av_free(buffer);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue