Merge branch 'master' into content-rework-take5
[dcpomatic.git] / src / lib / video_decoder.h
index a2fd5b6510a1fb297c555cf49ce749772e998d21..23817c05536f4c568cef8cdc7a8358ec3991c074 100644 (file)
@@ -17,8 +17,8 @@
 
 */
 
-#ifndef DVDOMATIC_VIDEO_DECODER_H
-#define DVDOMATIC_VIDEO_DECODER_H
+#ifndef DCPOMATIC_VIDEO_DECODER_H
+#define DCPOMATIC_VIDEO_DECODER_H
 
 #include "video_source.h"
 #include "decoder.h"
@@ -30,8 +30,8 @@ class VideoDecoder : public VideoSource, public virtual Decoder
 public:
        VideoDecoder (boost::shared_ptr<const Film>);
 
-       /** @return video frames per second, or 0 if unknown */
-       virtual float frames_per_second () const = 0;
+       /** @return video frame rate second, or 0 if unknown */
+       virtual float video_frame_rate () const = 0;
        /** @return native size in pixels */
        virtual libdcp::Size native_size () const = 0;
        /** @return length according to our content's header */
@@ -48,8 +48,8 @@ public:
                return _video_frame;
        }
 
-       double last_source_time () const {
-               return _last_source_time;
+       double last_content_time () const {
+               return _last_content_time;
        }
 
 protected:
@@ -58,13 +58,14 @@ protected:
 
        void emit_video (boost::shared_ptr<Image>, double);
        void emit_subtitle (boost::shared_ptr<TimedSubtitle>);
-       void repeat_last_video ();
+       bool have_last_video () const;
+       void repeat_last_video (double);
 
 private:
-       void signal_video (boost::shared_ptr<Image>, bool, boost::shared_ptr<Subtitle>);
+       void signal_video (boost::shared_ptr<Image>, bool, boost::shared_ptr<Subtitle>, double);
 
        int _video_frame;
-       double _last_source_time;
+       double _last_content_time;
        
        boost::shared_ptr<TimedSubtitle> _timed_subtitle;