Small cleanup.
[dcpomatic.git] / src / lib / transcoder.h
index d5597ad0ecc4d653826f64afc12aaa97d447f00c..e3ca2bb32085b128bb0c47673bcab7b55fed804a 100644 (file)
@@ -17,8 +17,6 @@
 
 */
 
-#include "decoder.h"
-
 /** @file  src/transcoder.h
  *  @brief A class which takes a FilmState and some Options, then uses those to transcode a Film.
  *
@@ -31,6 +29,12 @@ class Job;
 class Encoder;
 class FilmState;
 class Matcher;
+class VideoFilter;
+class Gain;
+class VideoDecoder;
+class AudioDecoder;
+class DelayLine;
+class Options;
 
 /** @class Transcoder
  *  @brief A class which takes a FilmState and some Options, then uses those to transcode a Film.
@@ -45,18 +49,14 @@ public:
 
        void go ();
 
-       /** @return Our decoder */
-       boost::shared_ptr<Decoder> decoder () {
-               return _decoder;
-       }
-
 protected:
        /** A Job that is running this Transcoder, or 0 */
        Job* _job;
        /** The encoder that we will use */
        boost::shared_ptr<Encoder> _encoder;
-       /** The decoder that we will use */
-       boost::shared_ptr<Decoder> _decoder;
+       /** The decoders that we will use */
+       std::pair<boost::shared_ptr<VideoDecoder>, boost::shared_ptr<AudioDecoder> > _decoders;
        boost::shared_ptr<Matcher> _matcher;
        boost::shared_ptr<DelayLine> _delay_line;
+       boost::shared_ptr<Gain> _gain;
 };