[FFmpeg-cvslog] mpegts: Attempt to seek back to beginning in non-seekable mpegts files.

Petter Ericson git at videolan.org
Mon Oct 10 14:48:50 CEST 2011


ffmpeg | branch: master | Petter Ericson <petter.ericson at codemill.se> | Mon Oct 10 14:22:11 2011 +0200| [1fb30586cfe2597491ca814cca0cc6ef87c9346d] | committer: Michael Niedermayer

mpegts: Attempt to seek back to beginning in non-seekable mpegts files.

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

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

diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index 7b4771b..01c44a0 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -1563,7 +1563,10 @@ static int mpegts_read_header(AVFormatContext *s,
         /* normal demux */
 
         /* first do a scaning to get all the services */
-        if (pb->seekable && avio_seek(pb, pos, SEEK_SET) < 0)
+        /* NOTE: We attempt to seek on non-seekable files as well, as the
+         * probe buffer usually is big enough. Only warn if the seek failed
+         * on files where the seek should work. */
+        if (avio_seek(pb, pos, SEEK_SET) < 0)
             av_log(s, AV_LOG_ERROR, "Unable to seek back to the start\n");
 
         mpegts_open_section_filter(ts, SDT_PID, sdt_cb, ts, 1);



More information about the ffmpeg-cvslog mailing list