X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fsndfile_decoder.h;h=63f2f7dc49f7553b9c265732dc683f79c58c718d;hb=0a93237cb5e4642d3b698ff9b7d0cfae5401478c;hp=1d212cc9b26871bb972f96f135d91cac48736f8c;hpb=cd4a82d90677cec80e891ac190000cb70767446f;p=dcpomatic.git diff --git a/src/lib/sndfile_decoder.h b/src/lib/sndfile_decoder.h index 1d212cc9b..4474adc9e 100644 --- a/src/lib/sndfile_decoder.h +++ b/src/lib/sndfile_decoder.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2013 Carl Hetherington + Copyright (C) 2012-2015 Carl Hetherington This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,28 +17,24 @@ */ -#include #include "decoder.h" #include "audio_decoder.h" +#include "audio_examiner.h" +#include "sndfile_base.h" class SndfileContent; -class SndfileDecoder : public AudioDecoder +class SndfileDecoder : public Sndfile, public AudioDecoder { public: - SndfileDecoder (boost::shared_ptr, boost::shared_ptr); + SndfileDecoder (boost::shared_ptr c); ~SndfileDecoder (); - bool pass (); - - int audio_channels () const; - ContentAudioFrame audio_length () const; - int audio_frame_rate () const; - private: - boost::shared_ptr _sndfile_content; - SNDFILE* _sndfile; - SF_INFO _info; - ContentAudioFrame _done; - ContentAudioFrame _remaining; + bool pass (PassReason); + void seek (ContentTime, bool); + + int64_t _done; + int64_t _remaining; + float* _deinterleave_buffer; };