rtpmux: Refactorize state_change
authorzeeshan.ali@nokia.com <zeeshan.ali@nokia.com>
Thu, 29 Mar 2007 13:52:23 +0000 (13:52 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Sun, 16 Dec 2012 16:29:58 +0000 (16:29 +0000)
20070329135223-65035-23a0107b2e397710f035c6e88cc0e49b65bb4d5d.gz

gst/rtpmanager/gstrtpmux.c

index 14feed5..8ea2675 100644 (file)
@@ -439,11 +439,31 @@ gst_rtp_mux_set_property (GObject * object,
   }
 }
 
+static void
+gst_rtp_mux_ready_to_paused (GstRTPMux * rtp_mux)
+{
+  if (rtp_mux->ssrc == -1)
+    rtp_mux->current_ssrc = g_random_int ();
+  else
+    rtp_mux->current_ssrc = rtp_mux->ssrc;
+
+  if (rtp_mux->seqnum_offset == -1)
+    rtp_mux->seqnum_base = g_random_int_range (0, G_MAXUINT16);
+  else
+    rtp_mux->seqnum_base = rtp_mux->seqnum_offset;
+    rtp_mux->seqnum = rtp_mux->seqnum_base;
+
+  if (rtp_mux->ts_offset == -1)
+    rtp_mux->ts_base = g_random_int ();
+  else
+    rtp_mux->ts_base = rtp_mux->ts_offset;
+    GST_DEBUG_OBJECT (rtp_mux, "set clock-base to %u", rtp_mux->ts_base);
+}
+
 static GstStateChangeReturn
 gst_rtp_mux_change_state (GstElement * element, GstStateChange transition)
 {
   GstRTPMux *rtp_mux;
-  GstStateChangeReturn ret;
 
   rtp_mux = GST_RTP_MUX (element);
 
@@ -451,22 +471,7 @@ gst_rtp_mux_change_state (GstElement * element, GstStateChange transition)
     case GST_STATE_CHANGE_NULL_TO_READY:
       break;
     case GST_STATE_CHANGE_READY_TO_PAUSED:
-      if (rtp_mux->ssrc == -1)
-        rtp_mux->current_ssrc = g_random_int ();
-      else
-        rtp_mux->current_ssrc = rtp_mux->ssrc;
-
-      if (rtp_mux->seqnum_offset == -1)
-        rtp_mux->seqnum_base = g_random_int_range (0, G_MAXUINT16);
-      else
-        rtp_mux->seqnum_base = rtp_mux->seqnum_offset;
-      rtp_mux->seqnum = rtp_mux->seqnum_base;
-
-      if (rtp_mux->ts_offset == -1)
-        rtp_mux->ts_base = g_random_int ();
-      else
-        rtp_mux->ts_base = rtp_mux->ts_offset;
-      GST_DEBUG_OBJECT (rtp_mux, "set clock-base to %u", rtp_mux->ts_base);
+      gst_rtp_mux_ready_to_paused (rtp_mux);
       break;
     case GST_STATE_CHANGE_PAUSED_TO_READY:
       break;
@@ -474,16 +479,7 @@ gst_rtp_mux_change_state (GstElement * element, GstStateChange transition)
       break;
   }
 
-  ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-  if (ret == GST_STATE_CHANGE_FAILURE)
-    return ret;
-
-  switch (transition) {
-    default:
-      break;
-  }
-
-  return ret;
+  return GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
 }
 
 gboolean