udpsrc: remove redundant saddr unref
authorPetr Kulhavy <brain@jikos.cz>
Mon, 14 Nov 2016 11:13:14 +0000 (12:13 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Mon, 14 Nov 2016 13:26:13 +0000 (15:26 +0200)
The g_object_unref (saddr) before receiving message seems to be redundant as it
is done just before jumping to retry

Though not directly related, part of
https://bugzilla.gnome.org/show_bug.cgi?id=772841

gst/udp/gstudpsrc.c

index 36ff1d6..f91fc71 100644 (file)
@@ -864,6 +864,10 @@ gst_udpsrc_create (GstPushSrc * psrc, GstBuffer ** buf)
   p_saddr = (udpsrc->retrieve_sender_address) ? &saddr : NULL;
 
 retry:
+  if (saddr != NULL) {
+    g_object_unref (saddr);
+    saddr = NULL;
+  }
 
   do {
     gint64 timeout;
@@ -897,11 +901,6 @@ retry:
     }
   } while (G_UNLIKELY (try_again));
 
-  if (saddr != NULL) {
-    g_object_unref (saddr);
-    saddr = NULL;
-  }
-
   res =
       g_socket_receive_message (udpsrc->used_socket, p_saddr, udpsrc->vec, 2,
       p_msgs, &n_msgs, &flags, udpsrc->cancellable, &err);
@@ -973,12 +972,6 @@ retry:
     if (skip_packet) {
       GST_DEBUG_OBJECT (udpsrc,
           "Dropping packet for a different multicast address");
-
-      if (saddr != NULL) {
-        g_object_unref (saddr);
-        saddr = NULL;
-      }
-
       goto retry;
     }
   }