--- gst-plugins-bad-1.14.4/ext/fdkaac/gstfdkaacenc.c.orig 2018-03-23 21:45:15.000000000 +0100 +++ gst-plugins-bad-1.14.4/ext/fdkaac/gstfdkaacenc.c 2019-04-23 21:09:29.487183501 +0200 @@ -71,10 +71,6 @@ GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT}}, { - 3, MODE_2_1, { - GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, - GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, - GST_AUDIO_CHANNEL_POSITION_LFE1}}, { 4, MODE_1_2_1, { GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, --- gst-plugins-bad-1.14.4/ext/fdkaac/gstfdkaacdec.c.orig 2018-03-23 21:45:15.000000000 +0100 +++ gst-plugins-bad-1.14.4/ext/fdkaac/gstfdkaacdec.c 2019-04-23 21:21:00.353440757 +0200 @@ -151,17 +151,13 @@ 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; }