From 80a7e1ea7dae1968b1f7dee739adec91692beba8 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 21 Jan 2015 20:29:20 +0100 Subject: pcm/SoxrResampler: add a global soxr_runtime_spec_t variable --- src/pcm/SoxrResampler.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/pcm/SoxrResampler.cxx') diff --git a/src/pcm/SoxrResampler.cxx b/src/pcm/SoxrResampler.cxx index 3c271261b..df462ed9d 100644 --- a/src/pcm/SoxrResampler.cxx +++ b/src/pcm/SoxrResampler.cxx @@ -41,6 +41,7 @@ static constexpr unsigned long SOXR_DEFAULT_RECIPE = SOXR_HQ; static constexpr unsigned long SOXR_INVALID_RECIPE = -1; static soxr_quality_spec_t soxr_quality; +static soxr_runtime_spec_t soxr_runtime; static const char * soxr_quality_name(unsigned long recipe) @@ -102,6 +103,9 @@ pcm_resample_soxr_global_init(const ConfigBlock &block, Error &error) "soxr converter '%s'", soxr_quality_name(recipe)); + const unsigned n_threads = 1; + soxr_runtime = soxr_runtime_spec(n_threads); + return true; } @@ -115,7 +119,7 @@ SoxrPcmResampler::Open(AudioFormat &af, unsigned new_sample_rate, soxr_error_t e; soxr = soxr_create(af.sample_rate, new_sample_rate, af.channels, &e, - nullptr, &soxr_quality, nullptr); + nullptr, &soxr_quality, &soxr_runtime); if (soxr == nullptr) { error.Format(soxr_domain, "soxr initialization has failed: %s", e); -- cgit v1.2.3