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>
This commit is contained in:
Marton Balint 2012-05-24 23:22:59 +02:00
parent a687acbbf0
commit c2e8691c07

View File

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