On Tue, 25 Apr 2017 23:52:04 +0700
Muhammad Faiz <mfc...@gmail.com> wrote:

> 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 <mfc...@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;

Well, the logic confuses me. Does this override an earlier set err
value? Could err be set to the correct value in the first place (inside
of the loop)?
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to