diff options
author | Robin Gareus <robin@gareus.org> | 2015-09-06 10:42:29 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-09-06 10:42:29 +0200 |
commit | 788234e31787e37036cdd8a5308537d3423bc622 (patch) | |
tree | 8323810e8e6d1a0e7aefa1167bc76a4a8d20a2ca /libs/backends/dummy | |
parent | 3fc5bf617a2631861a7b2f0f0b861bf1b784e89f (diff) |
fix dummy-backend driver state
When loading previous state, set_driver() is called before
enumerate_drivers().
The available driver list must be available early on.
Diffstat (limited to 'libs/backends/dummy')
-rw-r--r-- | libs/backends/dummy/dummy_audiobackend.cc | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/libs/backends/dummy/dummy_audiobackend.cc b/libs/backends/dummy/dummy_audiobackend.cc index f3f1fbac4b..15d1177c71 100644 --- a/libs/backends/dummy/dummy_audiobackend.cc +++ b/libs/backends/dummy/dummy_audiobackend.cc @@ -84,6 +84,18 @@ DummyAudioBackend::DummyAudioBackend (AudioEngine& e, AudioBackendInfo& info) _instance_name = s_instance_name; _device = _("Silence"); pthread_mutex_init (&_port_callback_mutex, 0); + + if (_driver_speed.empty()) { + _driver_speed.push_back (DriverSpeed (_("Half Speed"), 2.0f)); + _driver_speed.push_back (DriverSpeed (_("Normal Speed"), 1.0f)); + _driver_speed.push_back (DriverSpeed (_("Double Speed"), 0.5f)); + _driver_speed.push_back (DriverSpeed (_("5x Speed"), 0.2f)); + _driver_speed.push_back (DriverSpeed (_("10x Speed"), 0.1f)); + _driver_speed.push_back (DriverSpeed (_("15x Speed"), 0.06666f)); + _driver_speed.push_back (DriverSpeed (_("20x Speed"), 0.05f)); + _driver_speed.push_back (DriverSpeed (_("50x Speed"), 0.02f)); + } + } DummyAudioBackend::~DummyAudioBackend () @@ -188,17 +200,6 @@ DummyAudioBackend::can_change_buffer_size_when_running () const std::vector<std::string> DummyAudioBackend::enumerate_drivers () const { - if (_driver_speed.empty()) { - _driver_speed.push_back (DriverSpeed (_("Half Speed"), 2.0f)); - _driver_speed.push_back (DriverSpeed (_("Normal Speed"), 1.0f)); - _driver_speed.push_back (DriverSpeed (_("Double Speed"), 0.5f)); - _driver_speed.push_back (DriverSpeed (_("5x Speed"), 0.2f)); - _driver_speed.push_back (DriverSpeed (_("10x Speed"), 0.1f)); - _driver_speed.push_back (DriverSpeed (_("15x Speed"), 0.06666f)); - _driver_speed.push_back (DriverSpeed (_("20x Speed"), 0.05f)); - _driver_speed.push_back (DriverSpeed (_("50x Speed"), 0.02f)); - } - std::vector<std::string> speed_drivers; for (std::vector<DriverSpeed>::const_iterator it = _driver_speed.begin () ; it != _driver_speed.end (); ++it) { speed_drivers.push_back (it->name); @@ -227,6 +228,7 @@ DummyAudioBackend::set_driver (const std::string& d) return 0; } } + assert (0); return -1; } |