--- 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));