Fix lack of audio with trimmed DCPs.
[dcpomatic.git] / src / lib / decoder.h
index be1fe38b6ef2ff52e6f0b6e22b4ec7785af5baf9..3908afa2fbfed522b24266846925fad693ee374f 100644 (file)
@@ -33,6 +33,7 @@
 #include "stream.h"
 #include "video_source.h"
 #include "audio_source.h"
+#include "film.h"
 
 class Job;
 class DecodeOptions;
@@ -41,7 +42,6 @@ class Log;
 class DelayLine;
 class TimedSubtitle;
 class Subtitle;
-class Film;
 class FilterGraph;
 
 /** @class Decoder.
@@ -58,10 +58,10 @@ public:
        virtual ~Decoder () {}
 
        virtual bool pass () = 0;
-       /** Seek.
-        *  @return true on error.
-        */
-       virtual bool seek (SourceFrame);
+       virtual bool seek (double);
+       virtual bool seek_to_last ();
+
+       boost::signals2::signal<void()> OutputChanged;
 
 protected:
        /** our Film */
@@ -70,6 +70,11 @@ protected:
        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