*/
-#include "decoder.h"
-
/** @file src/transcoder.h
* @brief A class which takes a FilmState and some Options, then uses those to transcode a Film.
*
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.
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;
};