You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
lavf/rtsp.c: Fix stimeout option not applied on http tunnel
stimeout option is already used in tcp transport, since http is based on tcp, pass the option to http for tunneling case. Reviewed-by: Steven Liu <lq@onvideo.cn> Signed-off-by: Jun Li <junli1026@gmail.com>
This commit is contained in:
@@ -1744,6 +1744,9 @@ redirect:
|
|||||||
char httpname[1024];
|
char httpname[1024];
|
||||||
char sessioncookie[17];
|
char sessioncookie[17];
|
||||||
char headers[1024];
|
char headers[1024];
|
||||||
|
AVDictionary *options = NULL;
|
||||||
|
|
||||||
|
av_dict_set_int(&options, "timeout", rt->stimeout, 0);
|
||||||
|
|
||||||
ff_url_join(httpname, sizeof(httpname), https_tunnel ? "https" : "http", auth, host, port, "%s", path);
|
ff_url_join(httpname, sizeof(httpname), https_tunnel ? "https" : "http", auth, host, port, "%s", path);
|
||||||
snprintf(sessioncookie, sizeof(sessioncookie), "%08x%08x",
|
snprintf(sessioncookie, sizeof(sessioncookie), "%08x%08x",
|
||||||
@@ -1774,7 +1777,8 @@ redirect:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* complete the connection */
|
/* complete the connection */
|
||||||
if (ffurl_connect(rt->rtsp_hd, NULL)) {
|
if (ffurl_connect(rt->rtsp_hd, &options)) {
|
||||||
|
av_dict_free(&options);
|
||||||
err = AVERROR(EIO);
|
err = AVERROR(EIO);
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
@@ -1818,10 +1822,12 @@ redirect:
|
|||||||
ff_http_init_auth_state(rt->rtsp_hd_out, rt->rtsp_hd);
|
ff_http_init_auth_state(rt->rtsp_hd_out, rt->rtsp_hd);
|
||||||
|
|
||||||
/* complete the connection */
|
/* complete the connection */
|
||||||
if (ffurl_connect(rt->rtsp_hd_out, NULL)) {
|
if (ffurl_connect(rt->rtsp_hd_out, &options)) {
|
||||||
|
av_dict_free(&options);
|
||||||
err = AVERROR(EIO);
|
err = AVERROR(EIO);
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
av_dict_free(&options);
|
||||||
} else {
|
} else {
|
||||||
int ret;
|
int ret;
|
||||||
/* open the tcp connection */
|
/* open the tcp connection */
|
||||||
|
Reference in New Issue
Block a user