[FFmpeg-devel] MinGW network support

Alex Beregszaszi alex
Thu May 17 16:44:10 CEST 2007

> > einprogress.diff:
> > Make tcp/http working on mingw. I dont think this patch is the best way.
> > Any ideas?
> no, but id like to understand what is wrong / why this is needed, it looks
> very much like a random not at all understood change ...

Debugged it again. It returns EAGAIN instead EINPROGRESS. Attached is a
patch which works both on Linux and Mingw.

> > wsainit.diff:
> > I think this is the best way to do that crazy winsock init. This way
> > ffserver.c wont need an own implementation.
> i dont like this, IMHO this belongs into the application or at least into
> some seperate function like
> /**
>  * inits bill gates socks, and does nothing on a real OS
>  * this likely is not thread safe
>  */
> av_network_init()
> one obvious issue with your suggestion is that in an application which
> uses libavformat amongth other network code the init has likely been
> performed already and doing it 2x sounds like a bad idea

No, it uses an internal reference number counter, so only the first call
to init will do the initialization part.

> also what about uninit, doesnt this need some uninit? no i dont know
> winsock API at all ...

Practically its not needed.

I think this is the simplest way to add this braindead function call.
> > pollbug.diff:
> > FD_SETSIZE is broken on Windows, this workarounds its. This patch is
> > needed for ffserver.
> this looks wrong
> first IMHO it should be set as parameter to gcc like -DFD_SETSIZE= ...

Would it be acceptable that way?

> second, what happens if the user application includes winsock*.h without
> the same FD_SETSIZE set ?

I think nothing, as this is used by the FD_SET/ISSET/CLR/ZERO macros,
which are broken, not select itself.

Alex Beregszaszi

-------------- next part --------------
A non-text attachment was scrubbed...
Name: eagain.diff
Type: text/x-patch
Size: 529 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070517/96148c9c/attachment.bin>

More information about the ffmpeg-devel mailing list