#include <samplerate.h>
#endif
-#define ENDIAN_BIG 1
-#define ENDIAN_LITTLE 2
+#include "byte-order.h"
+/** @brief An audio resampler */
struct resampler {
- int input_bits, input_channels, input_rate, input_signed, input_endian;
- int output_bits, output_channels, output_rate, output_signed, output_endian;
+ /** @brief Bits/sample in input */
+ int input_bits;
+
+ /** @brief Number of input channels */
+ int input_channels;
+
+ /** @brief Frames/second in input */
+ int input_rate;
+
+ /** @brief Whether input samples are signed or unsigned */
+ int input_signed;
+
+ /** @brief Input endianness (@c ENDIAN_BIG or @c ENDIAN_LITTLE) */
+ int input_endian;
+
+ /** @brief Bits/sample in output */
+ int output_bits;
+
+ /** @brief Number of output channels */
+ int output_channels;
+
+ /** @brief Frames/second in output */
+ int output_rate;
+
+ /** @brief Whether output samples are signed or unsigned */
+ int output_signed;
+
+ /** @brief Output endianness (@c ENDIAN_BIG or @c ENDIAN_LITTLE) */
+ int output_endian;
+
+ /** @brief */
int input_bytes_per_sample;
+
+ /** @brief */
int input_bytes_per_frame;
#if HAVE_SAMPLERATE_H
+ /** @brief Libsamplerate handle */
SRC_STATE *state;
#endif
};
int output_bits, int output_channels,
int output_rate, int output_signed,
int output_endian);
-size_t resample_convert(struct resampler *rs,
+size_t resample_convert(const struct resampler *rs,
const uint8_t *bytes,
size_t nbytes,
int eof,
void (*converted)(uint8_t *bytes,
- size_t nbytes));
+ size_t nbytes,
+ void *cd),
+ void *cd);
void resample_close(struct resampler *rs);
#endif /* RESAMPLE_H */