[MPlayer-users] mpeg2ts/aac problem
Nico
nsabbi at tiscali.it
Wed Nov 26 11:03:54 CET 2003
now the stream is recognized as AACcident and passed to FAAD, as far as
I can guess from your gdb.log, but
Faad dies (which doesn't surprise anymore: it dies very easily).
I'll give it a look tonight.
Nico
gabor wrote:
>[Automatic answer: RTFM (read DOCS, FAQ), also read DOCS/bugreports.html]
>
>
>------------------------------------------------------------------------
>
>On Tue, 2003-11-25 at 10:17, Nico wrote:
>
>
>>[Automatic answer: RTFM (read DOCS, FAQ), also read DOCS/bugreports.html]
>>
>>I checked that file.
>>The problem is that the descriptor assigned to AAC in TS in the standard
>>(0xf) in your case is correctly assigned
>>only to the audio pid, but in all the samples I have it's assigned to
>>all pids (even to video and sub pids),
>>so I commented the code to tag it as AAC. What happens is that the
>>demuxer sees that pid as MP2,
>>which obviously isn't.
>>
>>You can do two things:
>>1) in parse_descriptors decomment the code regarding case 0xf and in
>>parse_pmt change this block:
>>
>>//if((type_from_pmt == 0x0f) || (l == 4)) //see in parse_pmt()
>>if(l==4)
>> es->type = AUDIO_AAC;
>>
>>to
>>if((type_from_pmt == 0x0f))
>> es->type = AUDIO_AAC;
>>
>>that should work as expected
>>
>>
>
>crashes (gdb log attached) :(
>
>
>
>
>>2) try to discover what's the meaning of the descriptors used by those
>>japanese broadcasters. If it weren't for the mess they make in the PMT the
>>code would be already working correctly.
>>
>>
>:(
>
>
>>BTW I'm planning to add an option to permit users to force a decoder.
>>
>>
>would be great
>
>
>thanks,
>gabor
>
>
>------------------------------------------------------------------------
>
>(gdb) bt
>#0 fill_element (hDecoder=0x8460630, ld=0x854fc68, drc=0x8460e28, sbr_ele=255 '#') at syntax.c:1029
>#1 0x0829dda7 in raw_data_block (hDecoder=0x8460630, hInfo=0x8396320, ld=0x854fc68, elements=0xbfffe1b0, spec_coef=0xbfffe0b0, pce=0x8460bbd, drc=0x8460e28) at syntax.c:415
>#2 0x0828fd60 in faacDecDecode (hDecoder=0x8460630, hInfo=0x8396320, buffer=0x8460630 "", buffer_size=4608) at decoder.c:812
>#3 0x080bb6ad in decode_audio (sh=0x845f308, buf=0x8489bd0 "", minlen=32766, maxlen=77824) at ad_faad.c:179
>#4 0x080b75be in decode_audio (sh_audio=0x845f308, buf=0x85388e8 "", minlen=138976208, maxlen=65536) at dec_audio.c:411
>#5 0x08075558 in main (argc=6, argv=0xbffff6f4) at mplayer.c:1993
>(gdb) disass $pc-32 $pc+32
>Dump of assembler code from 0x829f8db to 0x829f91b:
>0x0829f8db <fill_element+139>: test %esi,%esi
>0x0829f8dd <fill_element+141>: je 0x829f91a <fill_element+202>
>0x0829f8df <fill_element+143>: push %eax
>0x0829f8e0 <fill_element+144>: push %eax
>0x0829f8e1 <fill_element+145>: mov %ebx,%eax
>0x0829f8e3 <fill_element+147>: and $0xffff,%eax
>0x0829f8e8 <fill_element+152>: shl $0x3,%eax
>0x0829f8eb <fill_element+155>: push %eax
>0x0829f8ec <fill_element+156>: push %edi
>0x0829f8ed <fill_element+157>: call 0x82a32f0 <faad_getbitbuffer>
>0x0829f8f2 <fill_element+162>: add $0x10,%esp
>0x0829f8f5 <fill_element+165>: mov 0xffffffe8(%ebp),%ecx
>0x0829f8f8 <fill_element+168>: mov 0x8(%ebp),%edx
>0x0829f8fb <fill_element+171>: mov %eax,0x2c88(%esi)
>0x0829f901 <fill_element+177>: mov 0x308(%edx,%ecx,4),%eax
>0x0829f908 <fill_element+184>: mov %bx,0x2c8c(%eax)
>0x0829f90f <fill_element+191>: nop
>0x0829f910 <fill_element+192>: lea 0xfffffff4(%ebp),%esp
>0x0829f913 <fill_element+195>: xor %eax,%eax
>0x0829f915 <fill_element+197>: pop %ebx
>0x0829f916 <fill_element+198>: pop %esi
>0x0829f917 <fill_element+199>: pop %edi
>0x0829f918 <fill_element+200>: pop %ebp
>0x0829f919 <fill_element+201>: ret
>0x0829f91a <fill_element+202>: mov 0x8(%edx),%ax
>End of assembler dump.
>(gdb) info all-registers
>eax 0x84638f0 138819824
>ecx 0xff 255
>edx 0x8460630 138806832
>ebx 0x8 8
>esp 0xbfffdfe0 0xbfffdfe0
>ebp 0xbfffdff8 0xbfffdff8
>esi 0x110a524c 285889100
>edi 0x854fc68 139787368
>eip 0x829f8fb 0x829f8fb
>eflags 0x210282 2163330
>cs 0x73 115
>ss 0x7b 123
>ds 0x7b 123
>es 0x7b 123
>fs 0x0 0
>gs 0x33 51
>st0 876.9923095703125 (raw 0x4008db3f820000000000)
>st1 -1023.5062255859375 (raw 0xc008ffe0660000000000)
>st2 1919.88262939453125 (raw 0x4009effc3e8000000000)
>st3 -2736.83892822265625 (raw 0xc00aab0d6c4000000000)
>st4 3445.7750244140625 (raw 0x400ad75c668000000000)
>st5 -833.02435302734375 (raw 0xc008d0418f0000000000)
>st6 -3.9205240348254619675572030246257782 (raw 0xc000fae9dda430780000)
>st7 nan(0xc000000000000000) (raw 0x7fffc000000000000000)
>fctrl 0x37f 895
>fstat 0x4029 16425
>ftag 0xffff 65535
>fiseg 0x73 115
>fioff 0x8293d03 136920323
>foseg 0x7b 123
>fooff 0xbfffdedc -1073750308
>fop 0x19d 413
>xmm0 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x8000000000000000, 0x8000000000000000}, v16_int8 = {0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff},
> v4_int32 = {0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff, 0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
>xmm1 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x8000000000000000, 0x8000000000000000}, v16_int8 = {0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff},
> v4_int32 = {0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff, 0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
>xmm2 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x8000000000000000, 0x8000000000000000}, v16_int8 = {0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff},
> v4_int32 = {0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff, 0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
>xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x8000000000000000, 0x8000000000000000}, v16_int8 = {0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff},
> v4_int32 = {0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff, 0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
>xmm4 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x8000000000000000, 0x8000000000000000}, v16_int8 = {0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff},
> v4_int32 = {0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff, 0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
>xmm5 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x8000000000000000, 0x8000000000000000}, v16_int8 = {0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff},
> v4_int32 = {0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff, 0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
>xmm6 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x8000000000000000, 0x8000000000000000}, v16_int8 = {0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff},
> v4_int32 = {0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff, 0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
>xmm7 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x8000000000000000, 0x8000000000000000}, v16_int8 = {0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff},
> v4_int32 = {0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff, 0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
>mxcsr 0x1f80 8064
>mm0 {uint64 = 0xdb3f820000000000, v2_int32 = {0x0, 0xdb3f8200}, v4_int16 = {0x0, 0x0, 0x8200, 0xdb3f}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x82, 0x3f, 0xdb}}
>mm1 {uint64 = 0xffe0660000000000, v2_int32 = {0x0, 0xffe06600}, v4_int16 = {0x0, 0x0, 0x6600, 0xffe0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x66, 0xe0, 0xff}}
>mm2 {uint64 = 0xeffc3e8000000000, v2_int32 = {0x0, 0xeffc3e80}, v4_int16 = {0x0, 0x0, 0x3e80, 0xeffc}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x80, 0x3e, 0xfc, 0xef}}
>mm3 {uint64 = 0xab0d6c4000000000, v2_int32 = {0x0, 0xab0d6c40}, v4_int16 = {0x0, 0x0, 0x6c40, 0xab0d}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x40, 0x6c, 0xd, 0xab}}
>mm4 {uint64 = 0xd75c668000000000, v2_int32 = {0x0, 0xd75c6680}, v4_int16 = {0x0, 0x0, 0x6680, 0xd75c}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x80, 0x66, 0x5c, 0xd7}}
>mm5 {uint64 = 0xd0418f0000000000, v2_int32 = {0x0, 0xd0418f00}, v4_int16 = {0x0, 0x0, 0x8f00, 0xd041}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0x41, 0xd0}}
>mm6 {uint64 = 0xfae9dda430780000, v2_int32 = {0x30780000, 0xfae9dda4}, v4_int16 = {0x0, 0x3078, 0xdda4, 0xfae9}, v8_int8 = {0x0, 0x0, 0x78, 0x30, 0xa4, 0xdd, 0xe9, 0xfa}}
>mm7 {uint64 = 0xc000000000000000, v2_int32 = {0x0, 0xc0000000}, v4_int16 = {0x0, 0x0, 0x0, 0xc000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0}}
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>RTFM!!! http://www.MPlayerHQ.hu/DOCS
>Search: http://www.MPlayerHQ.hu/cgi-bin/htsearch
>http://mplayerhq.hu/mailman/listinfo/mplayer-users
>
>
More information about the MPlayer-users
mailing list