diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2018-08-08 00:31:51 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@centricular.com> | 2018-08-08 01:03:53 +0530 |
commit | 10fcddedc246375d28cb74a977cfa506ba5de464 (patch) | |
tree | 430d0b3e8b3f7d0637d25af013f9e368c3c31c99 | |
parent | 8507730351c63604240852c44632926892807330 (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.
-rw-r--r-- | sys/wasapi/gstaudioclient3.h | 3 | ||||
-rw-r--r-- | sys/wasapi/meson.build | 7 |
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, |