summaryrefslogtreecommitdiffstats
path: root/gst/rtp/gstrtpvorbisdepay.c
diff options
context:
space:
mode:
authorOlivier Crete <tester@tester.ca>2008-06-13 09:39:41 +0000
committerWim Taymans <wim.taymans@gmail.com>2008-06-13 09:39:41 +0000
commit2ba1de92a4c4e8399b2b285daf2f9b15e651a537 (patch)
tree5114fe84ea822930dd9ac9d5be343183e5645616 /gst/rtp/gstrtpvorbisdepay.c
parent8d901b4bfcabec20f78dab49a2b5211afd52c49a (diff)
gst/rtp/gstrtptheoradepay.c: Make the delivery-method mandatory on the caps and only accept inline for now.
Original commit message from CVS: Patch by: Olivier Crete <tester at tester dot ca> * gst/rtp/gstrtptheoradepay.c: (gst_rtp_theora_depay_setcaps): Make the delivery-method mandatory on the caps and only accept inline for now. Reverse strcmp checks for delivery-method. * gst/rtp/gstrtpvorbisdepay.c: (gst_rtp_vorbis_depay_setcaps): Make delivery method optional when parsing caps and note this in the caps. Reverse strcmp checks for delivery-method. * gst/rtp/gstrtpvorbispay.c: Update a comment to note that the delivery-method is optional, Fixes #537675.
Diffstat (limited to 'gst/rtp/gstrtpvorbisdepay.c')
-rw-r--r--gst/rtp/gstrtpvorbisdepay.c32
1 files changed, 14 insertions, 18 deletions
diff --git a/gst/rtp/gstrtpvorbisdepay.c b/gst/rtp/gstrtpvorbisdepay.c
index 46afd2b4..7bee8830 100644
--- a/gst/rtp/gstrtpvorbisdepay.c
+++ b/gst/rtp/gstrtpvorbisdepay.c
@@ -52,11 +52,11 @@ GST_STATIC_PAD_TEMPLATE ("sink",
/* All required parameters
*
* "encoding-params = (string) <num channels>"
- * "delivery-method = (string) { inline, in_band, out_band/<specific_name> } "
* "configuration = (string) ANY"
*/
/* All optional parameters
*
+ * "delivery-method = (string) { inline, in_band, out_band/<specific_name> } "
* "configuration-uri ="
*/
)
@@ -344,18 +344,19 @@ gst_rtp_vorbis_depay_setcaps (GstBaseRTPDepayload * depayload, GstCaps * caps)
/* see how the configuration parameters will be transmitted */
delivery_method = gst_structure_get_string (structure, "delivery-method");
- if (delivery_method == NULL)
- goto no_delivery_method;
-
- if (g_ascii_strcasecmp (delivery_method, "inline")) {
- /* configure string is in the caps */
- } else if (g_ascii_strcasecmp (delivery_method, "in_band")) {
- /* headers will (also) be transmitted in the RTP packets */
- } else if (g_str_has_prefix (delivery_method, "out_band/")) {
- /* some other method of header delivery. */
- goto unsupported_delivery_method;
- } else
- goto unsupported_delivery_method;
+
+ if (delivery_method) {
+ if (!g_ascii_strcasecmp (delivery_method, "inline")) {
+ /* configure string is in the caps */
+ } else if (!g_ascii_strcasecmp (delivery_method, "in_band")) {
+ /* headers will (also) be transmitted in the RTP packets */
+ goto unsupported_delivery_method;
+ } else if (g_str_has_prefix (delivery_method, "out_band/")) {
+ /* some other method of header delivery. */
+ goto unsupported_delivery_method;
+ } else
+ goto unsupported_delivery_method;
+ }
/* read and parse configuration string */
configuration = gst_structure_get_string (structure, "configuration");
@@ -382,11 +383,6 @@ unsupported_delivery_method:
"unsupported delivery-method \"%s\" specified", delivery_method);
return FALSE;
}
-no_delivery_method:
- {
- GST_ERROR_OBJECT (rtpvorbisdepay, "no delivery-method specified");
- return FALSE;
- }
no_configuration:
{
GST_ERROR_OBJECT (rtpvorbisdepay, "no configuration specified");