#ifndef OPUS_RESAMPLER_H #define OPUS_RESAMPLER_H #include #include #include "opus.h" #include "resampler_structs.h" class OpusResampler { public: OpusResampler(); ~OpusResampler(); void Configure(int input_sample_rate, int output_sample_rate, int channels = 1); void Process(const int16_t *input, int input_samples, int16_t *output); int GetOutputSamples(int input_samples) const; int input_sample_rate() const { return input_sample_rate_; } int output_sample_rate() const { return output_sample_rate_; } int channels() const { return channels_; } private: std::vector resampler_states_; int input_sample_rate_; int output_sample_rate_; int channels_; }; #endif