summaryrefslogtreecommitdiff
path: root/libs/ardour/audioengine.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-06-18 20:53:43 +0200
committerRobin Gareus <robin@gareus.org>2014-06-19 19:44:14 +0200
commit157161e48225e0ade5f626abdc293db2c5f9939d (patch)
tree088e2926c5ec1a43d53df04f2996c8da9cb3b286 /libs/ardour/audioengine.cc
parenta0392a234952fb0b4e44368169ec68b2559c71d1 (diff)
fix port-unregister (on failed latency measurement)
Diffstat (limited to 'libs/ardour/audioengine.cc')
-rw-r--r--libs/ardour/audioengine.cc4
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;