Hi, On Sun, Sep 27, 2015 at 9:13 PM, Michael Niedermayer <michae...@gmx.at> wrote:
> From: Michael Niedermayer <mich...@niedermayer.cc> > > Fixes deadlock with threads > > Found-by: Paul B Mahol > Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > --- > libavcodec/pngdec.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c > index ee11f12..743144b 100644 > --- a/libavcodec/pngdec.c > +++ b/libavcodec/pngdec.c > @@ -1217,6 +1217,7 @@ exit_loop: > } > } > ff_thread_report_progress(&s->picture, INT_MAX, 0); > + ff_thread_report_progress(&s->previous_picture, INT_MAX, 0); > > av_frame_set_metadata(p, metadata); > metadata = NULL; > @@ -1225,6 +1226,7 @@ exit_loop: > fail: > av_dict_free(&metadata); > ff_thread_report_progress(&s->picture, INT_MAX, 0); > + ff_thread_report_progress(&s->previous_picture, INT_MAX, 0); > return ret; > } > > -- > 1.7.9.5 So I directly admit I didn't look very deep, so I may be missing something terribly obvious, but uhm. Shouldn't we mark previous_picture as done when it's current? Why mark it as done in the frame after? Ronald _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel