summaryrefslogtreecommitdiff
path: root/sys
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 /sys
parent8507730351c63604240852c44632926892807330 (diff)
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.
Diffstat (limited to 'sys')
-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,