diff options
author | Carl Hetherington <carl@carlh.net> | 2010-06-30 00:10:56 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2010-06-30 00:10:56 +0000 |
commit | 4d80bdad7d88a52d6ada2c9b0e62761afa51a741 (patch) | |
tree | 58466f2a851b5bd562957fdd31e353313f69ac4c /libs/ardour/delivery.cc | |
parent | ff51abb98862a6f2a2f7861069ef53e6fbe15826 (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.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 */ } |