Browse Source

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@martin.st>
tags/n0.11
Martin Storsjö 13 years ago
parent
commit
a4f97be1a9
1 changed files with 4 additions and 0 deletions
  1. +4
    -0
      libavformat/hls.c

+ 4
- 0
libavformat/hls.c View File

@@ -708,6 +708,10 @@ static int hls_read_seek(AVFormatContext *s, int stream_index,
av_free_packet(&var->pkt); av_free_packet(&var->pkt);
reset_packet(&var->pkt); reset_packet(&var->pkt);
var->pb.eof_reached = 0; 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 */ /* Locate the segment that contains the target timestamp */
for (j = 0; j < var->n_segments; j++) { for (j = 0; j < var->n_segments; j++) {


Loading…
Cancel
Save