aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2012-09-25 08:08:28 +0200
committerLuca Barbato <lu_zero@gentoo.org>2012-09-25 12:03:23 +0200
commit7a1a9dd56cb4cafad054bf6d65b21bb24d31c544 (patch)
tree24563e317c897ef431d5239d99b1f72373cd6fd8 /libavcodec
parentc8ba8be27e3230c674f2b5a772cfa1da6d7172ab (diff)
downloadffmpeg-7a1a9dd56cb4cafad054bf6d65b21bb24d31c544.tar.gz
pthread: make sure AVFrame.extended_data is set properly.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/pthread.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/pthread.c b/libavcodec/pthread.c
index e0489acffb..0496257fde 100644
--- a/libavcodec/pthread.c
+++ b/libavcodec/pthread.c
@@ -377,6 +377,10 @@ static attribute_align_arg void *frame_worker_thread(void *arg)
p->got_frame = 0;
p->result = codec->decode(avctx, &p->frame, &p->got_frame, &p->avpkt);
+ /* many decoders assign whole AVFrames, thus overwriting extended_data;
+ * make sure it's set correctly */
+ p->frame.extended_data = p->frame.data;
+
if (p->state == STATE_SETTING_UP) ff_thread_finish_setup(avctx);
p->state = STATE_INPUT_READY;