mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-20 04:42:18 +02:00
libobs: Add obs_audio_monitoring_supported()
Currently, ifdefs are used to determine if monitoring is supported. This is difficult to maintain and restricts plugins from knowing if monitoring is supported by OBS. This adds a runtime function to fix that issue.
This commit is contained in:
parent
544633d9bb
commit
6e9644ec15
@ -425,6 +425,12 @@ Video, Audio, and Graphics
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: bool obs_audio_monitoring_supported(void)
|
||||
|
||||
:return: Whether audio monitoring is supported on the current platform
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void obs_enum_audio_monitoring_devices(obs_enum_audio_device_cb cb, void *data)
|
||||
|
||||
Enumerates audio devices which can be used for audio monitoring.
|
||||
|
@ -114,8 +114,9 @@ if(WIN32)
|
||||
util/windows/HRError.hpp
|
||||
util/windows/WinHandle.hpp)
|
||||
set(libobs_audio_monitoring_SOURCES
|
||||
audio-monitoring/win32/wasapi-output.c
|
||||
audio-monitoring/win32/wasapi-enum-devices.c
|
||||
audio-monitoring/win32/wasapi-monitoring-supported.c
|
||||
audio-monitoring/win32/wasapi-output.c
|
||||
)
|
||||
set(libobs_audio_monitoring_HEADERS
|
||||
audio-monitoring/win32/wasapi-output.h
|
||||
@ -138,6 +139,7 @@ elseif(APPLE)
|
||||
util/apple/cfstring-utils.h)
|
||||
set(libobs_audio_monitoring_SOURCES
|
||||
audio-monitoring/osx/coreaudio-enum-devices.c
|
||||
audio-monitoring/osx/coreaudio-monitoring-supported.c
|
||||
audio-monitoring/osx/coreaudio-output.c
|
||||
)
|
||||
set(libobs_audio_monitoring_HEADERS
|
||||
@ -219,6 +221,7 @@ elseif(UNIX)
|
||||
set(libobs_audio_monitoring_SOURCES
|
||||
audio-monitoring/pulse/pulseaudio-wrapper.c
|
||||
audio-monitoring/pulse/pulseaudio-enum-devices.c
|
||||
audio-monitoring/pulse/pulseaudio-monitoring-supported.c
|
||||
audio-monitoring/pulse/pulseaudio-output.c)
|
||||
else()
|
||||
set(libobs_audio_monitoring_SOURCES
|
||||
|
@ -1,5 +1,10 @@
|
||||
#include <obs-internal.h>
|
||||
|
||||
bool obs_audio_monitoring_supported(void)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void obs_enum_audio_monitoring_devices(obs_enum_audio_device_cb cb, void *data)
|
||||
{
|
||||
UNUSED_PARAMETER(cb);
|
||||
|
@ -0,0 +1,6 @@
|
||||
#include "../../obs-internal.h"
|
||||
|
||||
bool obs_audio_monitoring_supported(void)
|
||||
{
|
||||
return true;
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
#include <obs-internal.h>
|
||||
|
||||
bool obs_audio_monitoring_supported(void)
|
||||
{
|
||||
return true;
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
#include "../../obs-internal.h"
|
||||
|
||||
bool obs_audio_monitoring_supported(void)
|
||||
{
|
||||
return true;
|
||||
}
|
@ -743,6 +743,8 @@ EXPORT bool obs_obj_is_private(void *obj);
|
||||
typedef bool (*obs_enum_audio_device_cb)(void *data, const char *name,
|
||||
const char *id);
|
||||
|
||||
EXPORT bool obs_audio_monitoring_supported(void);
|
||||
|
||||
EXPORT void obs_enum_audio_monitoring_devices(obs_enum_audio_device_cb cb,
|
||||
void *data);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user