[FFmpeg-devel] [PATCH] Enable generic index/seeking for mgsts demuxer.

Reimar Döffinger Reimar.Doeffinger at gmx.de
Sun Mar 25 13:27:18 CEST 2012


This depends on the proposed parser change for 0-size packets
in previous mail, otherwise video now plays far too fast.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
---
 libavformat/mgsts.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/libavformat/mgsts.c b/libavformat/mgsts.c
index 3377d07..dec6bfc 100644
--- a/libavformat/mgsts.c
+++ b/libavformat/mgsts.c
@@ -50,6 +50,7 @@ static int read_header(AVFormatContext *s)
     if (!st)
         return AVERROR(ENOMEM);
 
+    st->need_parsing = AVSTREAM_PARSE_HEADERS;
     st->start_time = 0;
     st->nb_frames  =
     st->duration   = avio_rb32(pb);
@@ -88,6 +89,7 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
     if (ret < 0)
         return ret;
 
+    pkt->pos -= 16;
     pkt->duration = 1;
     avio_skip(pb, chunk_size - (ret + 16));
 
@@ -100,4 +102,5 @@ AVInputFormat ff_mgsts_demuxer = {
     .read_probe  = read_probe,
     .read_header = read_header,
     .read_packet = read_packet,
+    .flags       = AVFMT_GENERIC_INDEX,
 };
-- 
1.7.9.1



More information about the ffmpeg-devel mailing list