|
|
@@ -86,6 +86,7 @@ const AVOption ff_rtsp_options[] = { |
|
|
|
{ "http", "HTTP tunneling", 0, AV_OPT_TYPE_CONST, {.i64 = (1 << RTSP_LOWER_TRANSPORT_HTTP)}, 0, 0, DEC, "rtsp_transport" }, |
|
|
|
RTSP_FLAG_OPTS("rtsp_flags", "set RTSP flags"), |
|
|
|
{ "listen", "wait for incoming connections", 0, AV_OPT_TYPE_CONST, {.i64 = RTSP_FLAG_LISTEN}, 0, 0, DEC, "rtsp_flags" }, |
|
|
|
{ "prefer_tcp", "try RTP via TCP first, if available", 0, AV_OPT_TYPE_CONST, {.i64 = RTSP_FLAG_PREFER_TCP}, 0, 0, DEC|ENC, "rtsp_flags" }, |
|
|
|
RTSP_MEDIATYPE_OPTS("allowed_media_types", "set media types to accept from the server"), |
|
|
|
{ "min_port", "set minimum local UDP port", OFFSET(rtp_port_min), AV_OPT_TYPE_INT, {.i64 = RTSP_RTP_PORT_MIN}, 0, 65535, DEC|ENC }, |
|
|
|
{ "max_port", "set maximum local UDP port", OFFSET(rtp_port_max), AV_OPT_TYPE_INT, {.i64 = RTSP_RTP_PORT_MAX}, 0, 65535, DEC|ENC }, |
|
|
@@ -1766,6 +1767,10 @@ redirect: |
|
|
|
int lower_transport = ff_log2_tab[lower_transport_mask & |
|
|
|
~(lower_transport_mask - 1)]; |
|
|
|
|
|
|
|
if ((lower_transport_mask & (1 << RTSP_LOWER_TRANSPORT_TCP)) |
|
|
|
&& (rt->rtsp_flags & RTSP_FLAG_PREFER_TCP)) |
|
|
|
lower_transport = RTSP_LOWER_TRANSPORT_TCP; |
|
|
|
|
|
|
|
err = ff_rtsp_make_setup_request(s, host, port, lower_transport, |
|
|
|
rt->server_type == RTSP_SERVER_REAL ? |
|
|
|
real_challenge : NULL); |
|
|
|