[FFmpeg-cvslog] ffplay: flush codec buffers before freeing filters

Marton Balint git at videolan.org
Sun May 27 16:06:34 CEST 2012


ffmpeg | branch: master | Marton Balint <cus at passwd.hu> | Thu May 24 23:22:59 2012 +0200| [c2e8691c07ca52de7b6b00ba8f2b30c56fd786d7] | committer: Marton Balint

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 at passwd.hu>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c2e8691c07ca52de7b6b00ba8f2b30c56fd786d7
---

 ffplay.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/ffplay.c b/ffplay.c
index 40647ac..6bd3460 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);



More information about the ffmpeg-cvslog mailing list