diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2015-03-23 12:09:25 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2015-03-23 12:09:25 +0100 |
commit | dd674942baf568cc6b0650f5350944ba9ce96d34 (patch) | |
tree | c26c27b290b43ab2c9ae2548cb5618bd57925c82 | |
parent | 65662c89978df493c2005c87bcd375db9178b51b (diff) | |
download | gstreamer-plugins-base-dd674942baf568cc6b0650f5350944ba9ce96d34.tar.gz |
opusdec: Take channels and sample rate from the caps if we have no stream header
-rw-r--r-- | ext/opus/gstopusdec.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/ext/opus/gstopusdec.c b/ext/opus/gstopusdec.c index 7cffd175b..d3c8e8d9c 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: |