X-Git-Url: https://main.carlh.net/gitweb/?p=ardour.git;a=blobdiff_plain;f=libs%2Fardour%2Faudio_port.cc;h=33e41c10ad49cc309615af9d4778e0d5d426b610;hp=2fecbf9392c1f5b9600da044f0678c9315164d0d;hb=c8c6bca6587450ff64303dbc994a4cd28d6ce7aa;hpb=316973d7c7bc99bfef6367d42009883d0de2abbd diff --git a/libs/ardour/audio_port.cc b/libs/ardour/audio_port.cc index 2fecbf9392..33e41c10ad 100644 --- a/libs/ardour/audio_port.cc +++ b/libs/ardour/audio_port.cc @@ -59,8 +59,11 @@ void AudioPort::cycle_end (pframes_t nframes) { if (sends_output() && !_buffer->written()) { - if (_buffer->capacity() >= nframes) { - _buffer->silence (nframes); + if (!_buffer->data (0)) { + get_audio_buffer (nframes); + } + if (_buffer->capacity() >= nframes) { + _buffer->silence (nframes); } } } @@ -79,7 +82,7 @@ AudioPort::get_audio_buffer (pframes_t nframes) return *_buffer; } -Sample* +Sample* AudioPort::engine_get_whole_audio_buffer () { /* caller must hold process lock */