diff options
author | Chris Robinson <[email protected]> | 2009-08-27 06:09:33 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2009-08-27 06:09:33 -0700 |
commit | bb121e68a618d1881a6e35c47938ce0650d07afb (patch) | |
tree | 620e024aa067cc96d36a91e2210beffc2115220e /Alc/pulseaudio.c | |
parent | 1ec26fd789ddfcbabbeae003f286cc01062721c0 (diff) |
Rebuild device lists when retrieving them
Diffstat (limited to 'Alc/pulseaudio.c')
-rw-r--r-- | Alc/pulseaudio.c | 25 |
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); +} //}}} //}}} |