mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 03:31:05 +00:00
d228b8d96f
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>
35 lines
1.1 KiB
Meson
35 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
|