Commit 05352d7e authored by Wim Taymans's avatar Wim Taymans
Browse files

rtspsrc: handle servers that send broken Transports

Handle servers that send their port pairs with the wrong name.

Fixes #617537
parent ef4d2901
......@@ -2398,6 +2398,20 @@ gst_rtspsrc_stream_configure_mcast (GstRTSPSrc * src, GstRTSPStream * stream,
min = transport->port.min;
max = transport->port.max;
/* some bad servers use the server_port attribute for multicast, try to handle
* those cases too here */
if (min == -1 && max == -1) {
GST_DEBUG_OBJECT (src, "no port attribute set, fallback to server_port");
min = transport->server_port.min;
max = transport->server_port.max;
}
GST_DEBUG_OBJECT (src, "have destination '%s' and ports (%d)-(%d)",
destination, min, max);
/* we really need ports now or we won't be able to receive anything at all */
if (min == -1 && max == -1)
goto no_ports;
/* creating UDP source for RTP */
if (min != -1) {
......@@ -2442,6 +2456,11 @@ no_destination:
GST_DEBUG_OBJECT (src, "no destination found");
return FALSE;
}
no_ports:
{
GST_DEBUG_OBJECT (src, "no ports found");
return FALSE;
}
}
/* configure the remainder of the UDP ports */
......
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