[FFmpeg-devel] [PATCH] Fix setsockopt IP_MULTICAST_TTL on OpenBSD
Michael Niedermayer
michael at niedermayer.cc
Mon Jan 24 14:40:47 EET 2022
On Sun, Jan 23, 2022 at 02:55:38PM -0500, Brad Smith wrote:
> On 1/23/2022 6:57 AM, Michael Niedermayer wrote:
>
> > On Wed, Jan 12, 2022 at 12:13:13AM -0500, Brad Smith wrote:
> > > Fix setsockopt() usage on OpenBSD with IP_MULTICAST_TTL. The field
> > > type should be an unsigned char on anything but Linux.
> > >
> > >
> > > diff --git a/libavformat/udp.c b/libavformat/udp.c
> > > index 180d96a988..29aa865fff 100644
> > > --- a/libavformat/udp.c
> > > +++ b/libavformat/udp.c
> > > @@ -163,7 +163,13 @@ static int udp_set_multicast_ttl(int sockfd, int mcastTTL,
> > > {
> > > #ifdef IP_MULTICAST_TTL
> > > if (addr->sa_family == AF_INET) {
> > > - if (setsockopt(sockfd, IPPROTO_IP, IP_MULTICAST_TTL, &mcastTTL, sizeof(mcastTTL)) < 0) {
> > > +#ifdef __linux__
> > > + int ttl = mcastTTL;
> > > +#else
> > > + unsigned char ttl = mcastTTL;
> > > +#endif
> > this "ifdef __linux__" feels like the wrong thing to check, dont you agree ?
>
> Not sure what you mean.
"__linux__" seems the wrong property to check for
this is not
#ifdef __linux__
osname = "linux"
#else
i would have expected more something like
#if HAVE_INT_TTL
int ttl = mcastTTL;
#else
or maybe even something along the lines of
WHATEVER_TTL_TYPE ttl = mcastTTL;
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Why not whip the teacher when the pupil misbehaves? -- Diogenes of Sinope
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20220124/344b1c0f/attachment.sig>
More information about the ffmpeg-devel
mailing list