/*
- Copyright (C) 2012-2013 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
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
*/
-#include <sndfile.h>
#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<const SndfileContent> c);
~SndfileDecoder ();
- void seek (ContentTime, bool);
-
- 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;
+ void seek (ContentTime, bool);
+
int64_t _done;
int64_t _remaining;
float* _deinterleave_buffer;