[vlc-devel] [PATCH] Live555: could not play streams on devices with Linux kernel lower than 3.9

Rémi Denis-Courmont remi at remlab.net
Mon Dec 23 16:02:43 CET 2019


Le maanantaina 23. joulukuuta 2019, 16.56.09 EET Mirco Pazzaglia a écrit :
> > Maybe so, but that does not explain why you get the flag only to ignore
> > it.
> 
> You are right about that. I am actually providing two dummy variables to the
> getsockopt (int checkReuseFlag, int checkReuseFlagLen) for the mere purpose
> of having the function to work, as it needs those two parameters. I am
> actually not interested in the retrieved values (if any value is retrieved
> at all), I just need the getsockopt to tell if the system is ok with that
> socket options (return value of 0) or not. I am pretty sure that the code
> could be improved/simplified as the one provided in the current patch could
> be seen as a straight workaround.
> > And I don't really see why live555 sets the REUSEPORT flag to begin with.
> > AFAIK, it's meant for load-balancing between multiple processes. It's not
> > something you typically want in the client side.
> 
> They say "I should also point out that the reason for allowing SO_REUSEPORT
> (on datagram sockets; not stream sockets) is to allow other applications -
> running on the same host - to also receive this incoming RTP or RTCP
> packets, e.g., for monitoring purposes."

That won't work. SO_REUSEPORT splits the packet across sockets for load-
balancing, it does *not* replicate the packets across sockets.

On Linux, that is. On BSD, SO_REUSEPORT_LB does load-balancing and 
SO_REUSEPORT does that they describe.

-- 
雷米‧德尼-库尔蒙
http://www.remlab.net/





More information about the vlc-devel mailing list