mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-09-01 05:44:43 +08:00
libobs: Add obs_reset_audio_monitoring()
Reloads all audio monitoring devices
This commit is contained in:
@@ -540,6 +540,12 @@ Video, Audio, and Graphics
|
||||
|
||||
---------------------
|
||||
|
||||
.. function:: void obs_reset_audio_monitoring(void)
|
||||
|
||||
Resets all audio monitoring devices.
|
||||
|
||||
---------------------
|
||||
|
||||
.. 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.
|
||||
|
||||
+16
-4
@@ -3018,6 +3018,21 @@ bool obs_obj_is_private(void *obj)
|
||||
return context->private;
|
||||
}
|
||||
|
||||
void obs_reset_audio_monitoring(void)
|
||||
{
|
||||
if (!obs_audio_monitoring_available())
|
||||
return;
|
||||
|
||||
pthread_mutex_lock(&obs->audio.monitoring_mutex);
|
||||
|
||||
for (size_t i = 0; i < obs->audio.monitors.num; i++) {
|
||||
struct audio_monitor *monitor = obs->audio.monitors.array[i];
|
||||
audio_monitor_reset(monitor);
|
||||
}
|
||||
|
||||
pthread_mutex_unlock(&obs->audio.monitoring_mutex);
|
||||
}
|
||||
|
||||
bool obs_set_audio_monitoring_device(const char *name, const char *id)
|
||||
{
|
||||
if (!name || !id || !*name || !*id)
|
||||
@@ -3039,10 +3054,7 @@ bool obs_set_audio_monitoring_device(const char *name, const char *id)
|
||||
obs->audio.monitoring_device_name = bstrdup(name);
|
||||
obs->audio.monitoring_device_id = bstrdup(id);
|
||||
|
||||
for (size_t i = 0; i < obs->audio.monitors.num; i++) {
|
||||
struct audio_monitor *monitor = obs->audio.monitors.array[i];
|
||||
audio_monitor_reset(monitor);
|
||||
}
|
||||
obs_reset_audio_monitoring();
|
||||
|
||||
pthread_mutex_unlock(&obs->audio.monitoring_mutex);
|
||||
return true;
|
||||
|
||||
@@ -832,6 +832,8 @@ typedef bool (*obs_enum_audio_device_cb)(void *data, const char *name,
|
||||
|
||||
EXPORT bool obs_audio_monitoring_available(void);
|
||||
|
||||
EXPORT void obs_reset_audio_monitoring(void);
|
||||
|
||||
EXPORT void obs_enum_audio_monitoring_devices(obs_enum_audio_device_cb cb,
|
||||
void *data);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user