Runs.
[dcpomatic.git] / src / lib / transcoder.h
index 79ef89a18ad25a38c4b1cacce0228caa934b2b32..8d34af9481ebc8fc34b72c71000026dcbe5abf59 100644 (file)
 
 */
 
-#include "decoder.h"
-
 /** @file  src/transcoder.h
- *  @brief A class which takes a FilmState and some Options, then uses those to transcode a Film.
+ *  @brief A class which takes a Film and some Options, then uses those to transcode the film.
  *
  *  A decoder is selected according to the content type, and the encoder can be specified
  *  as a parameter to the constructor.
  */
 
+#include "decoder_factory.h"
+
 class Film;
 class Job;
 class Encoder;
-class FilmState;
+class Matcher;
+class VideoFilter;
+class Gain;
+class DelayLine;
+class Playlist;
 
 /** @class Transcoder
- *  @brief A class which takes a FilmState and some Options, then uses those to transcode a Film.
+ *  @brief A class which takes a Film and some Options, then uses those to transcode the film.
  *
  *  A decoder is selected according to the content type, and the encoder can be specified
  *  as a parameter to the constructor.
@@ -40,20 +44,20 @@ class FilmState;
 class Transcoder
 {
 public:
-       Transcoder (boost::shared_ptr<Film> f, boost::shared_ptr<const Options> o, Job* j, boost::shared_ptr<Encoder> e);
+       Transcoder (
+               boost::shared_ptr<Film> f,
+               DecodeOptions o,
+               boost::shared_ptr<Job> j
+               );
 
        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<Job> _job;
+       boost::shared_ptr<Playlist> _playlist;
        boost::shared_ptr<Encoder> _encoder;
-       /** The decoder that we will use */
-       boost::shared_ptr<Decoder> _decoder;
+       boost::shared_ptr<Matcher> _matcher;
+       boost::shared_ptr<DelayLine> _delay_line;
+       boost::shared_ptr<Gain> _gain;
 };