Fix bounce-process: skip all processors before disk-reader
This commit is contained in:
parent
73816d3e38
commit
1ba391ab11
@ -543,12 +543,21 @@ Route::bounce_process (BufferSet& buffers, samplepos_t start, samplecnt_t nframe
|
||||
_trim->setup_gain_automation (start, start + nframes, nframes);
|
||||
|
||||
latency = 0;
|
||||
bool seen_disk_io = false;
|
||||
for (ProcessorList::iterator i = _processors.begin(); i != _processors.end(); ++i) {
|
||||
|
||||
if (!include_endpoint && (*i) == endpoint) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (!for_export && !seen_disk_io) {
|
||||
if (boost::dynamic_pointer_cast<DiskReader> (*i)) {
|
||||
seen_disk_io = true;
|
||||
buffers.set_count ((*i)->output_streams());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
/* if we're *not* exporting, stop processing if we come across a routing processor. */
|
||||
if (!for_export && boost::dynamic_pointer_cast<PortInsert>(*i)) {
|
||||
break;
|
||||
@ -593,10 +602,17 @@ Route::bounce_get_latency (boost::shared_ptr<Processor> endpoint,
|
||||
return latency;
|
||||
}
|
||||
|
||||
bool seen_disk_io = false;
|
||||
for (ProcessorList::const_iterator i = _processors.begin(); i != _processors.end(); ++i) {
|
||||
if (!include_endpoint && (*i) == endpoint) {
|
||||
break;
|
||||
}
|
||||
if (!for_export && !seen_disk_io) {
|
||||
if (boost::dynamic_pointer_cast<DiskReader> (*i)) {
|
||||
seen_disk_io = true;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
if (!for_export && boost::dynamic_pointer_cast<PortInsert>(*i)) {
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user