Commit 308480e7 authored by Patricia Muscalu's avatar Patricia Muscalu Committed by Sebastian Dröge

client: Don't reserve multicast address in the client setting case

When two multicast clients request specific transport
configurations, and "transport.client-settings" parameter is
set to true, it's wrong to actually require that these two
clients request the same multicast group.
Removed test_client_multicast_invalid_transport_specific test
cases as they wrongly require that the requested destination
address is supposed to be present in the address pool, also in
the case when "transport.client-settings" parameter is set to true.

Change-Id: I4580182ef35996caf644686d6139f72ec599c9fa

https://bugzilla.gnome.org/show_bug.cgi?id=793441
parent a7bb684e
......@@ -1990,17 +1990,16 @@ default_configure_client_transport (GstRTSPClient * client,
goto error_allocating_ports;
if (ct->lower_transport == GST_RTSP_LOWER_TRANS_UDP_MCAST) {
GstRTSPAddress *addr = NULL;
/* FIXME: the address has been successfully allocated, however, in
* the use_client_settings case we need to verify that the allocated
* address is the one requested by the client and if this address is
* an allowed destination. Verifying this via the address pool in not
* the proper way as the address pool should only be used for choosing
* the server-selected address/port pairs. */
if (use_client_settings) {
/* the address has been successfully allocated, let's check if it's
* the one requested by the client */
addr = gst_rtsp_stream_reserve_address (ctx->stream, ct->destination,
ct->port.min, ct->port.max - ct->port.min + 1, ct->ttl);
if (!use_client_settings) {
GstRTSPAddress *addr = NULL;
if (addr == NULL)
goto no_address;
} else {
g_free (ct->destination);
addr = gst_rtsp_stream_get_multicast_address (ctx->stream, family);
if (addr == NULL)
......@@ -2009,9 +2008,8 @@ default_configure_client_transport (GstRTSPClient * client,
ct->port.min = addr->port;
ct->port.max = addr->port + addr->n_ports - 1;
ct->ttl = addr->ttl;
gst_rtsp_address_free (addr);
}
gst_rtsp_address_free (addr);
} else {
GstRTSPUrl *url;
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment