diff options
author | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-04-21 16:58:52 +0200 |
---|---|---|
committer | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-04-21 16:58:52 +0200 |
commit | f53eb0c49bfbb53164c8e4507635435d6e0654fe (patch) | |
tree | 2e346094e139a8dfa869b2b4405ab2e785a18a63 /src/demuxers | |
parent | 8eaab6c32431f588378d25e6dbaa9252f7ad4887 (diff) | |
parent | 837894b153407936105bf5b358f235b6600bbd42 (diff) | |
download | xine-lib-f53eb0c49bfbb53164c8e4507635435d6e0654fe.tar.gz xine-lib-f53eb0c49bfbb53164c8e4507635435d6e0654fe.tar.bz2 |
Merge from 1.1 branch.
Diffstat (limited to 'src/demuxers')
-rw-r--r-- | src/demuxers/demux_qt.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/demuxers/demux_qt.c b/src/demuxers/demux_qt.c index aca94f73d..cff4c48f9 100644 --- a/src/demuxers/demux_qt.c +++ b/src/demuxers/demux_qt.c @@ -916,9 +916,15 @@ static qt_error parse_trak_atom (qt_trak *trak, trak->edit_list_table[j].media_time); } - } else if (current_atom == MDHD_ATOM) - trak->timescale = BE_32(&trak_atom[i + 0x10]); - else if (current_atom == STSD_ATOM) { + } else if (current_atom == MDHD_ATOM) { + int version; + debug_atom_load ("demux_qt: mdhd atom\n"); + + version = trak_atom[i+4]; + if ( version > 1 ) continue; /* unsupported, undocumented */ + + trak->timescale = BE_32(&trak_atom[i + (version == 0 ? 0x10 : 0x18) ]); + } else if (current_atom == STSD_ATOM) { debug_atom_load ("demux_qt: stsd atom\n"); #if DEBUG_ATOM_LOAD |