29 int channels)
noexcept {
30 if (buf ==
nullptr)
return;
31 if (channels <= 0)
return;
32 if (total_frames <= 0)
return;
33 if (frames_read < 0) frames_read = 0;
34 if (frames_read > total_frames) frames_read = total_frames;
35 const std::size_t samples_read =
36 static_cast<std::size_t
>(frames_read) *
static_cast<std::size_t
>(channels);
37 const std::size_t samples_total =
38 static_cast<std::size_t
>(total_frames) *
static_cast<std::size_t
>(channels);
39 if (samples_read >= samples_total)
return;
40 std::memset(buf + samples_read, 0,
41 sizeof(
float) * (samples_total - samples_read));
void zero_fill_short_read(float *buf, int frames_read, int total_frames, int channels) noexcept
Zero-fill the trailing samples of an interleaved input buffer after a short read.
Definition frame_fill.hpp:26