opusenc: do not cause the decoder to apply the channel mapping again

Since we already reorder channels, we do not want to write that
reordering in the header, or the decoder will do it again.
This commit is contained in:
Vincent Penquerc'h 2011-11-25 12:40:31 +00:00
parent 5f85454020
commit f78c83a0b6

View file

@ -532,13 +532,17 @@ gst_opus_enc_set_format (GstAudioEncoder * benc, GstAudioInfo * info)
static gboolean static gboolean
gst_opus_enc_setup (GstOpusEnc * enc) gst_opus_enc_setup (GstOpusEnc * enc)
{ {
int error = OPUS_OK; int error = OPUS_OK, n;
guint8 trivial_mapping[256];
GST_DEBUG_OBJECT (enc, "setup"); GST_DEBUG_OBJECT (enc, "setup");
for (n = 0; n < 256; ++n)
trivial_mapping[n] = n;
enc->state = enc->state =
opus_multistream_encoder_create (enc->sample_rate, enc->n_channels, opus_multistream_encoder_create (enc->sample_rate, enc->n_channels,
(enc->n_channels + 1) / 2, enc->n_channels / 2, enc->channel_mapping, (enc->n_channels + 1) / 2, enc->n_channels / 2, trivial_mapping,
enc->audio_or_voip ? OPUS_APPLICATION_AUDIO : OPUS_APPLICATION_VOIP, enc->audio_or_voip ? OPUS_APPLICATION_AUDIO : OPUS_APPLICATION_VOIP,
&error); &error);
if (!enc->state || error != OPUS_OK) if (!enc->state || error != OPUS_OK)