summaryrefslogtreecommitdiff
path: root/libs/ardour/port.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-11-28 00:53:54 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-11-28 00:53:54 +0000
commit74558ddda71486a386e6cda90d9c9480825e6bb1 (patch)
treecf413321001338ab9f2907078b736e0df7cd94a2 /libs/ardour/port.cc
parent51693a3a5835a7c2deb16242d14d73fbb7881382 (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/port.cc')
-rw-r--r--libs/ardour/port.cc24
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;