diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-11-28 00:53:54 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-11-28 00:53:54 +0000 |
commit | 74558ddda71486a386e6cda90d9c9480825e6bb1 (patch) | |
tree | cf413321001338ab9f2907078b736e0df7cd94a2 /libs/ardour | |
parent | 51693a3a5835a7c2deb16242d14d73fbb7881382 (diff) |
don't be using engine->jack() unconditionally in Port methods
git-svn-id: svn://localhost/ardour2/branches/3.0@6196 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/port.cc | 24 |
1 files changed, 21 insertions, 3 deletions
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; |