1 #ifndef AUDIOGRAPHER_DEINTERLEAVER_H
2 #define AUDIOGRAPHER_DEINTERLEAVER_H
7 #include "identity_vertex.h"
12 namespace AudioGrapher
16 class DeInterleaver : public Sink<T>
19 typedef boost::shared_ptr<IdentityVertex<T> > OutputPtr;
23 ~DeInterleaver() { reset(); }
25 typedef boost::shared_ptr<Source<T> > SourcePtr;
27 void init (unsigned int num_channels, nframes_t max_frames_per_channel);
28 SourcePtr output (unsigned int channel);
29 void process (ProcessContext<T> const & c);
30 using Sink<T>::process;
36 std::vector<OutputPtr> outputs;
37 unsigned int channels;
42 #include "deinterleaver-inl.h"
46 #endif // AUDIOGRAPHER_DEINTERLEAVER_H