summaryrefslogtreecommitdiffstats
path: root/libavformat/rtsp.c
diff options
context:
space:
mode:
authorSigned-off-by: Jun Li <junli1026@gmail.com>2019-04-15 19:44:11 +0800
committerSteven Liu <lq@chinaffmpeg.org>2019-04-15 19:44:11 +0800
commit1ae8a1073ba8a3ceb9f51d9350785c27530aa469 (patch)
tree6ccfae460708530c099a25e17ed12b1c2b71e370 /libavformat/rtsp.c
parentbbae8d08f592a029cda5932ddc4b39694034fe53 (diff)
downloadffmpeg-streaming-1ae8a1073ba8a3ceb9f51d9350785c27530aa469.zip
ffmpeg-streaming-1ae8a1073ba8a3ceb9f51d9350785c27530aa469.tar.gz
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>
Diffstat (limited to 'libavformat/rtsp.c')
-rw-r--r--libavformat/rtsp.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 0330959..8349840 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -1744,6 +1744,9 @@ redirect:
char httpname[1024];
char sessioncookie[17];
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);
snprintf(sessioncookie, sizeof(sessioncookie), "%08x%08x",
@@ -1774,7 +1777,8 @@ redirect:
}
/* complete the connection */
- if (ffurl_connect(rt->rtsp_hd, NULL)) {
+ if (ffurl_connect(rt->rtsp_hd, &options)) {
+ av_dict_free(&options);
err = AVERROR(EIO);
goto fail;
}
@@ -1818,10 +1822,12 @@ redirect:
ff_http_init_auth_state(rt->rtsp_hd_out, rt->rtsp_hd);
/* 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);
goto fail;
}
+ av_dict_free(&options);
} else {
int ret;
/* open the tcp connection */
OpenPOWER on IntegriCloud