[FFmpeg-devel] MinGW network support

Michel Bardiaux mbardiaux
Wed May 16 11:03:43 CEST 2007


Michael Niedermayer wrote:
> Hi
> 
> On Tue, May 15, 2007 at 05:10:19PM +0200, Alex Beregszaszi wrote:
>> Hi,
>>
>>>> Attached you'll find a patch which was composed of patches from various
>>>> people in previous threads, probably (Alex Beregszaszi, Michael Kohn,
>>>> Ryan Martell, Klaas-Pieter Vlieg - my apologies if I've forgotten
>>>> anyone...).
>>> I have a different, and imho much cleaner implementation. Will post in
>>> in a few hours.
>>>
>>> Also note your patch wont be working. Setting EINPROGRESS to zero has no
>>> effect, as it is checking for WSAEINPROGRESS.
>> Just applied the sane changes to the SVN.
>>
>> Attached patches are:
>>
>> 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 ...
> 
> 
>> 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

Actually, it is.

>  */
> 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, the winsock layer maintains its own, thread-safe, counter of number 
of times it has been called.

> also what about uninit, doesnt this need some uninit? 

In theory, yes, practically, no.

> no i dont know
> winsock API at all ...
> 
> 
>> 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= ...
> second, what happens if the user application includes winsock*.h without
> the same FD_SETSIZE set ?

Greetings,
-- 
Michel Bardiaux
R&D Director
T +32 [0] 2 790 29 41
F +32 [0] 2 790 29 02
E mailto:mbardiaux at mediaxim.be

Mediaxim NV/SA
Vorstlaan 191 Boulevard du Souverain
Brussel 1160 Bruxelles
http://www.mediaxim.com/




More information about the ffmpeg-devel mailing list