mpegts_get_pcr: dont loose a packet when resyncing
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 18 Aug 2013 20:31:19 +0000 (22:31 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 18 Aug 2013 20:48:19 +0000 (22:48 +0200)
This matches how read_packet() works

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/mpegts.c

index 9cff528..db564b3 100644 (file)
@@ -2324,6 +2324,7 @@ static av_unused int64_t mpegts_get_pcr(AVFormatContext *s, int stream_index,
         if (avio_read(s->pb, buf, TS_PACKET_SIZE) != TS_PACKET_SIZE)
             return AV_NOPTS_VALUE;
         if (buf[0] != 0x47) {
+            avio_seek(s->pb, -TS_PACKET_SIZE, SEEK_CUR);
             if (mpegts_resync(s) < 0)
                 return AV_NOPTS_VALUE;
             pos = avio_tell(s->pb);