summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2007-04-21 16:57:43 +0200
committerDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2007-04-21 16:57:43 +0200
commit837894b153407936105bf5b358f235b6600bbd42 (patch)
tree873a4d8dffc74da11fcc387fc31eeefdee9e4a0f /src
parent4c626f20165720587630525ebf86133fb2ad8b51 (diff)
downloadxine-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.c12
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