gstreamer/sys/wasapi/meson.build
Nirbheek Chauhan 10fcddedc2 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.
2018-08-08 01:03:53 +05:30

38 lines
1.2 KiB
Meson

wasapi_sources = [
'gstwasapi.c',
'gstwasapisrc.c',
'gstwasapisink.c',
'gstwasapiutil.c',
'gstwasapidevice.c',
]
if host_system != 'windows'
if get_option('wasapi').disabled()
subdir_done()
elif get_option('wasapi').enabled()
error('Cannot build wasapi plugin when not building for Windows')
endif
endif
ole32_dep = cc.find_library('ole32', required : get_option('wasapi'))
ksuser_dep = cc.find_library('ksuser', required : get_option('wasapi'))
have_audioclient_h = cc.has_header('audioclient.h')
if not have_audioclient_h and get_option('wasapi').enabled()
error('wasapi plugin enabled but audioclient.h not found')
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 + wasapi_args,
include_directories : [configinc],
dependencies : [gstaudio_dep, ole32_dep, ksuser_dep],
install : true,
install_dir : plugins_install_dir)
pkgconfig.generate(gstwasapi, install_dir : plugins_pkgconfig_install_dir)
endif