diff options
author | Olivier Crete <tester@tester.ca> | 2008-06-13 09:39:41 +0000 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2008-06-13 09:39:41 +0000 |
commit | 2ba1de92a4c4e8399b2b285daf2f9b15e651a537 (patch) | |
tree | 5114fe84ea822930dd9ac9d5be343183e5645616 /gst/rtp/gstrtpvorbisdepay.c | |
parent | 8d901b4bfcabec20f78dab49a2b5211afd52c49a (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.c | 32 |
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"); |