Untested flushing of resamplers.
[dcpomatic.git] / src / lib / resampler.h
1 #include <boost/shared_ptr.hpp>
2 extern "C" {
3 #include <libswresample/swresample.h>
4 }
5
6 class AudioBuffers;
7
8 class Resampler
9 {
10 public:
11         Resampler (int, int, int);
12         ~Resampler ();
13
14         boost::shared_ptr<const AudioBuffers> run (boost::shared_ptr<const AudioBuffers>);
15         boost::shared_ptr<const AudioBuffers> flush ();
16
17 private:        
18         SwrContext* _swr_context;
19         int _in_rate;
20         int _out_rate;
21         int _channels;
22 };