/*
- Copyright (C) 2012-2016 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
*/
+
#ifndef DCPOMATIC_DECODER_PART_H
#define DCPOMATIC_DECODER_PART_H
+
#include "dcpomatic_time.h"
#include <boost/optional.hpp>
+
class Decoder;
class Log;
+class Film;
+
class DecoderPart
{
public:
- DecoderPart (Decoder* parent, boost::shared_ptr<Log> log);
- virtual DecoderPart () {}
+ DecoderPart (Decoder* parent);
+ virtual ~DecoderPart () {}
- void set_ignore () {
- _ignore = true;
+ virtual boost::optional<dcpomatic::ContentTime> position (std::shared_ptr<const Film> film) const = 0;
+ virtual void seek () = 0;
+
+ void set_ignore (bool i) {
+ _ignore = i;
}
bool ignore () const {
return _ignore;
}
- virtual boost::optional<ContentTime> position () const = 0;
-
- void maybe_seek (ContentTime time, bool accurate);
-
protected:
Decoder* _parent;
- boost::shared_ptr<Log> _log;
private:
bool _ignore;
};
+
#endif