From dd674942baf568cc6b0650f5350944ba9ce96d34 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 23 Mar 2015 12:09:25 +0100 Subject: [PATCH] opusdec: Take channels and sample rate from the caps if we have no stream header --- ext/opus/gstopusdec.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ext/opus/gstopusdec.c b/ext/opus/gstopusdec.c index 7cffd17..d3c8e8d 100644 --- a/ext/opus/gstopusdec.c +++ b/ext/opus/gstopusdec.c @@ -582,6 +582,22 @@ gst_opus_dec_set_format (GstAudioDecoder * bdec, GstCaps * caps) goto done; gst_buffer_replace (&dec->vorbiscomment, buf); } + } else { + /* defaults if not in the caps */ + dec->n_channels = 2; + dec->sample_rate = 48000; + + gst_structure_get_int (s, "channels", &dec->n_channels); + gst_structure_get_int (s, "rate", &dec->sample_rate); + + /* default stereo mapping */ + dec->channel_mapping_family = 0; + dec->channel_mapping[0] = 0; + dec->channel_mapping[1] = 1; + dec->n_streams = 1; + dec->n_stereo_streams = 1; + + gst_opus_dec_negotiate (dec, NULL); } done: -- 2.7.4