Don't try to process_input() if an IO has no ports; fixes
authorCarl Hetherington <carl@carlh.net>
Sat, 10 Dec 2011 14:03:37 +0000 (14:03 +0000)
committerCarl Hetherington <carl@carlh.net>
Sat, 10 Dec 2011 14:03:37 +0000 (14:03 +0000)
#4546.

git-svn-id: svn://localhost/ardour2/branches/3.0@10965 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/ardour/io.cc

index c5f0c7361d43d9d788e01f8a12dfbb615338de0d..24bc587c0d4503a4fa52045bd9e6fc8883765a6c 100644 (file)
@@ -1554,6 +1554,11 @@ IO::process_input (boost::shared_ptr<Processor> proc, framepos_t start_frame, fr
 {
        /* don't read the data into new buffers - just use the port buffers directly */
 
+       if (n_ports().n_total() == 0) {
+               /* We have no ports, so nothing to process */
+               return;
+       }
+
        _buffers.get_jack_port_addresses (_ports, nframes);
        proc->run (_buffers, start_frame, end_frame, nframes, true);
 }