Optimisation; it is much cheaper to run UnknownProcessor on the
rare occasions that it exists rather than dcasting every processor to check for it. Also put the dcast of PeakMeter off if possible. git-svn-id: svn://localhost/ardour2/branches/3.0@11309 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
8e98352b6c
commit
61c57e7c4d
|
@ -511,18 +511,14 @@ Route::process_output_buffers (BufferSet& bufs,
|
|||
|
||||
for (ProcessorList::iterator i = _processors.begin(); i != _processors.end(); ++i) {
|
||||
|
||||
if (boost::dynamic_pointer_cast<UnknownProcessor> (*i)) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (boost::dynamic_pointer_cast<PeakMeter> (*i) && meter_already_run) {
|
||||
if (meter_already_run && boost::dynamic_pointer_cast<PeakMeter> (*i)) {
|
||||
/* don't ::run() the meter, otherwise it will have its previous peak corrupted */
|
||||
continue;
|
||||
}
|
||||
|
||||
#ifndef NDEBUG
|
||||
/* if it has any inputs, make sure they match */
|
||||
if ((*i)->input_streams() != ChanCount::ZERO) {
|
||||
if (boost::dynamic_pointer_cast<UnknownProcessor> (*i) == 0 && (*i)->input_streams() != ChanCount::ZERO) {
|
||||
if (bufs.count() != (*i)->input_streams()) {
|
||||
cerr << _name << " bufs = " << bufs.count()
|
||||
<< " input for " << (*i)->name() << " = " << (*i)->input_streams()
|
||||
|
|
Loading…
Reference in New Issue