Commit 19d34f6b authored by Jan Alexander Steffens's avatar Jan Alexander Steffens Committed by Sebastian Dröge
Browse files

fdkaacdec: Use WAV channel mapping instead of interleave setting

The latter is going away in libfdk-aac 2.0.0. Instead, MPEG-style output
is always non-interleaved and WAV-style output is always interleaved.
Earlier libfdk-aac also defaults interleaving accordingly.

Since our reordering looks at the associated PCE indices instead of the
actual channel order, we're agnostic to the mapping.

For gstreamer/gst-plugins-bad#825
parent f4fdb977
......@@ -151,17 +151,13 @@ gst_fdkaacdec_set_format (GstAudioDecoder * dec, GstCaps * caps)
gst_buffer_unref (codec_data);
/* Choose WAV channel mapping to get interleaving even with libfdk-aac 2.0.0
* The pChannelIndices retain the indices from the standard MPEG mapping so
* we're agnostic to the actual order. */
if ((err =
aacDecoder_SetParam (self->dec, AAC_PCM_OUTPUT_CHANNEL_MAPPING,
0)) != AAC_DEC_OK) {
GST_ERROR_OBJECT (self, "Failed to set output channel mapping: %d", err);
return FALSE;
if ((err =
aacDecoder_SetParam (self->dec, AAC_PCM_OUTPUT_INTERLEAVED,
1)) != AAC_DEC_OK) {
GST_ERROR_OBJECT (self, "Failed to set interleaved output: %d", err);
GST_ERROR_OBJECT (self, "Failed to set output channel mapping: %d", err);
return FALSE;
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