diff options
author | Robin Gareus <robin@gareus.org> | 2019-09-20 19:38:34 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2019-09-20 19:41:05 +0200 |
commit | 467795f46747396edddae9fd5e9d531304d14c00 (patch) | |
tree | d5e82b68059983ebe76b01fee7e3526b467a16d8 /libs/ardour/audioengine.cc | |
parent | 4d2ccdd9055cf47fcfa165f8b751a91b1030fd7f (diff) |
Fix Latency Measurement without device re-start
This handles a case when the engine was started normally
(not for latency measurement), and measurement is performed later.
This resulted in a duplicate backend start
Diffstat (limited to 'libs/ardour/audioengine.cc')
-rw-r--r-- | libs/ardour/audioengine.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc index 73e48f1e93..7fe9bebed1 100644 --- a/libs/ardour/audioengine.cc +++ b/libs/ardour/audioengine.cc @@ -898,6 +898,10 @@ AudioEngine::start (bool for_latency) return -1; } + if (_running && _backend->can_change_systemic_latency_when_running()) { + _started_for_latency = for_latency; + } + if (_running) { return 0; } @@ -963,7 +967,7 @@ AudioEngine::stop (bool for_latency) if (for_latency && _backend->can_change_systemic_latency_when_running()) { stop_engine = false; - if (_running) { + if (_running && _started_for_latency) { _backend->start (false); // keep running, reload latencies } } else { |