ffplay: flush codec buffers before freeing filters

We do this to ensure that input_get_buffer is not called from a
frame_worker_thread of a multithreaded decoder when we already freed the
filters.

Fixes occasional segfaults on video stream change.

Signed-off-by: Marton Balint <cus@passwd.hu>
(cherry picked from commit c2e8691c07ca52de7b6b00ba8f2b30c56fd786d7)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Marton Balint 2012-05-24 23:22:59 +02:00 committed by Michael Niedermayer
parent 727749d30f
commit f6c3fe94da

View File

@ -1921,6 +1921,7 @@ static int video_thread(void *arg)
stream_toggle_pause(is);
}
the_end:
avcodec_flush_buffers(is->video_st->codec);
#if CONFIG_AVFILTER
av_freep(&vfilters);
avfilter_graph_free(&graph);