X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fresampler.cc;h=ff93d1609ae5e68590c3dcb76f8e2a337be216bf;hb=76f83b97c401c24b3c93baee0665e84be05f43ea;hp=db5552d15ab3159b17510ca1295704d8806507a0;hpb=5e9e59e044fe3b51352d5dccad7f11882c6a571c;p=dcpomatic.git diff --git a/src/lib/resampler.cc b/src/lib/resampler.cc index db5552d15..ff93d1609 100644 --- a/src/lib/resampler.cc +++ b/src/lib/resampler.cc @@ -37,15 +37,14 @@ using boost::shared_ptr; /** @param in Input sampling rate (Hz) * @param out Output sampling rate (Hz) * @param channels Number of channels. - * @param fast true to be fast rather than good. */ -Resampler::Resampler (int in, int out, int channels, bool fast) +Resampler::Resampler (int in, int out, int channels) : _in_rate (in) , _out_rate (out) , _channels (channels) { int error; - _src = src_new (fast ? SRC_LINEAR : SRC_SINC_BEST_QUALITY, _channels, &error); + _src = src_new (SRC_SINC_BEST_QUALITY, _channels, &error); if (!_src) { throw runtime_error (String::compose (N_("could not create sample-rate converter (%1)"), error)); } @@ -56,6 +55,17 @@ Resampler::~Resampler () src_delete (_src); } +void +Resampler::set_fast () +{ + src_delete (_src); + int error; + _src = src_new (SRC_LINEAR, _channels, &error); + if (!_src) { + throw runtime_error (String::compose (N_("could not create sample-rate converter (%1)"), error)); + } +} + shared_ptr Resampler::run (shared_ptr in) {