From 12760fc513cb66f0fd39536c35a5898b6cc19498 Mon Sep 17 00:00:00 2001 From: reimar Date: Sat, 2 Jan 2010 17:41:11 +0000 Subject: Several hacks to fix compilation of tvi_dshow on MinGW64. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30169 b3059339-0415-0410-9bf9-f77b7e298cf2 --- stream/tvi_dshow.c | 5 +++++ stream/tvi_dshow.h | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) (limited to 'stream') diff --git a/stream/tvi_dshow.c b/stream/tvi_dshow.c index 97fb5f0d5f..46accd81ed 100644 --- a/stream/tvi_dshow.c +++ b/stream/tvi_dshow.c @@ -89,6 +89,11 @@ #include "tvi_dshow.h" +#ifndef STDCALL +// mingw64 needs this +#define STDCALL __stdcall +#endif + static tvi_handle_t *tvi_init_dshow(tv_param_t* tv_param); /* diff --git a/stream/tvi_dshow.h b/stream/tvi_dshow.h index dc5a7c3741..3dea9d348a 100644 --- a/stream/tvi_dshow.h +++ b/stream/tvi_dshow.h @@ -434,6 +434,8 @@ DECLARE_INTERFACE(IAMCrossbar) STDMETHOD(get_CrossbarPinInfo) (THIS_ BOOL, long, long *, long *); }; +#ifndef __IPropertyBag_INTERFACE_DEFINED__ +#define __IPropertyBag_INTERFACE_DEFINED__ #undef INTERFACE #define INTERFACE IPropertyBag DECLARE_INTERFACE(IPropertyBag) @@ -444,6 +446,7 @@ DECLARE_INTERFACE(IPropertyBag) STDMETHOD(Read) (THIS_ LPCOLESTR, LPVARIANT, LPERRORLOG); STDMETHOD(Write) (THIS_ LPCOLESTR, LPVARIANT); }; +#endif #undef INTERFACE #define INTERFACE IAMStreamConfig @@ -678,6 +681,19 @@ DECLARE_INTERFACE(IVideoWindow) STDMETHOD(IsCursorHidden) (THIS_ long *); }; +#ifndef DECLARE_ENUMERATOR_ +#define DECLARE_ENUMERATOR_(I,T) \ + DECLARE_INTERFACE_(I,IUnknown) \ + { \ + STDMETHOD(QueryInterface)(I*, REFIID,PVOID*); \ + STDMETHOD_(ULONG,AddRef)(I*); \ + STDMETHOD_(ULONG,Release)(I*); \ + STDMETHOD(Next)(I*, ULONG,T*,ULONG*); \ + STDMETHOD(Skip)(I*, ULONG); \ + STDMETHOD(Reset)(I*); \ + STDMETHOD(Clone)(I*, I**); \ + } +#endif DECLARE_ENUMERATOR_(IEnumFilters, LPBASEFILTER); DECLARE_ENUMERATOR_(IEnumPins, LPPIN); DECLARE_ENUMERATOR_(IEnumMediaTypes, AM_MEDIA_TYPE *); -- cgit v1.2.3