Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnssi Hannula <anssi.hannula@iki.fi>2014-01-03 15:52:20 +0400
committerAnssi Hannula <anssi.hannula@iki.fi>2014-04-06 18:55:04 +0400
commitf29cb45bf2cf3748968959a37174675bd917bf1c (patch)
tree81d693e654de25fbf9a9d374647066f747ec7a82 /libavformat/hls.c
parent9aa0606e87a221eba935ed675c1cd5ca94832e28 (diff)
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@iki.fi>
Diffstat (limited to 'libavformat/hls.c')
-rw-r--r--libavformat/hls.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libavformat/hls.c b/libavformat/hls.c
index e4770ab33b..e50220b0b2 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;