X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fsndfile_decoder.h;h=4474adc9e3b37dba35bf62bd689ec318e973e643;hb=0a93237cb5e4642d3b698ff9b7d0cfae5401478c;hp=63f2f7dc49f7553b9c265732dc683f79c58c718d;hpb=ec95ff05f66e9b4cf3bcdbefa0c75ca8f99dc279;p=dcpomatic.git diff --git a/src/lib/sndfile_decoder.h b/src/lib/sndfile_decoder.h index 63f2f7dc4..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,34 +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 (); - void seek (ContentTime, bool); - - int audio_channels () const; - AudioContent::Frame audio_length () const; - int audio_frame_rate () const; - private: - bool has_audio () const { - return true; - } - bool pass (); + bool pass (PassReason); + void seek (ContentTime, bool); - boost::shared_ptr _sndfile_content; - SNDFILE* _sndfile; - SF_INFO _info; - AudioContent::Frame _done; - AudioContent::Frame _remaining; + int64_t _done; + int64_t _remaining; float* _deinterleave_buffer; };