multiudpsink: don't lose scope_id
authorSergey Nazaryev <sergey.nazaryev@cogentembedded.com>
Wed, 12 Dec 2018 16:07:39 +0000 (19:07 +0300)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Tue, 5 Nov 2019 23:50:11 +0000 (23:50 +0000)
gst/udp/gstmultiudpsink.c

index 3caa879..e22b996 100644 (file)
@@ -443,11 +443,12 @@ gst_udp_client_new (GstMultiUDPSink * sink, const gchar * host, gint port)
 {
   GstUDPClient *client;
   GInetAddress *addr;
+  GSocketAddress *sockaddr;
   GResolver *resolver;
   GError *err = NULL;
 
-  addr = g_inet_address_new_from_string (host);
-  if (!addr) {
+  sockaddr = g_inet_socket_address_new_from_string (host, port);
+  if (!sockaddr) {
     GList *results;
 
     resolver = g_resolver_get_default ();
@@ -456,10 +457,13 @@ gst_udp_client_new (GstMultiUDPSink * sink, const gchar * host, gint port)
     if (!results)
       goto name_resolve;
     addr = G_INET_ADDRESS (g_object_ref (results->data));
+    sockaddr = g_inet_socket_address_new (addr, port);
 
     g_resolver_free_addresses (results);
     g_object_unref (resolver);
+    g_object_unref (addr);
   }
+  addr = g_inet_socket_address_get_address (G_INET_SOCKET_ADDRESS (sockaddr));
 #ifndef GST_DISABLE_GST_DEBUG
   {
     gchar *ip = g_inet_address_to_string (addr);
@@ -474,8 +478,7 @@ gst_udp_client_new (GstMultiUDPSink * sink, const gchar * host, gint port)
   client->add_count = 0;
   client->host = g_strdup (host);
   client->port = port;
-  client->addr = g_inet_socket_address_new (addr, port);
-  g_object_unref (addr);
+  client->addr = sockaddr;
 
   return client;