Implement new AudioBackend API for force updating devices in PortaudioBackend
This commit is contained in:
parent
16f8c3ce85
commit
0396df963f
@ -145,6 +145,12 @@ PortAudioBackend::set_driver (const std::string& name)
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool
|
||||
PortAudioBackend::update_devices ()
|
||||
{
|
||||
return _pcmio->update_devices();
|
||||
}
|
||||
|
||||
std::string
|
||||
PortAudioBackend::driver_name () const
|
||||
{
|
||||
|
@ -170,6 +170,9 @@ class PortAudioBackend : public AudioBackend {
|
||||
std::vector<std::string> enumerate_drivers () const;
|
||||
int set_driver (const std::string&);
|
||||
|
||||
bool can_request_update_devices () { return true; }
|
||||
bool update_devices ();
|
||||
|
||||
bool use_separate_input_and_output_devices () const;
|
||||
std::vector<DeviceStatus> enumerate_devices () const;
|
||||
std::vector<DeviceStatus> enumerate_input_devices () const;
|
||||
|
@ -527,17 +527,18 @@ PortAudioIO::add_devices ()
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
bool
|
||||
PortAudioIO::update_devices()
|
||||
{
|
||||
DEBUG_AUDIO ("Update devices\n");
|
||||
if (_stream != NULL) return;
|
||||
if (_stream != NULL) return false;
|
||||
pa_deinitialize();
|
||||
if (!pa_initialize()) return;
|
||||
if (!pa_initialize()) return false;
|
||||
|
||||
clear_device_lists ();
|
||||
add_none_devices ();
|
||||
add_devices ();
|
||||
return true;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -63,7 +63,7 @@ public:
|
||||
PaDeviceIndex get_default_input_device () const;
|
||||
PaDeviceIndex get_default_output_device () const;
|
||||
|
||||
void update_devices();
|
||||
bool update_devices();
|
||||
void input_device_list (std::map<int, std::string> &devices) const;
|
||||
void output_device_list (std::map<int, std::string> &devices) const;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user