[FFmpeg-cvslog] mpegpsdec: fix reading first mpegps packet

Arne de Bruijn git at videolan.org
Sun Sep 18 02:01:07 CEST 2011


ffmpeg | branch: master | Arne de Bruijn <mail at arnedebruijn.nl> | Sat Sep 17 14:59:00 2011 +0200| [b2f230e23dd61112ac090b0c059d87b5f6bcb307] | committer: Michael Niedermayer

mpegpsdec: fix reading first mpegps packet

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

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

diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c
index dc5d264..c58e072 100644
--- a/libavformat/mpeg.c
+++ b/libavformat/mpeg.c
@@ -106,6 +106,7 @@ static int mpegps_read_header(AVFormatContext *s,
     MpegDemuxContext *m = s->priv_data;
     const char *sofdec = "Sofdec";
     int v, i = 0;
+    int64_t last_pos = avio_tell(s->pb);
 
     m->header_state = 0xff;
     s->ctx_flags |= AVFMTCTX_NOHEADER;
@@ -119,6 +120,9 @@ static int mpegps_read_header(AVFormatContext *s,
 
     m->sofdec = (m->sofdec == 6) ? 1 : 0;
 
+    if (!m->sofdec)
+       avio_seek(s->pb, last_pos, SEEK_SET);
+
     /* no need to do more */
     return 0;
 }



More information about the ffmpeg-cvslog mailing list