summaryrefslogtreecommitdiff
path: root/ffplay.c
diff options
context:
space:
mode:
authorMarton Balint <cus@passwd.hu>2012-05-24 23:22:59 +0200
committerMarton Balint <cus@passwd.hu>2012-05-24 23:48:52 +0200
commitc2e8691c07ca52de7b6b00ba8f2b30c56fd786d7 (patch)
tree243dcf7017bda522a970934cfe355eab52b52960 /ffplay.c
parenta687acbbf0869def24f516b0147e9ff93695c347 (diff)
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>
Diffstat (limited to 'ffplay.c')
-rw-r--r--ffplay.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/ffplay.c b/ffplay.c
index 40647ac977..6bd3460769 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -1915,6 +1915,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);