[MPlayer-cvslog] r34203 - in trunk: Changelog DOCS/tech/crosscompile.txt DOCS/tech/mingw-crosscompile.txt Makefile configure gui/win32/interface.c loader/com.h mplayer.c osdep/priority.c stream/tvi_dshow.c
ib
subversion at mplayerhq.hu
Sat Oct 15 15:20:52 CEST 2011
Author: ib
Date: Sat Oct 15 15:20:52 2011
New Revision: 34203
Log:
Port to Wine.
This makes MPlayer and the GUI compile and run as a Wine executable,
which is mainly to allow Windows code checking in a Linux environment.
In Makefile: Generalize the windres call by specifying option "-o" for
the output file.
In gui/win32/interface.c: Use the same function to create a thread as
Cygwin, and convert Windows style file names so that they are accessible
in the Linux environment.
In osdep/priority.c: Include windows.h.
In configure: Add system "Wine" which shall be considered (mostly) a
win32 system. Since winegcc by default compiles all files with the
"-fpic" flag, remove it, and remove all MinGW compatibility WIN32
defines, because we're not compiling for real Windows. Define to not use
Windows sockets (Wine uses different ones) and replace Windows' stricmp
by strcasecmp. Ensure that yasm's object format isn't win32 and that
HAVE_LINUX_DVD_STRUCT will be defined.
In stream/tvi_dshow.c: Define MP_DEFINE_LOCAL_GUID, because Wine's
DEFINE_GUID macro isn't compatible using "static" with it.
In loader/com.h: Rename the IIDs to become local ones, because Wine's
unknwn.h not only declares but defines them.
In mplayer.c: Don't define a SIGSEGV signal handler, or the Wine
executable will crash.
Added:
trunk/DOCS/tech/crosscompile.txt
- copied, changed from r34200, trunk/DOCS/tech/mingw-crosscompile.txt
Deleted:
trunk/DOCS/tech/mingw-crosscompile.txt
Modified:
trunk/Changelog
trunk/Makefile
trunk/configure
trunk/gui/win32/interface.c
trunk/loader/com.h
trunk/mplayer.c
trunk/osdep/priority.c
trunk/stream/tvi_dshow.c
Modified: trunk/Changelog
==============================================================================
--- trunk/Changelog Sat Oct 15 13:07:29 2011 (r34202)
+++ trunk/Changelog Sat Oct 15 15:20:52 2011 (r34203)
@@ -19,6 +19,9 @@ MPlayer (1.0)
* experimental af_cmdline slave command to change e.g. audio equalizer options at runtime.
* vo x11: don't hide or show cursor any more if attached to an existing window (-wid)
+ Ports:
+ * Wine (see DOCS/tech/crosscompile.txt)
+
MEncoder:
* -force-key-frames option to set explicit seek points.
Copied and modified: trunk/DOCS/tech/crosscompile.txt (from r34200, trunk/DOCS/tech/mingw-crosscompile.txt)
==============================================================================
--- trunk/DOCS/tech/mingw-crosscompile.txt Sat Oct 15 08:41:24 2011 (r34200, copy source)
+++ trunk/DOCS/tech/crosscompile.txt Sat Oct 15 15:20:52 2011 (r34203)
@@ -1,6 +1,10 @@
Due to a lack of Windows developers, it is a good idea to allow Linux
developers to do at least some basic check of their code.
-This HOWTO explains how to set up MinGW cross-compilation under Debian.
+This HOWTO explains how to set up cross-compilation.
+
+
+MinGW under Debian
+==================
First, you need to install the "mingw32" package and get a MPlayer SVN
checkout.
@@ -30,3 +34,20 @@ wget http://natsuki.mplayerhq.hu/~reimar
tar -xjf mpl_mingw32.tar.bz2
sh linux-mingw.sh
make
+
+
+Wine
+====
+
+First, you need to install the "Wine" package and get a MPlayer SVN
+checkout.
+
+You don't need any dependencies other than those you already have for
+your Linux build, because the Wine and Linux build will use them together.
+
+Configure with
+
+ ./configure --target=$(uname -m)-wine --cc=winegcc --windres=wrc
+
+and add any options you normally use for your Linux build (such as
+--enable-gui), then run make.
Modified: trunk/Makefile
==============================================================================
--- trunk/Makefile Sat Oct 15 13:07:29 2011 (r34202)
+++ trunk/Makefile Sat Oct 15 15:20:52 2011 (r34203)
@@ -779,7 +779,7 @@ all: $(ALL_PRG-yes)
$(CC) $(CC_DEPFLAGS) $(CFLAGS) -c -o $@ $<
%-rc.o: %.rc
- $(WINDRES) -I. $< $@
+ $(WINDRES) -I. $< -o $@
$(FFMPEGLIBS): $(FFMPEGFILES) config.h
$(MAKE) -C ffmpeg $(@:ffmpeg/%=%)
Modified: trunk/configure
==============================================================================
--- trunk/configure Sat Oct 15 13:07:29 2011 (r34202)
+++ trunk/configure Sat Oct 15 15:20:52 2011 (r34203)
@@ -240,7 +240,8 @@ openbsd() { issystem "OpenBSD"; }
os2() { issystem "OS/2"; }
qnx() { issystem "QNX"; }
sunos() { issystem "SunOS"; }
-win32() { cygwin || mingw32; }
+wine() { issystem "Wine"; }
+win32() { cygwin || mingw32 || wine; }
# arch test boolean functions
# x86/x86pc is used by QNX
@@ -1522,6 +1523,7 @@ else # if test -z "$_target"
morphos) system_name=MorphOS ;;
amigaos) system_name=AmigaOS ;;
mingw32*) system_name=MINGW32 ;;
+ wine) system_name=Wine ;;
esac
# We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
host_arch=$(echo $_target | cut -d '-' -f 1)
@@ -1591,6 +1593,10 @@ if os2 ; then
def_priority="#define CONFIG_PRIORITY 1"
fi
+if wine ; then
+ extra_cflags="-fno-pic -UWIN32 -U_WIN32 -U__WIN32 -U__WIN32__ -DWINE_NOWINSOCK -Dstricmp=strcasecmp $extra_cflags"
+fi
+
for tmpdir in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
test "$tmpdir" && break
done
@@ -2720,7 +2726,7 @@ echocheck "yasm"
if test -z "$YASMFLAGS" ; then
if darwin ; then
x86_64 && objformat="macho64" || objformat="macho"
- elif win32 ; then
+ elif win32 && ! wine ; then
objformat="win32"
elif os2 ; then
_yasm=nasm
@@ -5760,7 +5766,7 @@ if test "$_libdvdcss_internal" = auto &&
hpux && test "$_hpux_scsi_h" = no && _libdvdcss_internal=no
fi
if test "$_libdvdcss_internal" = yes ; then
- if linux || netbsd || openbsd || bsdos ; then
+ if linux || netbsd || openbsd || bsdos || wine ; then
def_dvd_linux='#define HAVE_LINUX_DVD_STRUCT 1'
openbsd && def_dvd_openbsd='#define HAVE_OPENBSD_DVD_STRUCT 1'
elif freebsd || dragonfly ; then
Modified: trunk/gui/win32/interface.c
==============================================================================
--- trunk/gui/win32/interface.c Sat Oct 15 13:07:29 2011 (r34202)
+++ trunk/gui/win32/interface.c Sat Oct 15 15:20:52 2011 (r34203)
@@ -23,7 +23,7 @@
#include <windows.h>
-#if defined(__CYGWIN__)
+#if defined(__CYGWIN__) || defined(__WINE__)
#define _beginthreadex CreateThread
#else
#include <process.h>
@@ -332,6 +332,44 @@ void uiPrev(void)
mygui->startplay(mygui);
}
+#ifdef __WINE__
+/**
+ * @brief Convert a Windows style file name into an Unix style one.
+ *
+ * @param filename pointer to the file name to be converted
+ *
+ * @return pointer to the converted file name
+ */
+static char *unix_name (char *filename)
+{
+ static char *unix_filename;
+ LPSTR (*CDECL wine_get_unix_file_name_ptr)(LPCWSTR);
+ int wchar_conv;
+
+ if (*filename && (filename[1] == ':'))
+ {
+ wine_get_unix_file_name_ptr = (void *) GetProcAddress(GetModuleHandleA("KERNEL32"), "wine_get_unix_file_name");
+ wchar_conv = MultiByteToWideChar(CP_UNIXCP, 0, filename, -1, NULL, 0);
+
+ if (wine_get_unix_file_name_ptr && wchar_conv)
+ {
+ WCHAR *ntpath;
+ char *unix_name;
+
+ ntpath = HeapAlloc(GetProcessHeap(), 0, sizeof(*ntpath) * (wchar_conv + 1));
+ MultiByteToWideChar(CP_UNIXCP, 0, filename, -1, ntpath, wchar_conv);
+ unix_name = wine_get_unix_file_name_ptr(ntpath);
+ setdup(&unix_filename, unix_name);
+ filename = unix_filename;
+ HeapFree(GetProcessHeap(), 0, unix_name);
+ HeapFree(GetProcessHeap(), 0, ntpath);
+ }
+ }
+
+ return filename;
+}
+#endif
+
void uiSetFileName(char *dir, char *name, int type)
{
if(!name) return;
@@ -341,6 +379,9 @@ void uiSetFileName(char *dir, char *name
setddup(&guiInfo.Filename, dir, name);
filename = guiInfo.Filename;
+#ifdef __WINE__
+ filename = unix_name(filename);
+#endif
guiInfo.StreamType = type;
nfree(guiInfo.AudioFilename);
Modified: trunk/loader/com.h
==============================================================================
--- trunk/loader/com.h Sat Oct 15 13:07:29 2011 (r34202)
+++ trunk/loader/com.h Sat Oct 15 15:20:52 2011 (r34203)
@@ -29,6 +29,9 @@ typedef struct
} GUID;
#endif
+// hack: use copies of the IIDs
+#define IID_IUnknown MP_IID_IUnknown
+#define IID_IClassFactory MP_IID_IClassFactory
extern const GUID IID_IUnknown;
extern const GUID IID_IClassFactory;
Modified: trunk/mplayer.c
==============================================================================
--- trunk/mplayer.c Sat Oct 15 13:07:29 2011 (r34202)
+++ trunk/mplayer.c Sat Oct 15 15:20:52 2011 (r34203)
@@ -3002,7 +3002,9 @@ int main(int argc, char *argv[])
#ifdef CONFIG_SIGHANDLER
// fatal errors:
signal(SIGBUS, exit_sighandler); // bus error
+#ifndef __WINE__
signal(SIGSEGV, exit_sighandler); // segfault
+#endif
signal(SIGILL, exit_sighandler); // illegal instruction
signal(SIGFPE, exit_sighandler); // floating point exc.
signal(SIGABRT, exit_sighandler); // abort()
Modified: trunk/osdep/priority.c
==============================================================================
--- trunk/osdep/priority.c Sat Oct 15 13:07:29 2011 (r34202)
+++ trunk/osdep/priority.c Sat Oct 15 15:20:52 2011 (r34203)
@@ -22,7 +22,7 @@
#include "osdep.h"
-#if defined(__MINGW32__) || defined(__CYGWIN__)
+#if defined(__MINGW32__) || defined(__CYGWIN__) || defined(__WINE__)
#include <windows.h>
#endif
Modified: trunk/stream/tvi_dshow.c
==============================================================================
--- trunk/stream/tvi_dshow.c Sat Oct 15 13:07:29 2011 (r34202)
+++ trunk/stream/tvi_dshow.c Sat Oct 15 15:20:52 2011 (r34203)
@@ -87,6 +87,15 @@
#include "frequencies.h"
+#define MP_DEFINE_LOCAL_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
+ static const GUID name = {l, w1, w2, {b1, b2, b3, b4, b5, b6, b7, b8}}
+
+#ifdef __WINE__
+// take care of unions which are normally declared
+// named by Wine but nameless (anonymous) by Windows
+#define _FORCENAMELESSUNION
+#endif
+
#include "tvi_dshow.h"
#ifndef STDCALL
@@ -379,122 +388,122 @@ static int tv_available_inputs_count = 0
#define DECLSPEC_SELECTANY
/// CLSID definitions (used for CoCreateInstance call)
#define CLSID_SampleGrabber MP_CLSID_SampleGrabber
-static DEFINE_GUID(CLSID_SampleGrabber, 0xC1F400A0, 0x3F08, 0x11d3, 0x9F, 0x0B,
+MP_DEFINE_LOCAL_GUID(CLSID_SampleGrabber, 0xC1F400A0, 0x3F08, 0x11d3, 0x9F, 0x0B,
0x00, 0x60, 0x08, 0x03, 0x9E, 0x37);
#define CLSID_NullRenderer MP_CLSID_NullRenderer
-static DEFINE_GUID(CLSID_NullRenderer, 0xC1F400A4, 0x3F08, 0x11d3, 0x9F, 0x0B,
+MP_DEFINE_LOCAL_GUID(CLSID_NullRenderer, 0xC1F400A4, 0x3F08, 0x11d3, 0x9F, 0x0B,
0x00, 0x60, 0x08, 0x03, 0x9E, 0x37);
#define CLSID_SystemDeviceEnum MP_CLSID_SystemDeviceEnum
-static DEFINE_GUID(CLSID_SystemDeviceEnum, 0x62BE5D10, 0x60EB, 0x11d0, 0xBD, 0x3B,
+MP_DEFINE_LOCAL_GUID(CLSID_SystemDeviceEnum, 0x62BE5D10, 0x60EB, 0x11d0, 0xBD, 0x3B,
0x00, 0xA0, 0xC9, 0x11, 0xCE, 0x86);
#define CLSID_CaptureGraphBuilder2 MP_CLSID_CaptureGraphBuilder2
-static DEFINE_GUID(CLSID_CaptureGraphBuilder2, 0xBF87B6E1, 0x8C27, 0x11d0, 0xB3,
+MP_DEFINE_LOCAL_GUID(CLSID_CaptureGraphBuilder2, 0xBF87B6E1, 0x8C27, 0x11d0, 0xB3,
0xF0, 0x00, 0xAA, 0x00, 0x37, 0x61, 0xC5);
#define CLSID_VideoInputDeviceCategory MP_CLSID_VideoInputDeviceCategory
-static DEFINE_GUID(CLSID_VideoInputDeviceCategory, 0x860BB310, 0x5D01, 0x11d0,
+MP_DEFINE_LOCAL_GUID(CLSID_VideoInputDeviceCategory, 0x860BB310, 0x5D01, 0x11d0,
0xBD, 0x3B, 0x00, 0xA0, 0xC9, 0x11, 0xCE, 0x86);
#define CLSID_AudioInputDeviceCategory MP_CLSID_AudioInputDeviceCategory
-static DEFINE_GUID(CLSID_AudioInputDeviceCategory, 0x33d9a762, 0x90c8, 0x11d0,
+MP_DEFINE_LOCAL_GUID(CLSID_AudioInputDeviceCategory, 0x33d9a762, 0x90c8, 0x11d0,
0xbd, 0x43, 0x00, 0xa0, 0xc9, 0x11, 0xce, 0x86);
#define CLSID_FilterGraph MP_CLSID_FilterGraph
-static DEFINE_GUID(CLSID_FilterGraph, 0xe436ebb3, 0x524f, 0x11ce, 0x9f, 0x53,
+MP_DEFINE_LOCAL_GUID(CLSID_FilterGraph, 0xe436ebb3, 0x524f, 0x11ce, 0x9f, 0x53,
0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
#define CLSID_SystemClock MP_CLSID_SystemClock
-static DEFINE_GUID(CLSID_SystemClock, 0xe436ebb1, 0x524f, 0x11ce, 0x9f, 0x53,
+MP_DEFINE_LOCAL_GUID(CLSID_SystemClock, 0xe436ebb1, 0x524f, 0x11ce, 0x9f, 0x53,
0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
#ifdef NOT_USED
#define CLSID_CaptureGraphBuilder MP_CLSID_CaptureGraphBuilder
-static DEFINE_GUID(CLSID_CaptureGraphBuilder, 0xBF87B6E0, 0x8C27, 0x11d0, 0xB3,
+MP_DEFINE_LOCAL_GUID(CLSID_CaptureGraphBuilder, 0xBF87B6E0, 0x8C27, 0x11d0, 0xB3,
0xF0, 0x00, 0xAA, 0x00, 0x37, 0x61, 0xC5);
#define CLSID_VideoPortManager MP_CLSID_VideoPortManager
-static DEFINE_GUID(CLSID_VideoPortManager, 0x6f26a6cd, 0x967b, 0x47fd, 0x87, 0x4a,
+MP_DEFINE_LOCAL_GUID(CLSID_VideoPortManager, 0x6f26a6cd, 0x967b, 0x47fd, 0x87, 0x4a,
0x7a, 0xed, 0x2c, 0x9d, 0x25, 0xa2);
#define IID_IPin MP_IID_IPin
-static DEFINE_GUID(IID_IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00, 0x20,
+MP_DEFINE_LOCAL_GUID(IID_IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00, 0x20,
0xaf, 0x0b, 0xa7, 0x70);
#define IID_ICaptureGraphBuilder MP_IID_ICaptureGraphBuilder
-static DEFINE_GUID(IID_ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,
+MP_DEFINE_LOCAL_GUID(IID_ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,
0xf0, 0x00, 0xaa, 0x00, 0x37, 0x61, 0xc5);
#define IID_IFilterGraph MP_IID_IFilterGraph
-static DEFINE_GUID(IID_IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00,
+MP_DEFINE_LOCAL_GUID(IID_IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00,
0x20, 0xaf, 0x0b, 0xa7, 0x70);
#define PIN_CATEGORY_PREVIEW MP_PIN_CATEGORY_PREVIEW
-static DEFINE_GUID(PIN_CATEGORY_PREVIEW, 0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f,
+MP_DEFINE_LOCAL_GUID(PIN_CATEGORY_PREVIEW, 0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f,
0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
#endif
/// IID definitions (used for QueryInterface call)
#define IID_IReferenceClock MP_IID_IReferenceClock
-static DEFINE_GUID(IID_IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0, 0x3a,
+MP_DEFINE_LOCAL_GUID(IID_IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0, 0x3a,
0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
#define IID_IAMBufferNegotiation MP_IID_IAMBufferNegotiation
-static DEFINE_GUID(IID_IAMBufferNegotiation, 0x56ED71A0, 0xAF5F, 0x11D0, 0xB3, 0xF0,
+MP_DEFINE_LOCAL_GUID(IID_IAMBufferNegotiation, 0x56ED71A0, 0xAF5F, 0x11D0, 0xB3, 0xF0,
0x00, 0xAA, 0x00, 0x37, 0x61, 0xC5);
#define IID_IKsPropertySet MP_IID_IKsPropertySet
-static DEFINE_GUID(IID_IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9, 0xaa,
+MP_DEFINE_LOCAL_GUID(IID_IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9, 0xaa,
0x00, 0xaa, 0x00, 0x61, 0xbe, 0x93);
#define IID_ISampleGrabber MP_IID_ISampleGrabber
-static DEFINE_GUID(IID_ISampleGrabber, 0x6B652FFF, 0x11FE, 0x4fce, 0x92, 0xAD,
+MP_DEFINE_LOCAL_GUID(IID_ISampleGrabber, 0x6B652FFF, 0x11FE, 0x4fce, 0x92, 0xAD,
0x02, 0x66, 0xB5, 0xD7, 0xC7, 0x8F);
#define IID_ISampleGrabberCB MP_IID_ISampleGrabberCB
-static DEFINE_GUID(IID_ISampleGrabberCB, 0x0579154A, 0x2B53, 0x4994, 0xB0, 0xD0,
+MP_DEFINE_LOCAL_GUID(IID_ISampleGrabberCB, 0x0579154A, 0x2B53, 0x4994, 0xB0, 0xD0,
0xE7, 0x73, 0x14, 0x8E, 0xFF, 0x85);
#define IID_ICaptureGraphBuilder2 MP_IID_ICaptureGraphBuilder2
-static DEFINE_GUID(IID_ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,
+MP_DEFINE_LOCAL_GUID(IID_ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,
0xfa, 0x00, 0xa0, 0xc9, 0xc6, 0xe3, 0x8d);
#define IID_ICreateDevEnum MP_IID_ICreateDevEnum
-static DEFINE_GUID(IID_ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd, 0x3b,
+MP_DEFINE_LOCAL_GUID(IID_ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd, 0x3b,
0x00, 0xa0, 0xc9, 0x11, 0xce, 0x86);
#define IID_IGraphBuilder MP_IID_IGraphBuilder
-static DEFINE_GUID(IID_IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0, 0x3a,
+MP_DEFINE_LOCAL_GUID(IID_IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0, 0x3a,
0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
#define IID_IAMVideoProcAmp MP_IID_IAMVideoProcAmp
-static DEFINE_GUID(IID_IAMVideoProcAmp, 0xC6E13360, 0x30AC, 0x11d0, 0xA1, 0x8C,
+MP_DEFINE_LOCAL_GUID(IID_IAMVideoProcAmp, 0xC6E13360, 0x30AC, 0x11d0, 0xA1, 0x8C,
0x00, 0xA0, 0xC9, 0x11, 0x89, 0x56);
#define IID_IVideoWindow MP_IID_IVideoWindow
-static DEFINE_GUID(IID_IVideoWindow, 0x56a868b4, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00,
+MP_DEFINE_LOCAL_GUID(IID_IVideoWindow, 0x56a868b4, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00,
0x20, 0xaf, 0x0b, 0xa7, 0x70);
#define IID_IMediaControl MP_IID_IMediaControl
-static DEFINE_GUID(IID_IMediaControl, 0x56a868b1, 0x0ad4, 0x11ce, 0xb0, 0x3a,
+MP_DEFINE_LOCAL_GUID(IID_IMediaControl, 0x56a868b1, 0x0ad4, 0x11ce, 0xb0, 0x3a,
0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
#define IID_IAMTVTuner MP_IID_IAMTVTuner
-static DEFINE_GUID(IID_IAMTVTuner, 0x211A8766, 0x03AC, 0x11d1, 0x8D, 0x13, 0x00,
+MP_DEFINE_LOCAL_GUID(IID_IAMTVTuner, 0x211A8766, 0x03AC, 0x11d1, 0x8D, 0x13, 0x00,
0xAA, 0x00, 0xBD, 0x83, 0x39);
#define IID_IAMCrossbar MP_IID_IAMCrossbar
-static DEFINE_GUID(IID_IAMCrossbar, 0xc6e13380, 0x30ac, 0x11d0, 0xa1, 0x8c, 0x00,
+MP_DEFINE_LOCAL_GUID(IID_IAMCrossbar, 0xc6e13380, 0x30ac, 0x11d0, 0xa1, 0x8c, 0x00,
0xa0, 0xc9, 0x11, 0x89, 0x56);
#define IID_IAMStreamConfig MP_IID_IAMStreamConfig
-static DEFINE_GUID(IID_IAMStreamConfig, 0xc6e13340, 0x30ac, 0x11d0, 0xa1, 0x8c,
+MP_DEFINE_LOCAL_GUID(IID_IAMStreamConfig, 0xc6e13340, 0x30ac, 0x11d0, 0xa1, 0x8c,
0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);
#define IID_IAMAudioInputMixer MP_IID_IAMAudioInputMixer
-static DEFINE_GUID(IID_IAMAudioInputMixer, 0x54C39221, 0x8380, 0x11d0, 0xB3, 0xF0,
+MP_DEFINE_LOCAL_GUID(IID_IAMAudioInputMixer, 0x54C39221, 0x8380, 0x11d0, 0xB3, 0xF0,
0x00, 0xAA, 0x00, 0x37, 0x61, 0xC5);
#define IID_IAMTVAudio MP_IID_IAMTVAudio
-static DEFINE_GUID(IID_IAMTVAudio, 0x83EC1C30, 0x23D1, 0x11d1, 0x99, 0xE6, 0x00,
+MP_DEFINE_LOCAL_GUID(IID_IAMTVAudio, 0x83EC1C30, 0x23D1, 0x11d1, 0x99, 0xE6, 0x00,
0xA0, 0xC9, 0x56, 0x02, 0x66);
#define IID_IAMAnalogVideoDecoder MP_IID_IAMAnalogVideoDecoder
-static DEFINE_GUID(IID_IAMAnalogVideoDecoder, 0xC6E13350, 0x30AC, 0x11d0, 0xA1,
+MP_DEFINE_LOCAL_GUID(IID_IAMAnalogVideoDecoder, 0xC6E13350, 0x30AC, 0x11d0, 0xA1,
0x8C, 0x00, 0xA0, 0xC9, 0x11, 0x89, 0x56);
#define IID_IPropertyBag MP_IID_IPropertyBag
-static DEFINE_GUID(IID_IPropertyBag, 0x55272a00, 0x42cb, 0x11ce, 0x81, 0x35, 0x00,
+MP_DEFINE_LOCAL_GUID(IID_IPropertyBag, 0x55272a00, 0x42cb, 0x11ce, 0x81, 0x35, 0x00,
0xaa, 0x00, 0x4b, 0xb8, 0x51);
#define PIN_CATEGORY_CAPTURE MP_PIN_CATEGORY_CAPTURE
-static DEFINE_GUID(PIN_CATEGORY_CAPTURE, 0xfb6c4281, 0x0353, 0x11d1, 0x90, 0x5f,
+MP_DEFINE_LOCAL_GUID(PIN_CATEGORY_CAPTURE, 0xfb6c4281, 0x0353, 0x11d1, 0x90, 0x5f,
0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
#define PIN_CATEGORY_VIDEOPORT MP_PIN_CATEGORY_VIDEOPORT
-static DEFINE_GUID(PIN_CATEGORY_VIDEOPORT, 0xfb6c4285, 0x0353, 0x11d1, 0x90, 0x5f,
+MP_DEFINE_LOCAL_GUID(PIN_CATEGORY_VIDEOPORT, 0xfb6c4285, 0x0353, 0x11d1, 0x90, 0x5f,
0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
#define PIN_CATEGORY_PREVIEW MP_PIN_CATEGORY_PREVIEW
-static DEFINE_GUID(PIN_CATEGORY_PREVIEW, 0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f,
+MP_DEFINE_LOCAL_GUID(PIN_CATEGORY_PREVIEW, 0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f,
0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
#define PIN_CATEGORY_VBI MP_PIN_CATEGORY_VBI
-static DEFINE_GUID(PIN_CATEGORY_VBI, 0xfb6c4284, 0x0353, 0x11d1, 0x90, 0x5f,
+MP_DEFINE_LOCAL_GUID(PIN_CATEGORY_VBI, 0xfb6c4284, 0x0353, 0x11d1, 0x90, 0x5f,
0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
#define PROPSETID_TUNER MP_PROPSETID_TUNER
-static DEFINE_GUID(PROPSETID_TUNER, 0x6a2e0605, 0x28e4, 0x11d0, 0xa1, 0x8c, 0x00,
+MP_DEFINE_LOCAL_GUID(PROPSETID_TUNER, 0x6a2e0605, 0x28e4, 0x11d0, 0xa1, 0x8c, 0x00,
0xa0, 0xc9, 0x11, 0x89, 0x56);
#define MEDIATYPE_VBI MP_MEDIATYPE_VBI
-static DEFINE_GUID(MEDIATYPE_VBI, 0xf72a76e1, 0xeb0a, 0x11d0, 0xac, 0xe4, 0x00,
+MP_DEFINE_LOCAL_GUID(MEDIATYPE_VBI, 0xf72a76e1, 0xeb0a, 0x11d0, 0xac, 0xe4, 0x00,
0x00, 0xc0, 0xcc, 0x16, 0xba);
#define INSTANCEDATA_OF_PROPERTY_PTR(x) (((KSPROPERTY*)(x)) + 1)
More information about the MPlayer-cvslog
mailing list