diff options
author | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-04-21 16:57:43 +0200 |
---|---|---|
committer | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-04-21 16:57:43 +0200 |
commit | 837894b153407936105bf5b358f235b6600bbd42 (patch) | |
tree | 873a4d8dffc74da11fcc387fc31eeefdee9e4a0f /src | |
parent | 4c626f20165720587630525ebf86133fb2ad8b51 (diff) | |
download | xine-lib-837894b153407936105bf5b358f235b6600bbd42.tar.gz xine-lib-837894b153407936105bf5b358f235b6600bbd42.tar.bz2 |
Add support for MDHD version 1 atom in demux_qt. [bug #1679398]
Diffstat (limited to 'src')
-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 f837a2272..0624dc673 100644 --- a/src/demuxers/demux_qt.c +++ b/src/demuxers/demux_qt.c @@ -918,9 +918,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 |