39 typedef struct SRC_STATE_tag SRC_STATE ;
43 {
float *data_in, *data_out ;
45 long input_frames, output_frames ;
46 long input_frames_used, output_frames_gen ;
68 typedef long (*src_callback_t) (
void *cb_data,
float **data) ;
76 SRC_STATE* src_new (
int converter_type,
int channels,
int *error) ;
86 SRC_STATE* src_callback_new (src_callback_t func,
int converter_type,
int channels,
87 int *error,
void* cb_data) ;
94 SRC_STATE* src_delete (SRC_STATE *state) ;
101 int src_process (SRC_STATE *state,
SRC_DATA *data) ;
107 long src_callback_read (SRC_STATE *state,
double src_ratio,
long frames,
float *data) ;
116 int src_simple (
SRC_DATA *data,
int converter_type,
int channels) ;
127 const char *src_get_name (
int converter_type) ;
128 const char *src_get_description (
int converter_type) ;
129 const char *src_get_version (
void) ;
137 int src_set_ratio (SRC_STATE *state,
double new_ratio) ;
146 int src_reset (SRC_STATE *state) ;
153 int src_is_valid_ratio (
double ratio) ;
159 int src_error (SRC_STATE *state) ;
164 const char* src_strerror (
int error) ;
173 SRC_SINC_BEST_QUALITY = 0,
174 SRC_SINC_MEDIUM_QUALITY = 1,
175 SRC_SINC_FASTEST = 2,
176 SRC_ZERO_ORDER_HOLD = 3,
185 void src_short_to_float_array (
const short *in,
float *out,
int len) ;
186 void src_float_to_short_array (
const float *in,
short *out,
int len) ;
188 void src_int_to_float_array (
const int *in,
float *out,
int len) ;
189 void src_float_to_int_array (
const float *in,
int *out,
int len) ;