OSDN Git Service

pthread: make sure AVFrame.extended_data is set properly.
authorAnton Khirnov <anton@khirnov.net>
Tue, 25 Sep 2012 06:08:28 +0000 (08:08 +0200)
committerLuca Barbato <lu_zero@gentoo.org>
Tue, 25 Sep 2012 10:03:23 +0000 (12:03 +0200)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
libavcodec/pthread.c

index e0489ac..0496257 100644 (file)
@@ -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;