OSDN Git Service

set pkt duration, only when dts == pts though,
authorHenrik Gulbrandsen <henrik@gulbra.net>
Sat, 26 Apr 2008 17:51:02 +0000 (17:51 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Sat, 26 Apr 2008 17:51:02 +0000 (17:51 +0000)
patch by Henrik Gulbrandsen henrik at gulbra dot net

Originally committed as revision 13003 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/mov.c

index 9406c4e..611d547 100644 (file)
@@ -1812,6 +1812,10 @@ static int mov_read_packet(AVFormatContext *s, AVPacket *pkt)
             sc->sample_to_ctime_sample = 0;
         }
     } else {
+        AVStream *st = s->streams[sc->ffindex];
+        int64_t next_dts = (sc->current_sample < sc->sample_count) ?
+            st->index_entries[sc->current_sample].timestamp : st->duration;
+        pkt->duration = next_dts - pkt->dts;
         pkt->pts = pkt->dts;
     }
     pkt->flags |= sample->flags & AVINDEX_KEYFRAME ? PKT_FLAG_KEY : 0;