address-pool: small cleanups

This commit is contained in:
Wim Taymans 2012-11-14 16:10:45 +01:00
parent d6fcf92601
commit 6085b1fcc1

View file

@ -137,6 +137,20 @@ fill_address (const gchar * address, guint16 port, Addr * addr)
return TRUE; return TRUE;
} }
static gchar *
get_address_string (Addr * addr)
{
gchar *res;
GInetAddress *inet;
inet = g_inet_address_new_from_bytes (addr->bytes,
addr->size == 4 ? G_SOCKET_FAMILY_IPV4 : G_SOCKET_FAMILY_IPV6);
res = g_inet_address_to_string (inet);
g_object_unref (inet);
return res;
}
/** /**
* gst_rtsp_address_pool_add_range: * gst_rtsp_address_pool_add_range:
* @pool: a #GstRTSPAddressPool * @pool: a #GstRTSPAddressPool
@ -326,14 +340,7 @@ gst_rtsp_address_pool_acquire_address (GstRTSPAddressPool * pool,
g_mutex_unlock (&priv->lock); g_mutex_unlock (&priv->lock);
if (result) { if (result) {
GInetAddress *inet; *address = get_address_string (&result->min);
inet = g_inet_address_new_from_bytes (result->min.bytes,
result->min.size == 4 ? G_SOCKET_FAMILY_IPV4 : G_SOCKET_FAMILY_IPV6);
*address = g_inet_address_to_string (inet);
g_object_unref (inet);
*port = result->min.port; *port = result->min.port;
*ttl = result->ttl; *ttl = result->ttl;
@ -377,39 +384,35 @@ gst_rtsp_address_pool_release_address (GstRTSPAddressPool * pool, gpointer id)
/* ERRORS */ /* ERRORS */
not_found: not_found:
{ {
g_warning ("Released unknown id %p", id);
g_mutex_unlock (&priv->lock); g_mutex_unlock (&priv->lock);
return; return;
} }
} }
static void static void
dump_range (GstRTSPAddressPool * pool, AddrRange * range) dump_range (AddrRange * range, GstRTSPAddressPool * pool)
{ {
GInetAddress *inet;
gchar *addr1, *addr2; gchar *addr1, *addr2;
inet = g_inet_address_new_from_bytes (range->min.bytes, addr1 = get_address_string (&range->min);
range->max.size == 4 ? G_SOCKET_FAMILY_IPV4 : G_SOCKET_FAMILY_IPV6); addr2 = get_address_string (&range->max);
addr1 = g_inet_address_to_string (inet);
g_object_unref (inet);
inet = g_inet_address_new_from_bytes (range->max.bytes,
range->max.size == 4 ? G_SOCKET_FAMILY_IPV4 : G_SOCKET_FAMILY_IPV6);
addr2 = g_inet_address_to_string (inet);
g_object_unref (inet);
g_print (" address %s-%s, port %u-%u, ttl %u\n", addr1, addr2, g_print (" address %s-%s, port %u-%u, ttl %u\n", addr1, addr2,
range->min.port, range->max.port, range->ttl); range->min.port, range->max.port, range->ttl);
g_free (addr1); g_free (addr1);
g_free (addr2); g_free (addr2);
} }
/**
* gst_rtsp_address_pool_dump:
* @pool: a #GstRTSPAddressPool
*
* Dump the free and allocated addresses to stdout.
*/
void void
gst_rtsp_address_pool_dump (GstRTSPAddressPool * pool) gst_rtsp_address_pool_dump (GstRTSPAddressPool * pool)
{ {
GstRTSPAddressPoolPrivate *priv; GstRTSPAddressPoolPrivate *priv;
GList *walk;
g_return_if_fail (GST_IS_RTSP_ADDRESS_POOL (pool)); g_return_if_fail (GST_IS_RTSP_ADDRESS_POOL (pool));
@ -417,12 +420,8 @@ gst_rtsp_address_pool_dump (GstRTSPAddressPool * pool)
g_mutex_lock (&priv->lock); g_mutex_lock (&priv->lock);
g_print ("free:\n"); g_print ("free:\n");
for (walk = priv->addresses; walk; walk = walk->next) { g_list_foreach (priv->addresses, (GFunc) dump_range, pool);
dump_range (pool, (AddrRange *) walk->data);
}
g_print ("allocated:\n"); g_print ("allocated:\n");
for (walk = priv->allocated; walk; walk = walk->next) { g_list_foreach (priv->allocated, (GFunc) dump_range, pool);
dump_range (pool, (AddrRange *) walk->data);
}
g_mutex_unlock (&priv->lock); g_mutex_unlock (&priv->lock);
} }