From 837894b153407936105bf5b358f235b6600bbd42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20=27Flameeyes=27=20Petten=C3=B2?= Date: Sat, 21 Apr 2007 16:57:43 +0200 Subject: Add support for MDHD version 1 atom in demux_qt. [bug #1679398] --- ChangeLog | 1 + src/demuxers/demux_qt.c | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4759efe4e..8dc98f713 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,6 @@ xine-lib (1.1.7) (unreleased) * Support libdca (new name for libdts) by shuffling around the dts.h file. + * Add support for MDHD version 1 atom in demux_qt. [bug #1679398] xine-lib (1.1.6) * Split the DirectFB plugin into X11 and non-X versions. 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 -- cgit v1.2.3