pleorasink: check all IP addresses on each interface

This commit is contained in:
Joshua M. Doe 2020-03-19 11:43:01 -04:00
parent e886b5f4fa
commit fa07ad8263

View File

@ -455,15 +455,21 @@ gst_pleorasink_select_interface (GstPleoraSink * sink)
/* set properties */ /* set properties */
g_free (sink->address); g_free (sink->address);
sink->address = g_strdup (lNIC->GetIPAddress (0).GetAscii ()); sink->address = g_strdup (lNIC->GetIPAddress (0).GetAscii ());
} else if (g_strcmp0 (sink->address, } else {
lNIC->GetIPAddress (0).GetAscii ()) == 0) { guint32 num_ips = lNIC->GetIPAddressCount ();
GST_DEBUG_OBJECT (sink, "Selecting interface from IP '%s'", for (guint32 i = 0; i < num_ips; i++) {
sink->address); if (g_strcmp0 (sink->address, lNIC->GetIPAddress (i).GetAscii ()) == 0) {
selected_nic = lNIC; GST_DEBUG_OBJECT (sink, "Selecting interface from IP '%s'",
sink->address);
selected_nic = lNIC;
/* set properties */ /* set properties */
g_free (sink->mac); g_free (sink->mac);
sink->mac = g_strdup (lNIC->GetMACAddress ().GetAscii ()); sink->mac = g_strdup (lNIC->GetMACAddress ().GetAscii ());
break;
}
}
} }
g_free (found_mac); g_free (found_mac);