Module: libav Branch: master Commit: 97ae370078e5ee8e78269fe4d7b4f457e82bd758
Author: Dale Curtis <[email protected]> Committer: Ronald S. Bultje <[email protected]> Date: Thu Apr 12 17:12:27 2012 -0700 pthread: Fix crash due to fctx->delaying not being cleared. Reproducible with test case and ffplay -threads 2. Stack trace: http://pastebin.com/PexZ4Uc0 Test case: http://commondatastorage.googleapis.com/dalecurtis-shared/crash.ogm Signed-off-by: Dale Curtis <[email protected]> Signed-off-by: Ronald S. Bultje <[email protected]> --- libavcodec/pthread.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/pthread.c b/libavcodec/pthread.c index ee7bdb5..dc9220a 100644 --- a/libavcodec/pthread.c +++ b/libavcodec/pthread.c @@ -603,11 +603,12 @@ int ff_thread_decode_frame(AVCodecContext *avctx, * If we're still receiving the initial packets, don't return a frame. */ - if (fctx->delaying && avpkt->size) { + if (fctx->delaying) { if (fctx->next_decoding >= (avctx->thread_count-1)) fctx->delaying = 0; *got_picture_ptr=0; - return avpkt->size; + if (avpkt->size) + return avpkt->size; } /* _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
