From 26846ba5151b0fe90e21c1a6beb9a3bcb569d1ac Mon Sep 17 00:00:00 2001 From: Baptiste Coudurier Date: Tue, 26 Feb 2008 18:27:21 +0000 Subject: support keyframes indexes starting at 0, broken files created by omneon, fix ref.mov seeking Originally committed as revision 12242 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/mov.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index 2e57915084..71ddc6ab26 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -1389,6 +1389,7 @@ static void mov_build_index(MOVContext *mov, AVStream *st) unsigned int stts_sample = 0; unsigned int keyframe, sample_size; unsigned int distance = 0; + int key_off = sc->keyframes && sc->keyframes[0] == 1; st->nb_frames = sc->sample_count; for (i = 0; i < sc->chunk_count; i++) { @@ -1401,7 +1402,7 @@ static void mov_build_index(MOVContext *mov, AVStream *st) av_log(mov->fc, AV_LOG_ERROR, "wrong sample count\n"); goto out; } - keyframe = !sc->keyframe_count || current_sample + 1 == sc->keyframes[stss_index]; + keyframe = !sc->keyframe_count || current_sample+key_off == sc->keyframes[stss_index]; if (keyframe) { distance = 0; if (stss_index + 1 < sc->keyframe_count) -- cgit v1.2.1