tentative fix for a crash that occurs when switching backends. 5.0-pre1
authorPaul Davis <paul@linuxaudiosystems.com>
Thu, 21 Jul 2016 03:26:50 +0000 (23:26 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 21 Jul 2016 03:26:50 +0000 (23:26 -0400)
commit78296d2c18c324f0fbfa6add4eca6ad5f9995775
tree395c1440e5ec7d4457ee86c08cb2bf72d6a69a27
parent9c323c59ef8637ee418785fb26d76770909d5b63
tentative fix for a crash that occurs when switching backends.

Session::process() returns early with Session::_silent set to true. AudioBuffer::set_data()
was never set for (at least) the LTC output port. PortManager::cycle_end() calls
AudioBuffer::silence() which used to assume that get_buffer() must have been called. But it
was not, because that should have happened in Session::process().

So check AudioBuffer::data() and call get_buffer() if required.
libs/ardour/ardour/audio_buffer.h
libs/ardour/audio_port.cc