summaryrefslogtreecommitdiff
path: root/libs/ardour/delivery.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-06-30 00:10:56 +0000
committerCarl Hetherington <carl@carlh.net>2010-06-30 00:10:56 +0000
commit4d80bdad7d88a52d6ada2c9b0e62761afa51a741 (patch)
tree58466f2a851b5bd562957fdd31e353313f69ac4c /libs/ardour/delivery.cc
parentff51abb98862a6f2a2f7861069ef53e6fbe15826 (diff)
Make main out delivery expand its output ports if the processor chain requires it.
git-svn-id: svn://localhost/ardour2/branches/3.0@7333 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/delivery.cc')
-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 */
}