[FFmpeg-cvslog] lavf/mov: fix timecode track reference usage.

Clément Bœsch git at videolan.org
Tue Jan 1 16:22:29 CET 2013


ffmpeg | branch: master | Clément Bœsch <ubitux at gmail.com> | Tue Jan  1 16:15:39 2013 +0100| [c14f8a52b0aa40bdb9a6c6e692b3b0cef6c5cf3e] | committer: Clément Bœsch

lavf/mov: fix timecode track reference usage.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c14f8a52b0aa40bdb9a6c6e692b3b0cef6c5cf3e
---

 libavformat/mov.c |   10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 97edcd3..2d73326 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -3128,7 +3128,7 @@ static int mov_read_header(AVFormatContext *s)
 {
     MOVContext *mov = s->priv_data;
     AVIOContext *pb = s->pb;
-    int i, err;
+    int i, j, err;
     MOVAtom atom = { AV_RL32("root") };
 
     mov->fc = s;
@@ -3165,9 +3165,13 @@ static int mov_read_header(AVFormatContext *s)
         MOVStreamContext *sc = st->priv_data;
         if (sc->timecode_track > 0) {
             AVDictionaryEntry *tcr;
-            int tmcd_st_id = sc->timecode_track - 1;
+            int tmcd_st_id = -1;
 
-            if (tmcd_st_id < 0 || tmcd_st_id >= s->nb_streams)
+            for (j = 0; j < s->nb_streams; j++)
+                if (s->streams[j]->id == sc->timecode_track)
+                    tmcd_st_id = j;
+
+            if (tmcd_st_id < 0)
                 continue;
             tcr = av_dict_get(s->streams[tmcd_st_id]->metadata, "timecode", NULL, 0);
             if (tcr)



More information about the ffmpeg-cvslog mailing list