[MPlayer-cvslog] r27496 - in trunk/stream: asf_mmst_streaming.casf_streaming.c http.c librtsp/rtsp_session.cnetwork.c network.h pnm.c rtp.c stream.cstream_ftp.c stream_netstream.c stream_rtsp.c tcp.c udp.c

JonY 10walls at gmail.com
Sun Aug 31 11:58:15 CEST 2008


Zuxy Meng wrote:
> "Dominik 'Rathann' Mierzejewski"<dominik at rangers.eu.org>  写入消息新闻:20080831082928.GA11794 at mokona.greysector.net...
>> On Saturday, 30 August 2008 at 18:21, Zuxy Meng wrote:
>>> "JonY"<10walls at gmail.com>  写入消息新闻:48B96416.4040206 at gmail.com...
>>>> diego wrote:
>>>>> Author: diego
>>>>> Date: Sat Aug 30 00:55:39 2008
>>>>> New Revision: 27496
>>>>>
>>>>> Log:
>>>>> Move duplicated '#define closesocket close' into network.h along with
>>>>> network-related #include #ifdeffery.
>>>>>
>>>>>
>>>>> Modified:
>>>>>      trunk/stream/asf_mmst_streaming.c
>>>>>      trunk/stream/asf_streaming.c
>>>>>      trunk/stream/http.c
>>>>>      trunk/stream/librtsp/rtsp_session.c
>>>>>      trunk/stream/network.c
>>>>>      trunk/stream/network.h
>>>>>      trunk/stream/pnm.c
>>>>>      trunk/stream/rtp.c
>>>>>      trunk/stream/stream.c
>>>>>      trunk/stream/stream_ftp.c
>>>>>      trunk/stream/stream_netstream.c
>>>>>      trunk/stream/stream_rtsp.c
>>>>>      trunk/stream/tcp.c
>>>>>      trunk/stream/udp.c
>>>>>
>>>> Hi,
>>>> It looks like one of the hunks broke MinGW build.
>>>>
>>>> libmpdemux and the codecs under it cannot be compiled properly because
>>>> definitions from "./loader/wine/*.h" is conflicting with the native
>>>> headers. Conflicts with "loader/wine/windef.h" is especially visible.
>>>>
>>>> "ad_internal.h", used by many of the files under libmpdemux includes
>>>> "stream/stream.h", which then includes "stream/network.h" if
>>>> "CONFIG_NETWORK" is defined, which then in turn includes the native
>>>> "ws2tcpip.h".
>>>>
>>>> r27495 builds with minor workarounds (read: local hacks) for
>>>> HAVE_WINSOCK2_H and closesockets.
>>>>
>>>> Any ideas to fix the problem?
>>> I'd say we'd better revert this mess first.
>> Why don't we have a look at the exact compilation failures first?
>> The original commit was a major cleanup and I'd hate to see it
>> reverted if it can be easily fixed.
>
>
> There're just too many. To name a few:
>
> 1. winsock2.h complains about lacking of definition for LPGUID, because
> codec-cfg.h only defines GUID.

Include ws2tcpip.h first? Both have the same length, different member 
names though.

 From winnt.h
typedef struct _GUID {
	unsigned long  Data1;
	unsigned short Data2;
	unsigned short Data3;
	unsigned char  Data4[8];
} GUID, *REFGUID, *LPGUID;

 From codec-cfg.h
typedef struct {
	unsigned long f1;
	unsigned short f2;
	unsigned short f3;
	unsigned char f4[8];
} GUID;

> 2. Definitions of INT32 and boolean conflicts with jpeglib.
> 3. STREAM_SEEK conflicts with stream/stream.h
Rename STREAM_SEEK?

> 4. Lots of redefinition where any header under loader/wine/ is included.
>
> We should include<winsock2.h>  only when it's needed, because it in turn
> includes<windows.h>  which is *big* mess.
>

IMHO, this should be fixed so native MinGW interfaces are preferred over 
WINE interface when building under MinGW.

I'm curious why wine headers are used at all for MinGW builds.



More information about the MPlayer-cvslog mailing list