X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Faudio_filter.cc;h=94994ba81036fd1fad2fa16785d37d76ec0d76bb;hb=233f8008287c09ed0da6cddba56fb1bd83e21d0f;hp=96af75674cc1369d72f781b25078e5761ad2d495;hpb=fa4da415f1788bed17eefd05ba8d49b8ad847613;p=dcpomatic.git diff --git a/src/lib/audio_filter.cc b/src/lib/audio_filter.cc index 96af75674..94994ba81 100644 --- a/src/lib/audio_filter.cc +++ b/src/lib/audio_filter.cc @@ -21,6 +21,7 @@ #include "audio_filter.h" #include "audio_buffers.h" +#include "maths_util.h" #include "util.h" #include @@ -34,7 +35,7 @@ std::vector AudioFilter::sinc_blackman (float cutoff, bool invert) const { auto ir = std::vector(); - ir.reserve(_M + 1); + ir.resize(_M + 1); /* Impulse response */ @@ -79,7 +80,7 @@ AudioFilter::run (shared_ptr in) auto out = make_shared(in->channels(), in->frames()); if (!_tail) { - _tail.reset (new AudioBuffers (in->channels(), _M + 1)); + _tail = make_shared(in->channels(), _M + 1); _tail->make_silent (); } @@ -141,7 +142,7 @@ BandPassAudioFilter::BandPassAudioFilter (float transition_bandwidth, float lowe auto lpf = sinc_blackman (lower, false); auto hpf = sinc_blackman (higher, true); - _ir.reserve (_M + 1); + _ir.resize(_M + 1); for (int i = 0; i <= _M; ++i) { _ir[i] = lpf[i] + hpf[i]; }