[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