mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
rtsp: Only set the ttl parameter if the server actually gave a value
Passing ttl=0 to the rtp/udp url contexts makes packets never leave the host machine. Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
2bfd92b330
commit
6294d708b8
@ -1350,7 +1350,7 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, const char *host, int port,
|
||||
break;
|
||||
}
|
||||
case RTSP_LOWER_TRANSPORT_UDP_MULTICAST: {
|
||||
char url[1024], namebuf[50];
|
||||
char url[1024], namebuf[50], optbuf[20] = "";
|
||||
struct sockaddr_storage addr;
|
||||
int port, ttl;
|
||||
|
||||
@ -1363,10 +1363,12 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, const char *host, int port,
|
||||
port = rtsp_st->sdp_port;
|
||||
ttl = rtsp_st->sdp_ttl;
|
||||
}
|
||||
if (ttl > 0)
|
||||
snprintf(optbuf, sizeof(optbuf), "?ttl=%d", ttl);
|
||||
getnameinfo((struct sockaddr*) &addr, sizeof(addr),
|
||||
namebuf, sizeof(namebuf), NULL, 0, NI_NUMERICHOST);
|
||||
ff_url_join(url, sizeof(url), "rtp", NULL, namebuf,
|
||||
port, "?ttl=%d", ttl);
|
||||
port, "%s", optbuf);
|
||||
if (ffurl_open(&rtsp_st->rtp_handle, url, AVIO_FLAG_READ_WRITE,
|
||||
&s->interrupt_callback, NULL) < 0) {
|
||||
err = AVERROR_INVALIDDATA;
|
||||
|
Loading…
Reference in New Issue
Block a user