fix behaviour of AsyncMIDIPort so that large amounts of data are handled well.
authorPaul Davis <paul@linuxaudiosystems.com>
Fri, 9 Oct 2015 15:08:33 +0000 (11:08 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Fri, 9 Oct 2015 15:08:33 +0000 (11:08 -0400)
commitf74eab854a2cafab82dae17ae04e5ea5945016bd
tree1db6145217801f11bc8dced64153c8dec84cb257
parentcdd415cdaf1eb8e7df942c55c88db139fb472277
fix behaviour of AsyncMIDIPort so that large amounts of data are handled well.

Increased the size of the FIFO that acts as the intermediate between writers and the MidiBuffer. Changed
implementation of ::write() to notice if MidiBuffer::push_back() fails, and then just leave data queued
for subsequent calls to ::flush_output_fifo().

Note: the logic here will be broken by invalid events/data, which ALSO cause MidiBuffer::push_back() to
return false. That needs fixing
libs/ardour/async_midi_port.cc