From fd970b185e9357522f5d12d62800df8769764729 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Thu, 25 Jul 2013 13:23:07 +0100 Subject: Zero 'lost' frames when audio buffer frame counts are dropped. --- src/lib/audio_buffers.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/lib') diff --git a/src/lib/audio_buffers.cc b/src/lib/audio_buffers.cc index 090c01081..a15288a3b 100644 --- a/src/lib/audio_buffers.cc +++ b/src/lib/audio_buffers.cc @@ -110,13 +110,21 @@ AudioBuffers::data (int c) const } /** Set the number of frames that these AudioBuffers will report themselves - * as having. + * as having. If we reduce the number of frames, the `lost' frames will + * be silenced. * @param f Frames; must be less than or equal to the number of allocated frames. */ void AudioBuffers::set_frames (int f) { assert (f <= _allocated_frames); + + for (int c = 0; c < _channels; ++c) { + for (int i = f; i < _frames; ++i) { + _data[c][i] = 0; + } + } + _frames = f; } -- cgit v1.2.3