decklink: Fix build on mingw32 by adding missing WINAPI
authorNirbheek Chauhan <nirbheek@centricular.com>
Tue, 18 Jul 2017 20:49:47 +0000 (02:19 +0530)
committerNirbheek Chauhan <nirbheek@centricular.com>
Tue, 18 Jul 2017 20:57:29 +0000 (02:27 +0530)
gstdecklinkaudiosink.cpp:155:19: error: conflicting type attributes specified for 'virtual HRESULT GStreamerAudioOutputCallback::QueryInterface(const IID&, void**)'
In file included from /var/lib/jenkins/workspace/cerbero-cross-mingw32/workdir/mingw/w32/bin/../lib/gcc/i686-w64-mingw32/4.7.3/../../../../i686-w64-mingw32/include/objbase.h:153:0,
                 from /var/lib/jenkins/workspace/cerbero-cross-mingw32/workdir/mingw/w32/bin/../lib/gcc/i686-w64-mingw32/4.7.3/../../../../i686-w64-mingw32/include/ole2.h:16,
                 from /var/lib/jenkins/workspace/cerbero-cross-mingw32/workdir/mingw/w32/bin/../lib/gcc/i686-w64-mingw32/4.7.3/../../../../i686-w64-mingw32/include/windows.h:94,
                 from /var/lib/jenkins/workspace/cerbero-cross-mingw32/workdir/mingw/w32/bin/../lib/gcc/i686-w64-mingw32/4.7.3/../../../../i686-w64-mingw32/include/rpc.h:16,
                 from win/DeckLinkAPI.h:27,
                 from gstdecklink.h:35,
                 from gstdecklinkaudiosink.h:27,
                 from gstdecklinkaudiosink.cpp:25:
/var/lib/jenkins/workspace/cerbero-cross-mingw32/workdir/mingw/w32/bin/../lib/gcc/i686-w64-mingw32/4.7.3/../../../../i686-w64-mingw32/include/unknwn.h:67:25: error:   overriding 'virtual HRESULT IUnknown::QueryInterface(const IID&, void**)'

(and many more)

https://ci.gstreamer.net/job/cerbero-cross-mingw32/6407/console

sys/decklink/gstdecklinkaudiosink.cpp
sys/decklink/gstdecklinkvideosink.cpp

index 1d63154..beabc02 100644 (file)
@@ -152,12 +152,12 @@ public:
     g_mutex_init (&m_mutex);
   }
 
-  virtual HRESULT QueryInterface (REFIID, LPVOID *)
+  virtual HRESULT WINAPI QueryInterface (REFIID, LPVOID *)
   {
     return E_NOINTERFACE;
   }
 
-  virtual ULONG AddRef (void)
+  virtual ULONG WINAPI AddRef (void)
   {
     ULONG ret;
 
@@ -169,7 +169,7 @@ public:
     return ret;
   }
 
-  virtual ULONG Release (void)
+  virtual ULONG WINAPI Release (void)
   {
     ULONG ret;
 
@@ -190,7 +190,7 @@ public:
     g_mutex_clear (&m_mutex);
   }
 
-  virtual HRESULT RenderAudioSamples (bool preroll)
+  virtual HRESULT WINAPI RenderAudioSamples (bool preroll)
   {
     guint8 *ptr;
     gint seg;
index 78f5726..0c2b304 100644 (file)
@@ -38,12 +38,12 @@ public:
     g_mutex_init (&m_mutex);
   }
 
-  virtual HRESULT QueryInterface (REFIID, LPVOID *)
+  virtual HRESULT WINAPI QueryInterface (REFIID, LPVOID *)
   {
     return E_NOINTERFACE;
   }
 
-  virtual ULONG AddRef (void)
+  virtual ULONG WINAPI AddRef (void)
   {
     ULONG ret;
 
@@ -55,7 +55,7 @@ public:
     return ret;
   }
 
-  virtual ULONG Release (void)
+  virtual ULONG WINAPI Release (void)
   {
     ULONG ret;
 
@@ -71,7 +71,8 @@ public:
     return ret;
   }
 
-  virtual HRESULT ScheduledFrameCompleted (IDeckLinkVideoFrame * completedFrame,
+  virtual HRESULT WINAPI ScheduledFrameCompleted (
+      IDeckLinkVideoFrame * completedFrame,
       BMDOutputFrameCompletionResult result)
   {
     switch (result) {
@@ -96,7 +97,7 @@ public:
     return S_OK;
   }
 
-  virtual HRESULT ScheduledPlaybackHasStopped (void)
+  virtual HRESULT WINAPI ScheduledPlaybackHasStopped (void)
   {
     GST_LOG_OBJECT (m_sink, "Scheduled playback stopped");