ports/multimedia/ffmpeg3/files/patch-libavformat_rtsp.c
Kevin Reinholz 2438c611d7 multimedia/ffmpeg3: New port: Legacy branch of ffmpeg 3.*
To be used exclusively with emulators/ppsspp as newer versions are
incompatible due to how the hardware in the Sony PSP works.
FFmpeg is stripped down to avoid incompatbilities with external
dependencies, only provides static libraries to avoid getting
pull in unintentionally and is statically linked to PPSSPP.

PR:		282188, 282792
2024-11-23 09:42:35 +01:00

44 lines
1.7 KiB
C

--- libavformat/rtsp.c.orig 2024-05-15 16:46:06 UTC
+++ libavformat/rtsp.c
@@ -1607,7 +1607,12 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, con
}
if (ttl > 0)
snprintf(optbuf, sizeof(optbuf), "?ttl=%d", ttl);
- getnameinfo((struct sockaddr*) &addr, sizeof(addr),
+ getnameinfo((struct sockaddr*) &addr,
+#if HAVE_STRUCT_SOCKADDR_SA_LEN
+ ((struct sockaddr*) &addr)->sa_len,
+#else
+ sizeof(addr),
+#endif
namebuf, sizeof(namebuf), NULL, 0, NI_NUMERICHOST);
ff_url_join(url, sizeof(url), "rtp", NULL, namebuf,
port, "%s", optbuf);
@@ -1815,8 +1820,13 @@ redirect:
goto fail;
}
if (!getpeername(tcp_fd, (struct sockaddr*) &peer, &peer_len)) {
- getnameinfo((struct sockaddr*) &peer, peer_len, host, sizeof(host),
- NULL, 0, NI_NUMERICHOST);
+ getnameinfo((struct sockaddr*) &peer,
+#if HAVE_STRUCT_SOCKADDR_SA_LEN
+ ((struct sockaddr*) &peer)->sa_len,
+#else
+ peer_len,
+#endif
+ host, sizeof(host), NULL, 0, NI_NUMERICHOST);
}
/* request options supported by the server; this also detects server
@@ -2295,7 +2305,11 @@ static int sdp_read_header(AVFormatContext *s)
AVDictionary *opts = map_to_opts(rt);
err = getnameinfo((struct sockaddr*) &rtsp_st->sdp_ip,
+#if HAVE_STRUCT_SOCKADDR_SA_LEN
+ ((struct sockaddr*) &rtsp_st->sdp_ip)->sa_len,
+#else
sizeof(rtsp_st->sdp_ip),
+#endif
namebuf, sizeof(namebuf), NULL, 0, NI_NUMERICHOST);
if (err) {
av_log(s, AV_LOG_ERROR, "getnameinfo: %s\n", gai_strerror(err));