class SndfileDecoder : public AudioDecoder
{
public:
- SndfileDecoder (boost::shared_ptr<const Film>, boost::shared_ptr<const SndfileContent>);
+ SndfileDecoder (boost::shared_ptr<const SndfileContent> c);
+ ~SndfileDecoder ();
- bool pass ();
+ void seek (ContentTime, bool);
-private:
- SNDFILE* open_file (sf_count_t &);
- void close_file (SNDFILE*);
+ int audio_channels () const;
+ ContentTime audio_length () const;
+ int audio_frame_rate () const;
+private:
+ bool pass ();
+
boost::shared_ptr<const SndfileContent> _sndfile_content;
+ SNDFILE* _sndfile;
+ SF_INFO _info;
+ int64_t _done;
+ int64_t _remaining;
+ float* _deinterleave_buffer;
};