Better progress reporting during MXF hashing (#184).
[dcpomatic.git] / src / lib / transcoder.h
index 48b453fe4d64033521034fac1088e3a278e588ac..7bf214a88de6ccbbb3b53bacc43fb8c8791de410 100644 (file)
 */
 
 #include "types.h"
-
-/** @file  src/transcoder.h
- *
- *  A decoder is selected according to the content type, and the encoder can be specified
- *  as a parameter to the constructor.
- */
+#include "encoder.h"
 
 class Film;
 class Job;
 class Encoder;
-class Matcher;
 class VideoFilter;
-class Gain;
-class DelayLine;
 class Player;
-class Trimmer;
 
-/** @class Transcoder
- *
- *  A decoder is selected according to the content type, and the encoder can be specified
- *  as a parameter to the constructor.
- */
-class Transcoder
+/** @class Transcoder */
+class Transcoder : public boost::noncopyable
 {
 public:
        Transcoder (
-               boost::shared_ptr<Film> f,
+               boost::shared_ptr<const Film> f,
                boost::shared_ptr<Job> j
                );
 
        void go ();
 
        float current_encoding_rate () const;
+       Encoder::State state () const;
        int video_frames_out () const;
 
 private:
@@ -58,8 +46,4 @@ private:
        boost::shared_ptr<Job> _job;
        boost::shared_ptr<Player> _player;
        boost::shared_ptr<Encoder> _encoder;
-       boost::shared_ptr<Matcher> _matcher;
-       boost::shared_ptr<DelayLine> _delay_line;
-       boost::shared_ptr<Gain> _gain;
-       boost::shared_ptr<Trimmer> _trimmer;
 };