X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fport.cc;h=5897015b273baed20c172da4b1bb1decbf92933d;hb=d9cebc2edf8accded23c6f2a1caab73eb47a50fd;hp=4e55054a1fc8236b992706eb3089c26ef58a2cf7;hpb=918fb68a03dffa0851f3b73ffec1f7644b570c96;p=ardour.git diff --git a/libs/ardour/port.cc b/libs/ardour/port.cc index 4e55054a1f..5897015b27 100644 --- a/libs/ardour/port.cc +++ b/libs/ardour/port.cc @@ -202,21 +202,39 @@ void Port::recompute_total_latency () const { #ifdef HAVE_JACK_RECOMPUTE_LATENCY - jack_recompute_total_latency (_engine->jack (), _jack_port); + jack_client_t* jack = _engine->jack(); + + if (!jack) { + return; + } + + jack_recompute_total_latency (jack, _jack_port); #endif } nframes_t Port::total_latency () const { - return jack_port_get_total_latency (_engine->jack (), _jack_port); + jack_client_t* jack = _engine->jack(); + + if (!jack) { + return 0; + } + + return jack_port_get_total_latency (jack, _jack_port); } int Port::reestablish () { + jack_client_t* jack = _engine->jack(); + + if (!jack) { + return -1; + } + cerr << "RE-REGISTER: " << _name.c_str() << endl; - _jack_port = jack_port_register (_engine->jack(), _name.c_str(), type().to_jack_type(), _flags, 0); + _jack_port = jack_port_register (jack, _name.c_str(), type().to_jack_type(), _flags, 0); if (_jack_port == 0) { PBD::error << string_compose (_("could not reregister %1"), _name) << endmsg;