summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2015-03-23 12:09:25 +0100
committerSebastian Dröge <sebastian@centricular.com>2015-03-23 12:09:25 +0100
commitdd674942baf568cc6b0650f5350944ba9ce96d34 (patch)
treec26c27b290b43ab2c9ae2548cb5618bd57925c82
parent65662c89978df493c2005c87bcd375db9178b51b (diff)
downloadgstreamer-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.c16
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: