00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00027 #ifndef MPD_PCM_RESAMPLE_INTERNAL_H
00028 #define MPD_PCM_RESAMPLE_INTERNAL_H
00029
00030 #include "check.h"
00031 #include "pcm_resample.h"
00032
00033 #ifdef HAVE_LIBSAMPLERATE
00034
00035 bool
00036 pcm_resample_lsr_global_init(const char *converter, GError **error_r);
00037
00038 void
00039 pcm_resample_lsr_init(struct pcm_resample_state *state);
00040
00041 void
00042 pcm_resample_lsr_deinit(struct pcm_resample_state *state);
00043
00044 void
00045 pcm_resample_lsr_reset(struct pcm_resample_state *state);
00046
00047 const float *
00048 pcm_resample_lsr_float(struct pcm_resample_state *state,
00049 unsigned channels,
00050 unsigned src_rate,
00051 const float *src_buffer, size_t src_size,
00052 unsigned dest_rate, size_t *dest_size_r,
00053 GError **error_r);
00054
00055 const int16_t *
00056 pcm_resample_lsr_16(struct pcm_resample_state *state,
00057 unsigned channels,
00058 unsigned src_rate,
00059 const int16_t *src_buffer, size_t src_size,
00060 unsigned dest_rate, size_t *dest_size_r,
00061 GError **error_r);
00062
00063 const int32_t *
00064 pcm_resample_lsr_32(struct pcm_resample_state *state,
00065 unsigned channels,
00066 unsigned src_rate,
00067 const int32_t *src_buffer,
00068 G_GNUC_UNUSED size_t src_size,
00069 unsigned dest_rate, size_t *dest_size_r,
00070 GError **error_r);
00071
00072 #endif
00073
00074 void
00075 pcm_resample_fallback_init(struct pcm_resample_state *state);
00076
00077 void
00078 pcm_resample_fallback_deinit(struct pcm_resample_state *state);
00079
00080 const int16_t *
00081 pcm_resample_fallback_16(struct pcm_resample_state *state,
00082 unsigned channels,
00083 unsigned src_rate,
00084 const int16_t *src_buffer, size_t src_size,
00085 unsigned dest_rate,
00086 size_t *dest_size_r);
00087
00088 const int32_t *
00089 pcm_resample_fallback_32(struct pcm_resample_state *state,
00090 unsigned channels,
00091 unsigned src_rate,
00092 const int32_t *src_buffer,
00093 G_GNUC_UNUSED size_t src_size,
00094 unsigned dest_rate,
00095 size_t *dest_size_r);
00096
00097 #endif