[FFmpeg-cvslog] hls: Reset the AVIOContext when seeking

Martin Storsjö git at videolan.org
Tue Feb 21 05:29:38 CET 2012


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Fri Jan 20 16:29:09 2012 +0200| [a4f97be1a9ed80f47ca93ebfc5faaaba658250c9] | committer: Martin Storsjö

hls: Reset the AVIOContext when seeking

This avoids reading any old data in the AVIOContext buffer after
the seek, and indicates to the mpegts demuxer that we've seeked,
avoiding continuity check errors.

Signed-off-by: Martin Storsjö <martin at martin.st>

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

 libavformat/hls.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/libavformat/hls.c b/libavformat/hls.c
index c4046f2..e876735 100644
--- a/libavformat/hls.c
+++ b/libavformat/hls.c
@@ -708,6 +708,10 @@ static int hls_read_seek(AVFormatContext *s, int stream_index,
         av_free_packet(&var->pkt);
         reset_packet(&var->pkt);
         var->pb.eof_reached = 0;
+        /* Clear any buffered data */
+        var->pb.buf_end = var->pb.buf_ptr = var->pb.buffer;
+        /* Reset the pos, to let the mpegts demuxer know we've seeked. */
+        var->pb.pos = 0;
 
         /* Locate the segment that contains the target timestamp */
         for (j = 0; j < var->n_segments; j++) {



More information about the ffmpeg-cvslog mailing list