diff --git a/ext/avtp/gstavtpsink.c b/ext/avtp/gstavtpsink.c index 6a4591b7ac..017d659b1f 100644 --- a/ext/avtp/gstavtpsink.c +++ b/ext/avtp/gstavtpsink.c @@ -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: @@ -259,6 +257,19 @@ err: return FALSE; } +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) {