summaryrefslogtreecommitdiff
path: root/libavcodec/pthread_frame.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-03-01 13:26:47 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-03-01 13:26:51 +0100
commita22907e9ea7f89f268cd38071fbacad6c394e80b (patch)
tree21043354b5ed88733649eb2b63c664911a3dc415 /libavcodec/pthread_frame.c
parentf0ce3854fda36fd67b59421aec939f32a4910515 (diff)
parentd1f9563d502037239185c11578cc614bdf0c5870 (diff)
Merge commit 'd1f9563d502037239185c11578cc614bdf0c5870'
* commit 'd1f9563d502037239185c11578cc614bdf0c5870': pthread_frame: flush all threads on flush, not just the first one Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/pthread_frame.c')
-rw-r--r--libavcodec/pthread_frame.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c
index 42a3c9b247..d7479d2142 100644
--- a/libavcodec/pthread_frame.c
+++ b/libavcodec/pthread_frame.c
@@ -727,8 +727,6 @@ void ff_thread_flush(AVCodecContext *avctx)
if (fctx->prev_thread) {
if (fctx->prev_thread != &fctx->threads[0])
update_context_from_thread(fctx->threads[0].avctx, fctx->prev_thread->avctx, 0);
- if (avctx->codec->flush)
- avctx->codec->flush(fctx->threads[0].avctx);
}
fctx->next_decoding = fctx->next_finished = 0;
@@ -741,6 +739,9 @@ void ff_thread_flush(AVCodecContext *avctx)
av_frame_unref(p->frame);
release_delayed_buffers(p);
+
+ if (avctx->codec->flush)
+ avctx->codec->flush(p->avctx);
}
}