X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Faudio_buffers.cc;h=63204dd6a8684fd50897e68dff0b6b8d15ea30c5;hp=8d3a897c42d76eb7ecd7f0474afdba63ba014a27;hb=d291ce8580aabc2e4340c9887ea1733325bb1b80;hpb=4162285358cb4611e9faa7de576d57b47dbf2ec4 diff --git a/src/lib/audio_buffers.cc b/src/lib/audio_buffers.cc index 8d3a897c4..63204dd6a 100644 --- a/src/lib/audio_buffers.cc +++ b/src/lib/audio_buffers.cc @@ -125,7 +125,9 @@ AudioBuffers::set_frames (int32_t f) { DCPOMATIC_ASSERT (f <= _allocated_frames); - make_silent (f, _frames - f); + if (f < _frames) { + make_silent (f, _frames - f); + } _frames = f; } @@ -269,8 +271,11 @@ AudioBuffers::ensure_size (int32_t frames) } } - make_silent (_allocated_frames, frames - _allocated_frames); + int32_t const old_allocated = _allocated_frames; _allocated_frames = frames; + if (old_allocated < _allocated_frames) { + make_silent (old_allocated, _allocated_frames - old_allocated); + } } /** Mix some other buffers with these ones. The AudioBuffers must have the same number of channels.