aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcm_resample.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-03-14 15:26:28 +0100
committerMax Kellermann <max@duempel.org>2009-03-14 15:26:28 +0100
commit456201fa222ab208aba45fa2d700a56f04876886 (patch)
treeac53d51444db8f6dbafb1e839191a7c4349e5912 /src/pcm_resample.c
parentf1eed721d26abc0e6f87374653c0fb6a877f96cc (diff)
downloadmpd-456201fa222ab208aba45fa2d700a56f04876886.tar.gz
mpd-456201fa222ab208aba45fa2d700a56f04876886.tar.xz
mpd-456201fa222ab208aba45fa2d700a56f04876886.zip
pcm_resample: renamed implementation functions
Added diversion functions to pcm_resample.c. These check which resampler is enabled at compile time (libsamplerate or fallback). This prepares the following patch.
Diffstat (limited to 'src/pcm_resample.c')
-rw-r--r--src/pcm_resample.c49
1 files changed, 48 insertions, 1 deletions
diff --git a/src/pcm_resample.c b/src/pcm_resample.c
index bad4b78d5..f27bf4f0c 100644
--- a/src/pcm_resample.c
+++ b/src/pcm_resample.c
@@ -17,7 +17,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#include "pcm_resample.h"
+#include "pcm_resample_internal.h"
#include "config.h"
#include <string.h>
@@ -33,3 +33,50 @@ void pcm_resample_init(struct pcm_resample_state *state)
pcm_buffer_init(&state->buffer);
}
+
+void pcm_resample_deinit(struct pcm_resample_state *state)
+{
+#ifdef HAVE_LIBSAMPLERATE
+ pcm_resample_lsr_deinit(state);
+#else
+ pcm_resample_fallback_deinit(state);
+#endif
+}
+
+const int16_t *
+pcm_resample_16(struct pcm_resample_state *state,
+ uint8_t channels,
+ unsigned src_rate,
+ const int16_t *src_buffer, size_t src_size,
+ unsigned dest_rate,
+ size_t *dest_size_r)
+{
+#ifdef HAVE_LIBSAMPLERATE
+ return pcm_resample_lsr_16(state, channels,
+ src_rate, src_buffer, src_size,
+ dest_rate, dest_size_r);
+#else
+ return pcm_resample_fallback_16(state, channels,
+ src_rate, src_buffer, src_size,
+ dest_rate, dest_size_r);
+#endif
+}
+
+const int32_t *
+pcm_resample_32(struct pcm_resample_state *state,
+ uint8_t channels,
+ unsigned src_rate,
+ const int32_t *src_buffer, size_t src_size,
+ unsigned dest_rate,
+ size_t *dest_size_r)
+{
+#ifdef HAVE_LIBSAMPLERATE
+ return pcm_resample_lsr_32(state, channels,
+ src_rate, src_buffer, src_size,
+ dest_rate, dest_size_r);
+#else
+ return pcm_resample_fallback_32(state, channels,
+ src_rate, src_buffer, src_size,
+ dest_rate, dest_size_r);
+#endif
+}