summaryrefslogtreecommitdiff
path: root/libavformat/http.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/http.c')
-rw-r--r--libavformat/http.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/libavformat/http.c b/libavformat/http.c
index acf031898a..3a31a86447 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -304,12 +304,15 @@ static int http_listen(URLContext *h, const char *uri, int flags,
HTTPContext *s = h->priv_data;
int ret;
static const char header[] = "HTTP/1.1 200 OK\r\nContent-Type: application/octet-stream\r\nTransfer-Encoding: chunked\r\n\r\n";
- char hostname[1024];
+ char hostname[1024], proto[10];
char lower_url[100];
+ char *lower_proto = "tcp";
int port, new_location;
- av_url_split(NULL, 0, NULL, 0, hostname, sizeof(hostname), &port,
+ av_url_split(proto, sizeof(proto), NULL, 0, hostname, sizeof(hostname), &port,
NULL, 0, uri);
- ff_url_join(lower_url, sizeof(lower_url), "tcp", NULL, hostname, port,
+ if (!strcmp(proto, "https"))
+ lower_proto = "tls";
+ ff_url_join(lower_url, sizeof(lower_url), lower_proto, NULL, hostname, port,
NULL);
av_dict_set(options, "listen", "1", 0);
if ((ret = ffurl_open(&s->hd, lower_url, AVIO_FLAG_READ_WRITE,