avtpsink: Prepare code to new synchronization mechanism
authorAndre Guedes <andre.guedes@intel.com>
Fri, 4 Oct 2019 18:17:22 +0000 (11:17 -0700)
committerOlivier CrĂȘte <olivier.crete@ocrete.ca>
Wed, 5 Feb 2020 22:28:12 +0000 (22:28 +0000)
This patch refactors gst_avtp_sink_start() by moving all socket
initialization code to its own function. This change prepares the code
to the next patch which will introduce avtpsink's own rendering
synchronization mechanism.

ext/avtp/gstavtpsink.c

index 6a4591b..017d659 100644 (file)
@@ -205,13 +205,12 @@ gst_avtp_sink_get_property (GObject * object, guint prop_id,
 }
 
 static gboolean
-gst_avtp_sink_start (GstBaseSink * basesink)
+gst_avtp_sink_init_socket (GstAvtpSink * avtpsink)
 {
   int fd, res;
   unsigned int index;
   guint8 addr[ETH_ALEN];
   struct sockaddr_ll sk_addr;
-  GstAvtpSink *avtpsink = GST_AVTP_SINK (basesink);
 
   index = if_nametoindex (avtpsink->ifname);
   if (!index) {
@@ -251,7 +250,6 @@ gst_avtp_sink_start (GstBaseSink * basesink)
   avtpsink->sk_fd = fd;
   avtpsink->sk_addr = sk_addr;
 
-  GST_DEBUG_OBJECT (avtpsink, "AVTP sink started");
   return TRUE;
 
 err:
@@ -260,6 +258,19 @@ err:
 }
 
 static gboolean
+gst_avtp_sink_start (GstBaseSink * basesink)
+{
+  GstAvtpSink *avtpsink = GST_AVTP_SINK (basesink);
+
+  if (!gst_avtp_sink_init_socket (avtpsink))
+    return FALSE;
+
+  GST_DEBUG_OBJECT (avtpsink, "AVTP sink started");
+
+  return TRUE;
+}
+
+static gboolean
 gst_avtp_sink_stop (GstBaseSink * basesink)
 {
   GstAvtpSink *avtpsink = GST_AVTP_SINK (basesink);