mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 05:06:17 +00:00
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 https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/825
This commit is contained in:
parent
f4fdb9770c
commit
19d34f6b5e
1 changed files with 4 additions and 8 deletions
|
@ -151,17 +151,13 @@ gst_fdkaacdec_set_format (GstAudioDecoder * dec, GstCaps * caps)
|
||||||
gst_buffer_unref (codec_data);
|
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 =
|
if ((err =
|
||||||
aacDecoder_SetParam (self->dec, AAC_PCM_OUTPUT_CHANNEL_MAPPING,
|
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) {
|
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;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue