X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Ftranscoder.h;h=b50113742369c817aa3e0b57d28158f31d111b41;hb=1104fed9f028f221f58bf1f7287d8cdf63835a47;hp=43c70df0066be67e26fe5f9d921422204930f902;hpb=89319eb1217c8caca80dc22ca770766f6d2f26c0;p=dcpomatic.git diff --git a/src/lib/transcoder.h b/src/lib/transcoder.h index 43c70df00..b50113742 100644 --- a/src/lib/transcoder.h +++ b/src/lib/transcoder.h @@ -24,6 +24,8 @@ * as a parameter to the constructor. */ +#include "decoder_factory.h" + class Film; class Job; class Encoder; @@ -34,7 +36,8 @@ class Gain; class VideoDecoder; class AudioDecoder; class DelayLine; -class Options; +class EncodeOptions; +class DecodeOptions; /** @class Transcoder * @brief A class which takes a FilmState and some Options, then uses those to transcode a Film. @@ -45,23 +48,26 @@ class Options; class Transcoder { public: - Transcoder (boost::shared_ptr f, boost::shared_ptr o, Job* j, boost::shared_ptr e); + Transcoder ( + boost::shared_ptr f, + boost::shared_ptr o, + Job* j, + boost::shared_ptr e + ); void go (); boost::shared_ptr video_decoder () const { - return _decoders.first; + return _decoders.video; } protected: - boost::shared_ptr _film; - boost::shared_ptr _opt; /** A Job that is running this Transcoder, or 0 */ Job* _job; /** The encoder that we will use */ boost::shared_ptr _encoder; /** The decoders that we will use */ - std::pair, boost::shared_ptr > _decoders; + Decoders _decoders; boost::shared_ptr _matcher; boost::shared_ptr _delay_line; boost::shared_ptr _gain;