projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Another try at sorting out the thorny question of timing.
[dcpomatic.git]
/
src
/
lib
/
sndfile_decoder.h
diff --git
a/src/lib/sndfile_decoder.h
b/src/lib/sndfile_decoder.h
index 56fc3a9f08bc7811d4a6d7720992874d5a13b393..77fa6d17734da4096757dae504a759c9925e0e8b 100644
(file)
--- a/
src/lib/sndfile_decoder.h
+++ b/
src/lib/sndfile_decoder.h
@@
-27,12
+27,20
@@
class SndfileDecoder : public AudioDecoder
{
public:
SndfileDecoder (boost::shared_ptr<const Film>, boost::shared_ptr<const SndfileContent>);
{
public:
SndfileDecoder (boost::shared_ptr<const Film>, boost::shared_ptr<const SndfileContent>);
+ ~SndfileDecoder ();
- bool pass ();
+ void pass ();
+ bool done () const;
-private:
-
SNDFILE* open_file (sf_count_t &)
;
-
void close_file (SNDFILE*)
;
+ int audio_channels () const;
+
AudioContent::Frame audio_length () const
;
+
int audio_frame_rate () const
;
+private:
boost::shared_ptr<const SndfileContent> _sndfile_content;
boost::shared_ptr<const SndfileContent> _sndfile_content;
+ SNDFILE* _sndfile;
+ SF_INFO _info;
+ AudioContent::Frame _done;
+ AudioContent::Frame _remaining;
+ float* _deinterleave_buffer;
};
};