gstreamer/subprojects/gst-plugins-bad/sys/wasapi/meson.build

53 lines
1.6 KiB
Meson
Raw Normal View History

wasapi_sources = [
'gstmmdeviceenumerator.cpp',
'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
# MinGW defines some of these GUIDs in headers, whereas with MSVC we're
# expected to define them in the code. Check which ones we need to provide.
if cc.get_id() != 'msvc'
if cc.has_header_symbol('audioclient.h', 'IID_IAudioClient')
wasapi_args += ['-DHAVE_AUDCLNT_GUIDS']
endif
if cc.has_header_symbol('audioclient.h', 'IID_IAudioClient3')
wasapi_args += ['-DHAVE_AUDCLNT3_GUID']
endif
endif
gstwasapi = library('gstwasapi',
wasapi_sources,
c_args : gst_plugins_bad_args + wasapi_args,
cpp_args: gst_plugins_bad_args,
include_directories : [configinc],
dependencies : [gstaudio_dep, ole32_dep, ksuser_dep],
install : true,
install_dir : plugins_install_dir)
2018-10-22 09:30:45 +00:00
plugins += [gstwasapi]
endif