gstreamer/subprojects/gst-plugins-good/sys/oss/meson.build
Matthieu Volat d228b8d96f oss: add a GstDeviceProvider plugin
Based on Alsa's GstDeviceProvider structure, relies on sndstat
file for OSS device enumeration but uses already existing utils
to query caps and names.

Reviewed and thanks to @slomo

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4879>
2023-06-27 09:34:33 +03:00

36 lines
1.1 KiB
Meson

oss_header_locations = [
# Linux and newer BSD versions
['sys/soundcard.h', 'HAVE_OSS_INCLUDE_IN_SYS', 'OSS includes are in sys/'],
# Some old BSD versions and also newer OpenBSD versions
['soundcard.h', 'HAVE_OSS_INCLUDE_IN_ROOT', 'OSS includes are in root'],
# Some old BSD versions
['machine/soundcard.h', 'HAVE_OSS_INCLUDE_IN_MACHINE', 'OSS includes are in machine/'],
]
have_oss = false
oss_option = get_option('oss')
if not oss_option.disabled()
foreach hdr : oss_header_locations
if not have_oss
if cc.has_header(hdr[0])
cdata.set(hdr[1], 1, description: hdr[2])
have_oss = true
endif
endif
endforeach
if not have_oss and oss_option.enabled()
error('OSS plugin was enabled but soundcard.h was not found')
endif
endif
if have_oss
plugins += [library('gstossaudio',
'gstossaudio.c', 'gstossaudioelement.c', 'gstossdeviceprovider.c', 'gstosshelper.c', 'gstosssink.c', 'gstosssrc.c',
c_args : gst_plugins_good_args,
include_directories : [configinc, libsinc],
dependencies : [gstaudio_dep, gstbase_dep],
install : true,
install_dir : plugins_install_dir)]
endif