diff options
-rw-r--r-- | libs/ardour/delivery.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libs/ardour/delivery.cc b/libs/ardour/delivery.cc index 7bacb1c058..e6c93e5297 100644 --- a/libs/ardour/delivery.cc +++ b/libs/ardour/delivery.cc @@ -137,7 +137,8 @@ Delivery::can_support_io_configuration (const ChanCount& in, ChanCount& out) con if (_output) { if (_output->n_ports() != ChanCount::ZERO) { - out = _output->n_ports(); + /* increase number of output ports if the processor chain requires it */ + out = ChanCount::max (_output->n_ports(), in); return true; } else { /* not configured yet - we will passthru */ @@ -189,8 +190,7 @@ Delivery::configure_io (ChanCount in, ChanCount out) if (_output) { if (_output->n_ports() != out) { if (_output->n_ports() != ChanCount::ZERO) { - fatal << _name << " programming error: configure_io with nports = " << _output->n_ports() << " called with " << in << " and " << out << " with " << _output->n_ports() << " output ports" << endmsg; - /*NOTREACHED*/ + _output->ensure_io (out, false, this); } else { /* I/O not yet configured */ } |