diff options
author | Robin Gareus <robin@gareus.org> | 2014-06-18 20:53:43 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-06-19 19:44:14 +0200 |
commit | 157161e48225e0ade5f626abdc293db2c5f9939d (patch) | |
tree | 088e2926c5ec1a43d53df04f2996c8da9cb3b286 /libs/ardour/audioengine.cc | |
parent | a0392a234952fb0b4e44368169ec68b2559c71d1 (diff) |
fix port-unregister (on failed latency measurement)
Diffstat (limited to 'libs/ardour/audioengine.cc')
-rw-r--r-- | libs/ardour/audioengine.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc index d424300c49..8612f44b8a 100644 --- a/libs/ardour/audioengine.cc +++ b/libs/ardour/audioengine.cc @@ -1110,11 +1110,13 @@ AudioEngine::start_latency_detection (bool for_midi) const string portname ("latency_in"); if ((_latency_input_port = pe.register_port (portname, DataType::MIDI, IsInput)) == 0) { + pe.unregister_port (_latency_input_port); pe.unregister_port (_latency_output_port); stop (true); return -1; } if (pe.connect (_latency_input_name, make_port_name_non_relative (portname))) { + pe.unregister_port (_latency_input_port); pe.unregister_port (_latency_output_port); stop (true); return -1; @@ -1136,11 +1138,13 @@ AudioEngine::start_latency_detection (bool for_midi) const string portname ("latency_in"); if ((_latency_input_port = pe.register_port (portname, DataType::AUDIO, IsInput)) == 0) { + pe.unregister_port (_latency_input_port); pe.unregister_port (_latency_output_port); stop (true); return -1; } if (pe.connect (_latency_input_name, make_port_name_non_relative (portname))) { + pe.unregister_port (_latency_input_port); pe.unregister_port (_latency_output_port); stop (true); return -1; |