{
public:
SndfileDecoder (boost::shared_ptr<const Film>, boost::shared_ptr<const SndfileContent>);
+ ~SndfileDecoder ();
- bool pass ();
+ void pass ();
+ void seek (Time) {}
+ void seek_back () {}
+ void seek_forward () {}
+ Time next () const;
+ bool done () const;
-private:
- SNDFILE* open_file (sf_count_t &);
- void close_file (SNDFILE*);
+ int audio_channels () const;
+ ContentAudioFrame audio_length () const;
+ int audio_frame_rate () const;
+private:
boost::shared_ptr<const SndfileContent> _sndfile_content;
+ SNDFILE* _sndfile;
+ SF_INFO _info;
+ ContentAudioFrame _done;
+ ContentAudioFrame _remaining;
+ float* _deinterleave_buffer;
};