summaryrefslogtreecommitdiff
path: root/libavcodec/pthread.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-09-25 16:11:34 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-09-25 16:11:34 +0200
commitabcaacf1acb4c7d7c2df5718fd56a714d4998305 (patch)
treee1d7a138ddab9f9863d792719aa349a73f79f2fa /libavcodec/pthread.c
parentd3ef2da59df2bf65bea0ae7b519625c51c6f21dc (diff)
parent7a1a9dd56cb4cafad054bf6d65b21bb24d31c544 (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: pthread: make sure AVFrame.extended_data is set properly. libfdk-aac: reindent after last commit libfdk-aac: Limit to supported sample rates. cbrt_tablegen: Include libm.h oggparsetheora: make it more robust ogg: prevent NULL pointer deference in theora gptopts Conflicts: libavformat/oggparsetheora.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/pthread.c')
-rw-r--r--libavcodec/pthread.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/pthread.c b/libavcodec/pthread.c
index e951032722..c0a872eba0 100644
--- a/libavcodec/pthread.c
+++ b/libavcodec/pthread.c
@@ -387,6 +387,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);
pthread_mutex_lock(&p->progress_mutex);