[FFmpeg-devel] [PATCH] pthread_frame: set err from the thread that return frame

Muhammad Faiz mfcc64 at gmail.com
Tue Apr 25 19:52:04 EEST 2017


when frame is received, not from other threads.

Should fix fate failure with THREADS>=4:
  make fate-h264-attachment-631 THREADS=4

Signed-off-by: Muhammad Faiz <mfcc64 at gmail.com>
---
 libavcodec/pthread_frame.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c
index 13d6828..c452ed7 100644
--- a/libavcodec/pthread_frame.c
+++ b/libavcodec/pthread_frame.c
@@ -547,6 +547,10 @@ int ff_thread_decode_frame(AVCodecContext *avctx,
 
     fctx->next_finished = finished;
 
+    /* if frame is returned, properly set err from the thread that return frame */
+    if (*got_picture_ptr)
+        err = p->result;
+
     /* return the size of the consumed packet if no error occurred */
     if (err >= 0)
         err = avpkt->size;
-- 
2.9.3



More information about the ffmpeg-devel mailing list