diff options
Diffstat (limited to 'src/pcm_resample.c')
-rw-r--r-- | src/pcm_resample.c | 49 |
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 +} |