[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