Commit 7028475f authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit 'c839b043'

* commit 'c839b043':
  rtsp: Support tls when in listen mode
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents c9791925 c839b043
...@@ -611,10 +611,12 @@ int ff_rtsp_setup_input_streams(AVFormatContext *s, RTSPMessageHeader *reply) ...@@ -611,10 +611,12 @@ int ff_rtsp_setup_input_streams(AVFormatContext *s, RTSPMessageHeader *reply)
static int rtsp_listen(AVFormatContext *s) static int rtsp_listen(AVFormatContext *s)
{ {
RTSPState *rt = s->priv_data; RTSPState *rt = s->priv_data;
char host[128], path[512], auth[128]; char proto[128], host[128], path[512], auth[128];
char uri[500]; char uri[500];
int port; int port;
int default_port = RTSP_DEFAULT_PORT;
char tcpname[500]; char tcpname[500];
const char *lower_proto = "tcp";
unsigned char rbuf[4096]; unsigned char rbuf[4096];
unsigned char method[10]; unsigned char method[10];
int rbuflen = 0; int rbuflen = 0;
...@@ -622,18 +624,23 @@ static int rtsp_listen(AVFormatContext *s) ...@@ -622,18 +624,23 @@ static int rtsp_listen(AVFormatContext *s)
enum RTSPMethod methodcode; enum RTSPMethod methodcode;
/* extract hostname and port */ /* extract hostname and port */
av_url_split(NULL, 0, auth, sizeof(auth), host, sizeof(host), &port, av_url_split(proto, sizeof(proto), auth, sizeof(auth), host, sizeof(host),
path, sizeof(path), s->filename); &port, path, sizeof(path), s->filename);
/* ff_url_join. No authorization by now (NULL) */ /* ff_url_join. No authorization by now (NULL) */
ff_url_join(rt->control_uri, sizeof(rt->control_uri), "rtsp", NULL, host, ff_url_join(rt->control_uri, sizeof(rt->control_uri), proto, NULL, host,
port, "%s", path); port, "%s", path);
if (!strcmp(proto, "rtsps")) {
lower_proto = "tls";
default_port = RTSPS_DEFAULT_PORT;
}
if (port < 0) if (port < 0)
port = RTSP_DEFAULT_PORT; port = default_port;
/* Create TCP connection */ /* Create TCP connection */
ff_url_join(tcpname, sizeof(tcpname), "tcp", NULL, host, port, ff_url_join(tcpname, sizeof(tcpname), lower_proto, NULL, host, port,
"?listen&listen_timeout=%d", rt->initial_timeout * 1000); "?listen&listen_timeout=%d", rt->initial_timeout * 1000);
if (ret = ffurl_open(&rt->rtsp_hd, tcpname, AVIO_FLAG_READ_WRITE, if (ret = ffurl_open(&rt->rtsp_hd, tcpname, AVIO_FLAG_READ_WRITE,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment