return _session.engine().frames_per_cycle() + _io->input_latency();
}
-bool
-PortInsert::can_support_input_configuration (ChanCount in) const
-{
- if (_io->input_maximum() == ChanCount::INFINITE && _io->output_maximum() == ChanCount::INFINITE) {
-
- /* not configured yet */
-
- return true; /* we can support anything the first time we're asked */
-
- } else {
-
- /* the "input" config for a port insert corresponds to how
- many output ports it will have.
- */
-
- if (_io->output_maximum() == in) {
-
- return true;
- }
- }
-
- return false;
-}
-
-ChanCount
-PortInsert::output_for_input_configuration (ChanCount in) const
-{
- return in;
-}
-
bool
PortInsert::configure_io (ChanCount in, ChanCount out)
{
the last request config. or something like that.
*/
-
/* this is a bit odd:
the number of inputs we are required to handle corresponds
_io->set_input_maximum (out);
_io->set_input_minimum (out);
- bool success = (_io->ensure_io (out, in, false, this) == 0);
-
- if (success)
- return Processor::configure_io(in, out);
- else
+ if (_io->ensure_io (out, in, false, this) != 0) {
return false;
+ }
+
+ return Processor::configure_io (in, out);
}
ChanCount
return _io->n_outputs ();
}
+bool
+PortInsert::can_support_io_configuration (const ChanCount& in, ChanCount& out) const
+{
+ out = in;
+ return true;
+}