aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcm/PcmResample.cxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-11-23 18:45:02 +0100
committerMax Kellermann <max@duempel.org>2013-11-23 18:45:02 +0100
commit99527051b5751d2ef7c6b593f1beda84d1bcc33f (patch)
tree39b08616c597fc173022164050ed557650c177b5 /src/pcm/PcmResample.cxx
parentbed98303a346dd98e2a239579c032d170440441d (diff)
parent57e0cc54424561499039967aa501c17d4b179019 (diff)
downloadmpd-99527051b5751d2ef7c6b593f1beda84d1bcc33f.tar.gz
mpd-99527051b5751d2ef7c6b593f1beda84d1bcc33f.tar.xz
mpd-99527051b5751d2ef7c6b593f1beda84d1bcc33f.zip
Merge branch 'v0.18.x'
Diffstat (limited to 'src/pcm/PcmResample.cxx')
-rw-r--r--src/pcm/PcmResample.cxx23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/pcm/PcmResample.cxx b/src/pcm/PcmResample.cxx
index 318181e15..b30e01407 100644
--- a/src/pcm/PcmResample.cxx
+++ b/src/pcm/PcmResample.cxx
@@ -148,3 +148,26 @@ PcmResampler::Resample32(unsigned channels, unsigned src_rate,
src_rate, src_buffer, src_size,
dest_rate, dest_size_r);
}
+
+const int32_t *
+PcmResampler::Resample24(unsigned channels, unsigned src_rate,
+ const int32_t *src_buffer, size_t src_size,
+ unsigned dest_rate, size_t *dest_size_r,
+ Error &error_r)
+{
+#ifdef HAVE_LIBSAMPLERATE
+ if (pcm_resample_lsr_enabled())
+ return pcm_resample_lsr_24(this, channels,
+ src_rate, src_buffer, src_size,
+ dest_rate, dest_size_r,
+ error_r);
+#else
+ (void)error_r;
+#endif
+
+ /* reuse the 32 bit code - the resampler code doesn't care if
+ the upper 8 bits are actually used */
+ return pcm_resample_fallback_32(buffer, channels,
+ src_rate, src_buffer, src_size,
+ dest_rate, dest_size_r);
+}