[FFmpeg-devel] [PATCH] gifdec: do not handle timestamps
Paul B Mahol
onemda at gmail.com
Sat Dec 1 12:45:35 CET 2012
It is broken, and results will be messed up when seeking.
This also fix duration displayed for stream when using -c copy.
Signed-off-by: Paul B Mahol <onemda at gmail.com>
---
libavformat/gifdec.c | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/libavformat/gifdec.c b/libavformat/gifdec.c
index 46eef7c..4f4ce2c 100644
--- a/libavformat/gifdec.c
+++ b/libavformat/gifdec.c
@@ -44,8 +44,6 @@ typedef struct GIFDemuxContext {
*/
int min_delay;
int default_delay;
- int total_duration; ///< In hundredths of second.
- int frame_idx;
} GIFDemuxContext;
/**
@@ -190,9 +188,6 @@ static int gif_read_packet(AVFormatContext *s, AVPacket *pkt)
if ((ret = avio_skip(pb, ct_size)) < 0)
return ret;
}
-
- gdc->total_duration = 0;
- gdc->frame_idx = 0;
} else {
avio_seek(pb, -ret, SEEK_CUR);
ret = AVERROR_EOF;
@@ -239,15 +234,11 @@ static int gif_read_packet(AVFormatContext *s, AVPacket *pkt)
pkt->flags |= AV_PKT_FLAG_KEY;
pkt->stream_index = 0;
- pkt->pts = gdc->total_duration;
- gdc->total_duration += gdc->delay;
pkt->duration = gdc->delay;
- pkt->dts = gdc->frame_idx;
/* Graphic Control Extension's scope is single frame.
* Remove its influence. */
gdc->delay = gdc->default_delay;
- gdc->frame_idx++;
frame_parsed = 1;
break;
--
1.7.11.4
More information about the ffmpeg-devel
mailing list