FreeBSD's socket calls require the sockaddr struct length to agree with the address family, Linux does not. This patch fixes a failing getnameinfo() call on FreeBSD.
Signed-off-by: Kevin Lo <ke...@kevlo.org> --- diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index c6292c5..15fe25d 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -2310,7 +2310,11 @@ static int sdp_read_header(AVFormatContext *s) AVDictionary *opts = map_to_opts(rt); err = getnameinfo((struct sockaddr*) &rtsp_st->sdp_ip, +#ifdef __FreeBSD__ + ((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)); _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel