Various fixes to seek since changing fill code.
[dcpomatic.git] / src / lib / video_decoder.h
index 145baa40b0ca115acda97f8b33376d8712890193..24ee7f4e5f1948bcbf6dd897fbb324570bd62199 100644 (file)
@@ -32,6 +32,7 @@
 #include "content_video.h"
 
 class VideoContent;
+class ImageProxy;
 class Image;
 
 /** @class VideoDecoder
@@ -53,13 +54,21 @@ public:
 #endif
 
 protected:
+       friend struct video_decoder_fill_test1;
+       friend struct video_decoder_fill_test2;
 
        void seek (ContentTime time, bool accurate);
-       void video (boost::shared_ptr<const Image>, VideoFrame frame);
+       void video (boost::shared_ptr<const ImageProxy>, VideoFrame frame);
        std::list<ContentVideo> decoded_video (VideoFrame frame);
+       void fill_2d (VideoFrame from, VideoFrame to);
+       void fill_3d (VideoFrame from, VideoFrame to, Eyes);
 
        boost::shared_ptr<const VideoContent> _video_content;
        std::list<ContentVideo> _decoded_video;
+       bool _same;
+       boost::shared_ptr<Image> _black_image;
+       boost::optional<ContentTime> _last_seek_time;
+       bool _last_seek_accurate;
 };
 
 #endif