summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/delivery.cc6
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 */
}