Commit 345c5665 authored by Edward Hervey's avatar Edward Hervey Committed by Edward Hervey

aacparse: Handle Parametric Stereo with HE-AAC(v2)

According to ISO/IEC:14496-2:2009 , in the case of HE-AACv2 (audioObjecType
29) parametric stereo is used (a single mono track is used and then
transformations are applied to it to provide a stereo output).

We therefore report two channels in the case where there is one reported
in the audioChannelConfiguration.

Fixes the various issues where a demuxer would report two channels, but
then the parser would say there's only one channel, and then the decoder
would output two channels.
parent 6f3737f0
......@@ -564,8 +564,13 @@ gst_aac_parse_read_loas_audio_specific_config (GstAacParse * aacparse,
if (audio_object_type == 5 || audio_object_type == 29) {
extension_audio_object_type = 5;
sbr = TRUE;
if (audio_object_type == 29)
if (audio_object_type == 29) {
ps = TRUE;
/* Parametric stereo. If we have a one-channel configuration, we can
* override it to stereo */
if (*channels == 1)
*channels = 2;
}
GST_LOG_OBJECT (aacparse,
"Audio object type 5 or 29, so rereading sampling rate...");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment