diff options
author | Mike Melanson <mike@multimedia.cx> | 2005-03-06 07:18:04 +0000 |
---|---|---|
committer | Mike Melanson <mike@multimedia.cx> | 2005-03-06 07:18:04 +0000 |
commit | 165688f7f7edba241816df6e57b43df8e4b1d4e6 (patch) | |
tree | b4e468fc91907a014f46007ff68f3968a22d4b06 | |
parent | 5f7ace5152f4d3a1b173cacf171941fcd433bd72 (diff) | |
download | xine-lib-165688f7f7edba241816df6e57b43df8e4b1d4e6.tar.gz xine-lib-165688f7f7edba241816df6e57b43df8e4b1d4e6.tar.bz2 |
special-case time in order to support ALAC (when it gets imported from
FFmpeg)
CVS patchset: 7429
CVS date: 2005/03/06 07:18:04
-rw-r--r-- | src/demuxers/demux_qt.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/demuxers/demux_qt.c b/src/demuxers/demux_qt.c index 778a047ad..27b5ebacb 100644 --- a/src/demuxers/demux_qt.c +++ b/src/demuxers/demux_qt.c @@ -30,7 +30,7 @@ * build_frame_table * free_qt_info * - * $Id: demux_qt.c,v 1.199 2005/03/01 04:50:44 tmmm Exp $ + * $Id: demux_qt.c,v 1.200 2005/03/06 07:18:04 tmmm Exp $ * */ @@ -1172,8 +1172,16 @@ static qt_error parse_trak_atom (qt_trak *trak, if (trak->stsd_atoms[k].audio.codec_fourcc == SAMR_FOURCC) trak->stsd_atoms[k].audio.vbr = 1; - if (trak->stsd_atoms[k].audio.codec_fourcc == ALAC_FOURCC) + if (trak->stsd_atoms[k].audio.codec_fourcc == ALAC_FOURCC) { trak->stsd_atoms[k].audio.vbr = 1; + /* further, FFmpeg's ALAC decoder requires 36 out-of-band bytes */ + trak->stsd_atoms[k].audio.properties_atom_size = 36; + trak->stsd_atoms[k].audio.properties_atom = + xine_xmalloc(trak->stsd_atoms[k].audio.properties_atom_size); + memcpy(trak->stsd_atoms[k].audio.properties_atom, + &trak_atom[atom_pos + 0x20], + trak->stsd_atoms[k].audio.properties_atom_size); + } if (trak->stsd_atoms[k].audio.codec_fourcc == DRMS_FOURCC) { last_error = QT_DRM_NOT_SUPPORTED; |