[FFmpeg-cvslog] avformat/hls: flush the subdemuxer when seeking
Anssi Hannula
git at videolan.org
Sun Apr 6 16:56:43 CEST 2014
ffmpeg | branch: master | Anssi Hannula <anssi.hannula at iki.fi> | Fri Jan 3 13:52:20 2014 +0200| [f29cb45bf2cf3748968959a37174675bd917bf1c] | committer: Anssi Hannula
avformat/hls: flush the subdemuxer when seeking
Since we are basically seeking the AVIOContext under the subdemuxer, we
need to flush the subdemuxer to avoid old packets from being read from
the packet queue after the seek.
Signed-off-by: Anssi Hannula <anssi.hannula at iki.fi>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f29cb45bf2cf3748968959a37174675bd917bf1c
---
libavformat/hls.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libavformat/hls.c b/libavformat/hls.c
index e4770ab..e50220b 100644
--- a/libavformat/hls.c
+++ b/libavformat/hls.c
@@ -1629,6 +1629,8 @@ static int hls_read_seek(AVFormatContext *s, int stream_index,
pls->pb.buf_end = pls->pb.buf_ptr = pls->pb.buffer;
/* Reset the pos, to let the mpegts demuxer know we've seeked. */
pls->pb.pos = 0;
+ /* Flush the packet queue of the subdemuxer. */
+ ff_read_frame_flush(pls->ctx);
pls->seek_timestamp = seek_timestamp;
pls->seek_flags = flags;
More information about the ffmpeg-cvslog
mailing list