rtspsrc: Add support to skip x-server HEADER reply
When connecting to an RTSP server in tunneled mode (HTTP) the server usually replies with a x-server header. This contains the address of the intended streaming server. However some servers return an "invalid" address. Here follows two examples when it might happen.
-
A server use Apache combined with a separate RTSP process to handle Https request on port 443. In this case Apache handle TLS and connects to the local RTSP server, which results in a local address 127.0.0.1 or ::1 in the x-server reply. This address is returned to the actual RTSP client in the x-server header. The client will receive this address and try to connect to it and fail.
-
The client use a ipv6 link local address with a specified scope id fe80::aaaa:bbbb:cccc:dddd%eth0 and connects via Http on port 80. The RTSP server receives the connection and returns the address in the x-server header. The client will receive this address and try to connect to it "as is" without the scope id and fail.
In the case of streaming data from RTSP servers like 1. and 2. it's useful to have the option to simply ignore ignore the x-server header reply and continue using the original address.
Part-of: <gst-plugins-base!1192 (merged)>