add interface for latency updates w/o restarting the backend
authorRobin Gareus <robin@gareus.org>
Fri, 4 Dec 2015 16:08:45 +0000 (17:08 +0100)
committerRobin Gareus <robin@gareus.org>
Fri, 4 Dec 2015 16:08:45 +0000 (17:08 +0100)
This is useful for USB devices. Since there is a ringbuffer in the driver
(common on ALSA but also other platforms) to align the USB stream with
USB bus timing the latency can differ every time the device is re-opened.

libs/ardour/ardour/audio_backend.h

index 0428c36b44f52b6a39809d1d40650a92d79a1163..379eae9fd90da07425be93dfda47d2a1941bbc7b 100644 (file)
@@ -350,6 +350,11 @@ class LIBARDOUR_API AudioBackend : public PortEngine {
      */
     virtual bool can_change_buffer_size_when_running () const = 0;
 
+               /** return true if the backend can measure and update
+                * systemic latencies without restart.
+                */
+               virtual bool can_change_systemic_latency_when_running () const { return false; }
+
     /* Set the hardware parameters.
      *
      * If called when the current state is stopped or paused,