Take Film pointer out of Content.
[dcpomatic.git] / src / lib / decoder_part.h
index 1a879452703a5dd301ff86a38e253da4360fd757..7ba2cb2eb67c81f4ee8159e890ebbefce0d09f10 100644 (file)
 
 class Decoder;
 class Log;
+class Film;
 
 class DecoderPart
 {
 public:
-       DecoderPart (Decoder* parent, boost::shared_ptr<Log> log);
+       DecoderPart (Decoder* parent);
+       virtual ~DecoderPart () {}
 
-       void set_ignore () {
-               _ignore = true;
+       virtual ContentTime position (boost::shared_ptr<const Film> film) const = 0;
+       virtual void seek () = 0;
+
+       void set_ignore (bool i) {
+               _ignore = i;
        }
 
        bool ignore () const {
                return _ignore;
        }
 
-       void set_position (ContentTime position) {
-               _position = position;
-       }
-
-       boost::optional<ContentTime> position () const {
-               return _position;
-       }
-
-       void maybe_seek (ContentTime time, bool accurate);
-
 protected:
        Decoder* _parent;
-       boost::shared_ptr<Log> _log;
 
 private:
        bool _ignore;
-       boost::optional<ContentTime> _position;
 };
 
 #endif