Untested merge of master.
[dcpomatic.git] / src / lib / audio_decoder.h
index 3bf585f4de1f77259de867f218d66fa6fe4fe141..c393e95f12b776f3b93172a4539159c6b78fa8a2 100644 (file)
  *  @brief Parent class for audio decoders.
  */
 
-#ifndef DVDOMATIC_AUDIO_DECODER_H
-#define DVDOMATIC_AUDIO_DECODER_H
+#ifndef DCPOMATIC_AUDIO_DECODER_H
+#define DCPOMATIC_AUDIO_DECODER_H
 
 #include "audio_source.h"
-#include "stream.h"
 #include "decoder.h"
 
+class AudioContent;
+
 /** @class AudioDecoder.
  *  @brief Parent class for audio decoders.
  */
-class AudioDecoder : public AudioSource, public virtual Decoder
+class AudioDecoder : public TimedAudioSource, public virtual Decoder
 {
 public:
-       AudioDecoder (boost::shared_ptr<Film>, DecodeOptions, Job *);
-
-       virtual void set_audio_stream (boost::shared_ptr<AudioStream>);
-
-       /** @return Audio stream that we are using */
-       boost::shared_ptr<AudioStream> audio_stream () const {
-               return _audio_stream;
-       }
-
-       /** @return All available audio streams */
-       std::vector<boost::shared_ptr<AudioStream> > audio_streams () const {
-               return _audio_streams;
-       }
-
-protected:
-       /** Audio stream that we are using */
-       boost::shared_ptr<AudioStream> _audio_stream;
-       /** All available audio streams */
-       std::vector<boost::shared_ptr<AudioStream> > _audio_streams;
+       AudioDecoder (boost::shared_ptr<const Film>);
 };
 
 #endif