From 5f0bb0baefd506d684adfa1ad4259c65973b455e Mon Sep 17 00:00:00 2001 From: Yusuke Nakamura Date: Thu, 12 May 2011 05:28:27 +0900 Subject: [PATCH] mov: Support edit list atom version 1. Signed-off-by: Diego Biurrun --- libavformat/isom.h | 2 +- libavformat/mov.c | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/libavformat/isom.h b/libavformat/isom.h index 48e0bcf9e2..ef3fe1484f 100644 --- a/libavformat/isom.h +++ b/libavformat/isom.h @@ -109,7 +109,7 @@ typedef struct MOVStreamContext { unsigned int keyframe_count; int *keyframes; int time_scale; - int time_offset; ///< time offset of the first edit list entry + int64_t time_offset; ///< time offset of the first edit list entry int current_sample; unsigned int bytes_per_frame; unsigned int samples_per_frame; diff --git a/libavformat/mov.c b/libavformat/mov.c index 90f583f81b..cede1f751a 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -2163,13 +2163,13 @@ free_and_return: static int mov_read_elst(MOVContext *c, AVIOContext *pb, MOVAtom atom) { MOVStreamContext *sc; - int i, edit_count; + int i, edit_count, version; if (c->fc->nb_streams < 1) return 0; sc = c->fc->streams[c->fc->nb_streams-1]->priv_data; - avio_r8(pb); /* version */ + version = avio_r8(pb); /* version */ avio_rb24(pb); /* flags */ edit_count = avio_rb32(pb); /* entries */ @@ -2177,9 +2177,15 @@ static int mov_read_elst(MOVContext *c, AVIOContext *pb, MOVAtom atom) return -1; for(i=0; i= -1) { sc->time_offset = time != -1 ? time : -duration; -- 2.11.0