mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
rtpproto: Allow specifying a separate rtcp port in ff_rtp_set_remote_url
A separate rtcp port can already be set when opening the rtp protocol normally, but when doing port setup as in RTSP (where we first need to open the local ports and pass them to the peer, and only then receive the remote peer port numbers), we didn't check the same url parameter as in the normal open routine. Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
1851e1d05d
commit
ee37d5811c
@ -61,18 +61,27 @@ int ff_rtp_set_remote_url(URLContext *h, const char *uri)
|
||||
{
|
||||
RTPContext *s = h->priv_data;
|
||||
char hostname[256];
|
||||
int port;
|
||||
int port, rtcp_port;
|
||||
const char *p;
|
||||
|
||||
char buf[1024];
|
||||
char path[1024];
|
||||
|
||||
av_url_split(NULL, 0, NULL, 0, hostname, sizeof(hostname), &port,
|
||||
path, sizeof(path), uri);
|
||||
rtcp_port = port + 1;
|
||||
|
||||
p = strchr(uri, '?');
|
||||
if (p) {
|
||||
if (av_find_info_tag(buf, sizeof(buf), "rtcpport", p)) {
|
||||
rtcp_port = strtol(buf, NULL, 10);
|
||||
}
|
||||
}
|
||||
|
||||
ff_url_join(buf, sizeof(buf), "udp", NULL, hostname, port, "%s", path);
|
||||
ff_udp_set_remote_url(s->rtp_hd, buf);
|
||||
|
||||
ff_url_join(buf, sizeof(buf), "udp", NULL, hostname, port + 1, "%s", path);
|
||||
ff_url_join(buf, sizeof(buf), "udp", NULL, hostname, rtcp_port, "%s", path);
|
||||
ff_udp_set_remote_url(s->rtcp_hd, buf);
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user