[MPlayer-dev-eng] [PATCH] LATM over LOAS parser for libfaad

Mark Kennedy mark at eurogamer.net
Tue Jan 29 15:37:04 CET 2008


Hi,

(I'm new here, so sorry if this post should go to a different list)

 >> FAAD: error: Channel coupling not yet implemented, trying to
 >> resync! FAAD: error: Unexpected channel configuration change,
 >> trying to resync! FAAD: error: Channel coupling not yet
 >> <snip>
 >> control not yet implemented, trying to resync! FAAD: Failed to
 >> decode frame: Gain control not yet implemented

I get similar errors and then a seqfault with increasing frequency these 
days when trying to decode/transcode from videos with AAC audio that I 
believe has been exported from Quicktime.  I'm using svn trunk @ 25908.

In GDB:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208924480 (LWP 14635)]
0x084c340b in ifilter_bank (fb=0xa817858, window_sequence=0 '\0', 
window_shape=0 '\0', window_shape_prev=0 '\0', freq_in=0xbf91cfd0, 
time_out=0x0, overlap=0x0, object_type=2 '\002', frame_len=1024) at 
filtbank.c:221
221                 time_out[i]   = overlap[i]   + 
MUL_F(transf_buf[i],window_long_prev[i]);

"time_out=0x0, overlap=0x0" <- this looked suspicious

Backtrace:

(gdb) bt
#0  0x084c340b in ifilter_bank (fb=0xa817858, window_sequence=0 '\0', 
window_shape=0 '\0', window_shape_prev=0 '\0', freq_in=0xbf91cfd0, 
time_out=0x0, overlap=0x0, object_type=2 '\002', frame_len=1024) at 
filtbank.c:221
#1  0x084e27a9 in reconstruct_single_channel (hDecoder=0xa8595c8, 
ics=0xbf91e028, sce=0xbf91e022, spec_data=0xbf9231cc) at specrec.c:928
#2  0x084ccb96 in decode_sce_lfe (hDecoder=0xa8595c8, hInfo=0x8727de0, 
ld=0xbf923a50, id_syn_ele=0 '\0') at syntax.c:597
#3  0x084cdf0a in raw_data_block (hDecoder=0xa8595c8, hInfo=0x8727de0, 
ld=0xbf923a50, pce=0xa859c39, drc=0xa859f18) at syntax.c:434
#4  0x084c203f in aac_frame_decode (hDecoder=0xa8595c8, hInfo=0x8727de0, 
buffer=Variable "buffer" is not available.
) at decoder.c:872
#5  0x080e817a in decode_audio (sh=0xa8582c8, buf=0xa885cb4 "ÿ\177J", 
minlen=2424, maxlen=114604) at ad_faad.c:269
#6  0x080aef48 in decode_audio (sh_audio=0xa8582c8, minlen=2304) at 
dec_audio.c:383
#7  0x08079146 in dec_audio (sh_audio=0xa8582c8, buffer=0xa86f520 "", 
total=2304) at mencoder.c:340
#8  0x0807b357 in main (argc=27, argv=0xbf923e44) at mencoder.c:1191

I did a little poking round in GDB and saw that:

(gdb) p sce->channel
$18 = 3 '\003'
(gdb) p hDecoder->time_out
$19 = {0xa616e80, 0xa617e88, 0xa625bd0, 0x0 <repeats 61 times>}

(i.e the 4th buffer isn't getting allocated but is being used later)

I tried to figure out what was going on in 'allocate_single_channel' 
that meant the buffer was getting overlooked, but at this point I 
thought I'd get some help :)

Also, is this relevant?

(gdb) p hDecoder->object_type
$20 = 2 '\002'

Here's some app output that might also be interesting:

===========================
==> Found audio stream: 1
[lavf] Audio stream found, -aid 1
======= WAVE Format =======
Format Tag: 28781 (0x706D)
Channels: 2
Samplerate: 48000
avg byte/sec: 0
Block align: 1
bits/sample: 16
cbSize: 2
Unknown extra header dump: [11] [90]
==========================================================================
Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
dec_audio: Allocating 4608 bytes for input buffer.
dec_audio: Allocating 49152 + 65536 = 114688 bytes for output buffer.
FAAD: Decoder init done (0Bytes)!
FAAD: Negotiated samplerate: 48000Hz  channels: 2
FAAD: compressed input bitrate missing, assuming 128kbit/s!
AUDIO: 48000 Hz, 2 ch, s16le, 128.0 kbit/8.33% (ratio: 16000->192000)
Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio) 
decoder)

If anybody can help and would like more info, please let me know.

Thanks,

Mark




More information about the MPlayer-dev-eng mailing list