Move some checks from Player to Piece.
[dcpomatic.git] / src / lib / piece.cc
index 65699a47ba34ec233f6c211c95155cb7241fedb0..7c360fbe8f3297bdcc475a17a178a92da7d6dd7f 100644 (file)
@@ -86,7 +86,21 @@ Piece::Piece (weak_ptr<const Film> film, shared_ptr<Content> content, shared_ptr
 void
 Piece::video (shared_ptr<const ImageProxy> image, Frame frame, Eyes eyes, Part part)
 {
-       Video (PieceVideo(image, frame, content_video_to_dcp(frame), eyes, part));
+       if (!use_video()) {
+               return;
+       }
+
+       if (_frc.skip && (frame % 2) == 1) {
+               return;
+       }
+
+       auto const time = content_video_to_dcp (frame);
+
+       if (_ignore_video && _ignore_video->contains(time)) {
+               return;
+       }
+
+       Video (PieceVideo(image, frame, time, eyes, part));
 }
 
 
@@ -389,13 +403,6 @@ Piece::fonts () const
 }
 
 
-bool
-Piece::ignore_video_at (DCPTime time) const
-{
-       return _ignore_video && _ignore_video->contains(time);
-}
-
-
 DCPTimePeriod
 Piece::period () const
 {