DualThreadedCodec using AACDecoder function GetFrame fails (-882, invalid stream) on first call processing AAC stream embedded in MP4 file.
Does the codec support HE-AAC version 2?
I've debugged the codec and find that the stream is supplying an ID_CPE [channel pair element]. Call to audio-video-codecs\\codec\\common\\src\\aac_dec_stream_elements function dec_cpe_channel_element is successful through first call to dec_individual_channel_stream but second call to dec_individual_channel_stream fails. In the second call, the call to dec_section_data fails. dec_section_data concludes that the pairs of sect_cband sect_len_incr are syntactically invalid.
Will upload the MP4 file that demonstrates the problem later today.
In the second call to dec_section_data, the first sect_cb comes back zero, which is legal but unusual, yes?
If the AAC stream that is being injected into the MP4 file is instead written to an AAC file [with appropriate AAC headers] then various COTS players are happy to play the audio.
But if the AAC stream is injected into the MP4 file, both my application that uses Intel IPP/UMC rejects the audio [but is happy with the video] and Apple QuickTime also rejects the stream. Demo simple_player hangs attempting to play the stream.
My guess is that the level of complexity of the AAC stream [max_sfb is 38] is higher than the Intel IPP/UMC implementation can handle, and its reading of scale factor and/or spectral data for the first channel stream is faulty, thus starting the second channel stream in the wrong place in the bitstream.
I'm using 6.0.0.062.