From 6c469dc9d9dde10bd284015548122985712535a9 Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 30 Oct 2014 22:50:44 +0100 Subject: demux_lavf, stream_lavf: drop local buffers on time-seeks There was chance that some data was left in various local buffers after time-seeks. Probably doesn't actually matter. --- demux/demux_lavf.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'demux') diff --git a/demux/demux_lavf.c b/demux/demux_lavf.c index d1158619b7..e6b62adb12 100644 --- a/demux/demux_lavf.c +++ b/demux/demux_lavf.c @@ -189,8 +189,11 @@ static int64_t mp_read_seek(void *opaque, int stream_idx, int64_t ts, int flags) .flags = flags, }; - int ret = stream_control(stream, STREAM_CTRL_AVSEEK, &cmd); - return ret < 1 ? AVERROR(ENOSYS) : 0; + if (stream_control(stream, STREAM_CTRL_AVSEEK, &cmd) == STREAM_OK) { + stream_drop_buffers(stream); + return 0; + } + return AVERROR(ENOSYS); } static void list_formats(struct demuxer *demuxer) -- cgit v1.2.3