2 * This file is part of DisOrder.
3 * Copyright (C) 2009 Richard Kettlewell
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 /** @file lib/resample.h
20 * @brief Audio resampling
27 #include <samplerate.h>
30 #include "byte-order.h"
32 /** @brief An audio resampler */
34 /** @brief Bits/sample in input */
37 /** @brief Number of input channels */
40 /** @brief Frames/second in input */
43 /** @brief Whether input samples are signed or unsigned */
46 /** @brief Input endianness (@c ENDIAN_BIG or @c ENDIAN_LITTLE) */
49 /** @brief Bits/sample in output */
52 /** @brief Number of output channels */
55 /** @brief Frames/second in output */
58 /** @brief Whether output samples are signed or unsigned */
61 /** @brief Output endianness (@c ENDIAN_BIG or @c ENDIAN_LITTLE) */
65 int input_bytes_per_sample
;
68 int input_bytes_per_frame
;
70 /** @brief Libsamplerate handle */
75 void resample_init(struct resampler
*rs
,
76 int input_bits
, int input_channels
,
77 int input_rate
, int input_signed
,
79 int output_bits
, int output_channels
,
80 int output_rate
, int output_signed
,
82 size_t resample_convert(const struct resampler
*rs
,
86 void (*converted
)(uint8_t *bytes
,
90 void resample_close(struct resampler
*rs
);
92 #endif /* RESAMPLE_H */