diff options
Diffstat (limited to 'src/lib/decoder.h')
| -rw-r--r-- | src/lib/decoder.h | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/lib/decoder.h b/src/lib/decoder.h index e757e5401..b8278ff80 100644 --- a/src/lib/decoder.h +++ b/src/lib/decoder.h @@ -33,15 +33,15 @@ #include "stream.h" #include "video_source.h" #include "audio_source.h" +#include "film.h" class Job; -class Options; +class DecodeOptions; class Image; class Log; class DelayLine; class TimedSubtitle; class Subtitle; -class Film; class FilterGraph; /** @class Decoder. @@ -54,18 +54,29 @@ class FilterGraph; class Decoder { public: - Decoder (boost::shared_ptr<Film>, boost::shared_ptr<const Options>, Job *); + Decoder (boost::shared_ptr<Film>, boost::shared_ptr<const DecodeOptions>, Job *); virtual ~Decoder () {} virtual bool pass () = 0; + /** Seek. + * @return true on error. + */ + virtual bool seek (SourceFrame); + + boost::signals2::signal<void()> OutputChanged; protected: /** our Film */ boost::shared_ptr<Film> _film; /** our options */ - boost::shared_ptr<const Options> _opt; + boost::shared_ptr<const DecodeOptions> _opt; /** associated Job, or 0 */ Job* _job; + +private: + virtual void film_changed (Film::Property) {} + + boost::signals2::scoped_connection _film_connection; }; #endif |
