13
0

forward port latency computation fix from 2.X for case where a route has no connections

git-svn-id: svn://localhost/ardour2/branches/3.0@10155 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2011-09-28 13:19:15 +00:00
parent 7fdc1272b2
commit 9030f4e61b

View File

@ -3544,21 +3544,26 @@ Route::update_port_latencies (PortSet& from, PortSet& to, bool playback, framecn
jack_latency_range_t all_connections;
all_connections.min = ~((jack_nframes_t) 0);
all_connections.max = 0;
/* iterate over all "from" ports and determine the latency range for all of their
connections to the "outside" (outside of this Route).
*/
for (PortSet::iterator p = from.begin(); p != from.end(); ++p) {
jack_latency_range_t range;
p->get_connected_latency_range (range, playback);
all_connections.min = min (all_connections.min, range.min);
all_connections.max = max (all_connections.max, range.max);
if (from.empty()) {
all_connections.min = 0;
all_connections.max = 0;
} else {
all_connections.min = ~((jack_nframes_t) 0);
all_connections.max = 0;
/* iterate over all "from" ports and determine the latency range for all of their
connections to the "outside" (outside of this Route).
*/
for (PortSet::iterator p = from.begin(); p != from.end(); ++p) {
jack_latency_range_t range;
p->get_connected_latency_range (range, playback);
all_connections.min = min (all_connections.min, range.min);
all_connections.max = max (all_connections.max, range.max);
}
}
/* set the "from" port latencies to the max/min range of all their connections */