summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2018-08-08 00:31:51 +0530
committerNirbheek Chauhan <nirbheek@centricular.com>2018-08-08 01:03:53 +0530
commit10fcddedc246375d28cb74a977cfa506ba5de464 (patch)
tree430d0b3e8b3f7d0637d25af013f9e368c3c31c99
parent8507730351c63604240852c44632926892807330 (diff)
downloadgstreamer-plugins-bad-10fcddedc246375d28cb74a977cfa506ba5de464.tar.gz
wasapi: Fix build with Windows 8.1 SDK
With the Windows 8.1 SDK, the v1 of the AUDCLNT_STREAMOPTIONS enum is defined which only has NONE and RAW, so it's not only defined when AudioClient3 is available. Add a meson check for the symbol. This is not needed for Autotools because there we build against the MinGW audioclient.h which is still at v1 of the AudioClient interface.
-rw-r--r--sys/wasapi/gstaudioclient3.h3
-rw-r--r--sys/wasapi/meson.build7
2 files changed, 8 insertions, 2 deletions
diff --git a/sys/wasapi/gstaudioclient3.h b/sys/wasapi/gstaudioclient3.h
index a9f240aa1..784f478d6 100644
--- a/sys/wasapi/gstaudioclient3.h
+++ b/sys/wasapi/gstaudioclient3.h
@@ -16,13 +16,14 @@ typedef interface IAudioClient3 IAudioClient3;
#ifndef __IAudioClient3_INTERFACE_DEFINED__
#define __IAudioClient3_INTERFACE_DEFINED__
-/* This is only available with IAudioClient3 */
+#ifndef HAVE_AUDCLNT_STREAMOPTIONS
typedef enum AUDCLNT_STREAMOPTIONS
{
AUDCLNT_STREAMOPTIONS_NONE = 0,
AUDCLNT_STREAMOPTIONS_RAW = 0x1,
AUDCLNT_STREAMOPTIONS_MATCH_FORMAT = 0x2
} AUDCLNT_STREAMOPTIONS;
+#endif
/* These should be available when the IAudioClient2 interface is defined */
#ifndef __IAudioClient2_FWD_DEFINED__
diff --git a/sys/wasapi/meson.build b/sys/wasapi/meson.build
index cf57d8784..e426743e2 100644
--- a/sys/wasapi/meson.build
+++ b/sys/wasapi/meson.build
@@ -22,9 +22,14 @@ if not have_audioclient_h and get_option('wasapi').enabled()
endif
if ole32_dep.found() and ksuser_dep.found() and have_audioclient_h
+ wasapi_args = ['-DCOBJMACROS']
+ if cc.has_header_symbol('audioclient.h', 'AUDCLNT_STREAMOPTIONS_NONE')
+ wasapi_args += ['-DHAVE_AUDCLNT_STREAMOPTIONS']
+ endif
+
gstwasapi = library('gstwasapi',
wasapi_sources,
- c_args : gst_plugins_bad_args + ['-DCOBJMACROS'],
+ c_args : gst_plugins_bad_args + wasapi_args,
include_directories : [configinc],
dependencies : [gstaudio_dep, ole32_dep, ksuser_dep],
install : true,