summaryrefslogtreecommitdiff
path: root/libs/ardour/audioengine.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/audioengine.cc')
-rw-r--r--libs/ardour/audioengine.cc15
1 files changed, 14 insertions, 1 deletions
diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc
index fe5de6dc82..5501f76e79 100644
--- a/libs/ardour/audioengine.cc
+++ b/libs/ardour/audioengine.cc
@@ -1249,7 +1249,20 @@ AudioEngine::reconnect_to_jack ()
if (session) {
session->reset_jack_connection (_priv_jack);
- nframes_t blocksize = jack_get_buffer_size (_priv_jack);
+
+ nframes_t blocksize;
+
+#ifdef HAVE_JACK_PORT_TYPE_GET_BUFFER_SIZE
+ if (jack_port_type_get_buffer_size) {
+ blocksize = jack_port_type_get_buffer_size (_priv_jack, JACK_DEFAULT_AUDIO_TYPE);
+ } else {
+ warning << _("This version of JACK is old - you should upgrade to a newer version that supports jack_port_type_get_buffer_size()") << endmsg;
+ blocksize = jack_get_buffer_size (_priv_jack);
+ }
+#else
+ blocksize = jack_get_buffer_size (_priv_jack);
+#endif
+
Port::set_buffer_size (blocksize);
session->set_block_size (blocksize);
session->set_frame_rate (jack_get_sample_rate (_priv_jack));