mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 14:26:43 +00:00
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.
This commit is contained in:
parent
6f3737f0c5
commit
345c566552
1 changed files with 6 additions and 1 deletions
|
@ -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...");
|
||||
|
|
Loading…
Reference in a new issue