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 Player;
/** @class ABTranscoder
* @brief A transcoder which uses one Film for the left half of the screen, and a different one
ABTranscoder (
boost::shared_ptr<Film> a,
boost::shared_ptr<Film> b,
- boost::shared_ptr<const Options> o,
- Job* j,
- boost::shared_ptr<Encoder> e
+ boost::shared_ptr<Job> j
);
- ~ABTranscoder ();
-
void go ();
private:
- void process_video (boost::shared_ptr<Image>, boost::shared_ptr<Subtitle>, int);
-
boost::shared_ptr<Film> _film_a;
boost::shared_ptr<Film> _film_b;
- boost::shared_ptr<const Options> _opt;
- Job* _job;
+ boost::shared_ptr<Player> _player_a;
+ boost::shared_ptr<Player> _player_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;
+ boost::shared_ptr<Gain> _gain;
boost::shared_ptr<Image> _image;
};