class Resampler : public boost::noncopyable
{
public:
- Resampler (int, int, int, bool fast);
+ Resampler (int, int, int);
~Resampler ();
- boost::shared_ptr<const AudioBuffers> run (boost::shared_ptr<const AudioBuffers>);
- boost::shared_ptr<const AudioBuffers> flush ();
+ std::pair<boost::shared_ptr<const AudioBuffers>, Frame> run (boost::shared_ptr<const AudioBuffers>, Frame);
+ std::pair<boost::shared_ptr<const AudioBuffers>, Frame> flush ();
+ void reset ();
+ void set_fast ();
private:
SRC_STATE* _src;
int _in_rate;
int _out_rate;
int _channels;
+ boost::optional<Frame> _next_in;
+ boost::optional<Frame> _next_out;
};