summaryrefslogtreecommitdiff
path: root/libs/backends/alsa/alsa_audiobackend.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-09-22 15:28:00 +0200
committerRobin Gareus <robin@gareus.org>2017-09-23 00:34:01 +0200
commitab3889fff84a5e0e48c588e9071921ee6578efa9 (patch)
tree09998ff4f77961a03722f91d33d6cdb224d0e376 /libs/backends/alsa/alsa_audiobackend.h
parent25f45022db58633dd8e2fec6844157b44fe71428 (diff)
Propagate Latency to backend/system ports
Set accumulated capture-latency for physical-outputs and accumulated playback-latency for physical-inputs after Ardour is done setting all non-physical port latencies. This will be needed for latency-compensation of the complete graph.
Diffstat (limited to 'libs/backends/alsa/alsa_audiobackend.h')
-rw-r--r--libs/backends/alsa/alsa_audiobackend.h15
1 files changed, 4 insertions, 11 deletions
diff --git a/libs/backends/alsa/alsa_audiobackend.h b/libs/backends/alsa/alsa_audiobackend.h
index 2cbc3b04a3..f6887fe346 100644
--- a/libs/backends/alsa/alsa_audiobackend.h
+++ b/libs/backends/alsa/alsa_audiobackend.h
@@ -99,17 +99,9 @@ class AlsaPort {
return for_playback ? _playback_latency_range : _capture_latency_range;
}
- void set_latency_range (const LatencyRange &latency_range, bool for_playback)
- {
- if (for_playback)
- {
- _playback_latency_range = latency_range;
- }
- else
- {
- _capture_latency_range = latency_range;
- }
- }
+ void set_latency_range (const LatencyRange &latency_range, bool for_playback);
+
+ void update_connected_latency (bool for_playback);
private:
AlsaAudioBackend &_alsa_backend;
@@ -419,6 +411,7 @@ class AlsaAudioBackend : public AudioBackend {
int register_system_audio_ports ();
int register_system_midi_ports (const std::string device = "");
void unregister_ports (bool system_only = false);
+ void update_system_port_latecies ();
std::vector<AlsaPort *> _system_inputs;
std::vector<AlsaPort *> _system_outputs;