[FFmpeg-devel] [PATCH] IPv6 support for mingw32
Martin Storsjö
martin
Wed Jan 6 13:25:25 CET 2010
Hi Zuxy,
On Wed, 6 Jan 2010, Zuxy Meng wrote:
> Without this patch mplayer build would fail but ffmpeg is fine,
> because currently ffmpeg's configure disables IPv6 on Windows.
Could you elaborate on how mplayer's build fails if ffmpeg is configured
with IPv6 disabled?
> There's a tradeoff however, that the built binaries can't run on Windows
> 2000 or older, as getaddrinfo() and freeaddrinfo() are available as part
> of the OS since Windows XP. It's possible to run IPv6 on Windows
> 2000/ME/98 with IPv6 Technology Preview installed but that requires
> inclusion of wspiapi.h that isn't shipped in MinGW due to license
> conflicts.
Skipping backwards compatibility for this kind of feature isn't something
I'd do lighthandedly.
The common approach to preserve backwards compatibility (without losing
the IPv6 functionality on the newer versions that actually have a proper
getaddrinfo) on windows is to load them using GetProcAddress, and provide
a fallback wrapper if they aren't found. Fallback wrappers already are
provided in the "[PATCH/RFC] Prefer getaddrinfo over gethostbyname"
thread, so adding support for loading the proper ones on top of those
patches is quite easy. I can give that a try.
In that case, the ipv6 configure check could be simplified to only look
for e.g. struct ipv6_mreq and other stuff related to multicast/ipv6 - or
later provide fallbacks for those too and remove the ipv6 configure check
completely.
As said, I can try to get proper IPv6 getaddrinfo for mingw - without
breaking backwards compatibility. But in order to know what to aim at, I'd
like to know what the build problem with mplayer actually is.
// Martin
More information about the ffmpeg-devel
mailing list