summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authorrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-03-15 10:52:30 +0000
committerrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-03-15 10:52:30 +0000
commit05ee4cfa8f908df648feb9b69c66a7375576fa1d (patch)
tree35a5dbedb0f3e26827ef3d3c7966a233ce78701d /libmpdemux
parent5ae779673c03001fc897d6f78c539922604b988b (diff)
downloadmpv-05ee4cfa8f908df648feb9b69c66a7375576fa1d.tar.bz2
mpv-05ee4cfa8f908df648feb9b69c66a7375576fa1d.tar.xz
Animatrix AAC fix, patch by <dimakar(at)yahoo.com>. (This is the right patch)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9591 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/demux_mov.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/libmpdemux/demux_mov.c b/libmpdemux/demux_mov.c
index c181e8df6c..73a857ba5c 100644
--- a/libmpdemux/demux_mov.c
+++ b/libmpdemux/demux_mov.c
@@ -903,14 +903,15 @@ static void lschunks(demuxer_t* demuxer,int level,off_t endpos,mov_track_t* trak
}
}
- if((trak->stdata[9]==0) && trak->stdata_len >= 36) { // version 0 with extra atoms
- int atom_len = char2int(trak->stdata,28);
- switch(char2int(trak->stdata,32)) { // atom type
+ if((trak->stdata[9]==0 || trak->stdata[9]==1) && trak->stdata_len >= 36) { // version 0 with extra atoms
+ int adjust = (trak->stdata[9]==1)?48:0;
+ int atom_len = char2int(trak->stdata,28+adjust);
+ switch(char2int(trak->stdata,32+adjust)) { // atom type
case MOV_FOURCC('e','s','d','s'): {
mp_msg(MSGT_DEMUX, MSGL_INFO, "MOV: Found MPEG4 audio Elementary Stream Descriptor atom (%d)!\n", atom_len);
if(atom_len > 8) {
esds_t esds;
- if(!mp4_parse_esds(&trak->stdata[36], atom_len-8, &esds)) {
+ if(!mp4_parse_esds(&trak->stdata[36+adjust], atom_len-8, &esds)) {
sh->i_bps = esds.avgBitrate/8;
@@ -935,7 +936,7 @@ static void lschunks(demuxer_t* demuxer,int level,off_t endpos,mov_track_t* trak
} break;
default:
mp_msg(MSGT_DEMUX, MSGL_INFO, "MOV: Found unknown audio atom %c%c%c%c (%d)!\n",
- trak->stdata[32],trak->stdata[33],trak->stdata[34],trak->stdata[35],
+ trak->stdata[32+adjust],trak->stdata[33+adjust],trak->stdata[34+adjust],trak->stdata[35+adjust],
atom_len);
}
}