X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Faudio_port.cc;h=e2bb20dbe958c20753422e202e0d74cf8a911fa8;hb=7fc3b0c34c552d7be862897bd0aaa542453e9973;hp=6a86360b6937522333d77d84daa0fe5c3f0322cb;hpb=7a30e63eaad66ded1c47f5cdb2e0f28c3b0a1d4a;p=ardour.git diff --git a/libs/ardour/audio_port.cc b/libs/ardour/audio_port.cc index 6a86360b69..e2bb20dbe9 100644 --- a/libs/ardour/audio_port.cc +++ b/libs/ardour/audio_port.cc @@ -56,14 +56,11 @@ AudioPort::cycle_start (pframes_t nframes) } void -AudioPort::cycle_end (pframes_t) +AudioPort::cycle_end (pframes_t nframes) { if (sends_output() && !_buffer->written()) { - /* we can't use nframes here because the current buffer capacity may - be shorter than the full buffer size if we split the cycle. - */ - if (_buffer->capacity () > 0) { - _buffer->silence (_buffer->capacity()); + if (_buffer->capacity() >= nframes) { + _buffer->silence (nframes); } } } @@ -82,7 +79,7 @@ AudioPort::get_audio_buffer (pframes_t nframes) return *_buffer; } -Sample* +Sample* AudioPort::engine_get_whole_audio_buffer () { /* caller must hold process lock */