gst/rtp/gstrtpilbcpay.c: Set the encoding-name in the rtp caps to all uppercase,...
authorTommi Myöhänen <ext-tommi.myohanen@nokia.com>
Tue, 3 Jul 2007 09:59:46 +0000 (09:59 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Tue, 3 Jul 2007 09:59:46 +0000 (09:59 +0000)
Original commit message from CVS:
Patch by: Tommi Myöhänen  <ext-tommi dot myohanen at nokia dot com>
* gst/rtp/gstrtpilbcpay.c: (gst_rtpilbcpay_setcaps):
Set the encoding-name in the rtp caps to all uppercase, as required by
the caps spec.
Some small cleanups in the error paths. Fixes #453037.

ChangeLog
gst/rtp/gstrtpilbcpay.c

index 0cf89dc1dd050e1ad12ab660504539e30659ad8a..bcb52cd580290afe8dcec4801d0d1840faa4d390 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2007-07-03  Wim Taymans,,,  <set EMAIL_ADDRESS environment variable>
+
+       Patch by: Tommi Myöhänen  <ext-tommi dot myohanen at nokia dot com>
+
+       * gst/rtp/gstrtpilbcpay.c: (gst_rtpilbcpay_setcaps):
+       Set the encoding-name in the rtp caps to all uppercase, as required by
+       the caps spec.
+       Some small cleanups in the error paths. Fixes #453037.
+
 2007-06-28  Sebastian Dröge  <slomo@circular-chaos.org>
 
        * ext/wavpack/gstwavpackparse.c:
index 39d1832cd5efcd4db877bae4e62f83e5619a9189..736e633dd2060fd284cc998ff566b46432dadbf6 100644 (file)
@@ -125,32 +125,46 @@ gst_rtpilbcpay_setcaps (GstBaseRTPPayload * basertppayload, GstCaps * caps)
   structure = gst_caps_get_structure (caps, 0);
 
   gst_structure_get_int (structure, "mode", &mode);
-  if (mode != 20 && mode != 30) {
-    return FALSE;
-  }
+  if (mode != 20 && mode != 30)
+    goto wrong_mode;
 
   payload_name = gst_structure_get_name (structure);
-  if (g_strcasecmp ("audio/x-iLBC", payload_name) == 0) {
-    gst_basertppayload_set_options (basertppayload, "audio", TRUE, "iLBC",
-        8000);
-    /* set options for this frame based audio codec */
-    gst_base_rtp_audio_payload_set_frame_options (basertpaudiopayload,
-        mode, mode == 30 ? 50 : 38);
-  } else {
-    return FALSE;
-  }
+  if (g_strcasecmp ("audio/x-iLBC", payload_name))
+    goto wrong_caps;
+
+  gst_basertppayload_set_options (basertppayload, "audio", TRUE, "ILBC", 8000);
+  /* set options for this frame based audio codec */
+  gst_base_rtp_audio_payload_set_frame_options (basertpaudiopayload,
+      mode, mode == 30 ? 50 : 38);
 
   ret =
       gst_basertppayload_set_outcaps (basertppayload, "mode", G_TYPE_INT, mode,
       NULL);
-  if (mode != rtpilbcpay->mode && rtpilbcpay->mode != -1) {
+  if (mode != rtpilbcpay->mode && rtpilbcpay->mode != -1)
+    goto mode_changed;
+
+  rtpilbcpay->mode = mode;
+
+  return ret;
+
+  /* ERRORS */
+wrong_mode:
+  {
+    GST_ERROR_OBJECT (rtpilbcpay, "mode must be 20 or 30, received %d", mode);
+    return FALSE;
+  }
+wrong_caps:
+  {
+    GST_ERROR_OBJECT (rtpilbcpay, "expected audio/x-iLBC, received %s",
+        payload_name);
+    return FALSE;
+  }
+mode_changed:
+  {
     GST_ERROR_OBJECT (rtpilbcpay, "Mode has changed from %d to %d! "
         "Mode cannot change while streaming", rtpilbcpay->mode, mode);
     return FALSE;
   }
-  rtpilbcpay->mode = mode;
-
-  return ret;
 }
 
 gboolean