aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/pulseaudio.c
diff options
context:
space:
mode:
Diffstat (limited to 'Alc/pulseaudio.c')
-rw-r--r--Alc/pulseaudio.c25
1 files changed, 18 insertions, 7 deletions
diff --git a/Alc/pulseaudio.c b/Alc/pulseaudio.c
index 88f381b9..8275033b 100644
--- a/Alc/pulseaudio.c
+++ b/Alc/pulseaudio.c
@@ -695,20 +695,31 @@ LOAD_FUNC(pa_stream_disconnect);
LOAD_FUNC(pa_threaded_mainloop_lock);
#undef LOAD_FUNC
-
- AppendDeviceList(pulse_device);
- AppendAllDeviceList(pulse_device);
-
- AppendCaptureDeviceList(pulse_capture_device);
} //}}}
void alc_pulse_deinit(void) //{{{
{
+ if(pa_handle)
+ {
#ifdef _WIN32
- FreeLibrary(pa_handle);
+ FreeLibrary(pa_handle);
#elif defined (HAVE_DLFCN_H)
- dlclose(pa_handle);
+ dlclose(pa_handle);
#endif
+ }
pa_handle = NULL;
} //}}}
+
+void alc_pulse_probe(int type) //{{{
+{
+ if(!pa_handle)
+ return;
+
+ if(type == DEVICE_PROBE)
+ AppendDeviceList(pulse_device);
+ else if(type == ALL_DEVICE_PROBE)
+ AppendAllDeviceList(pulse_device);
+ else if(type == CAPTURE_DEVICE_PROBE)
+ AppendCaptureDeviceList(pulse_capture_device);
+} //}}}
//}}}