Runs.
[dcpomatic.git] / src / lib / ab_transcoder.h
index 9b57e4f73497c2accbde989f135fb148a9522b3b..14277c562cbae07eb3efb525fd39acf4f0083fd8 100644 (file)
 #include <boost/shared_ptr.hpp>
 #include <stdint.h>
 #include "util.h"
+#include "decoder_factory.h"
 
 class Job;
 class Encoder;
-class VideoDecoder;
-class AudioDecoder;
-class Options;
 class Image;
 class Log;
-class Subtitle;
 class Film;
 class Matcher;
 class DelayLine;
 class Gain;
 class Combiner;
+class Playlist;
 
 /** @class ABTranscoder
  *  @brief A transcoder which uses one Film for the left half of the screen, and a different one
@@ -50,9 +48,8 @@ public:
        ABTranscoder (
                boost::shared_ptr<Film> a,
                boost::shared_ptr<Film> b,
-               boost::shared_ptr<const Options> o,
-               Job* j,
-               boost::shared_ptr<Encoder> e
+               DecodeOptions o,
+               boost::shared_ptr<Job> j
                );
        
        void go ();
@@ -60,11 +57,10 @@ public:
 private:
        boost::shared_ptr<Film> _film_a;
        boost::shared_ptr<Film> _film_b;
-       boost::shared_ptr<const Options> _opt;
-       Job* _job;
+       boost::shared_ptr<Playlist> _playlist_a;
+       boost::shared_ptr<Playlist> _playlist_b;
+       boost::shared_ptr<Job> _job;
        boost::shared_ptr<Encoder> _encoder;
-       std::pair<boost::shared_ptr<VideoDecoder>, boost::shared_ptr<AudioDecoder> > _da;
-       std::pair<boost::shared_ptr<VideoDecoder>, boost::shared_ptr<AudioDecoder> > _db;
        boost::shared_ptr<Combiner> _combiner;
        boost::shared_ptr<Matcher> _matcher;
        boost::shared_ptr<DelayLine> _delay_line;