Add Piece::player_video().
authorCarl Hetherington <cth@carlh.net>
Fri, 23 Apr 2021 21:20:04 +0000 (23:20 +0200)
committerCarl Hetherington <cth@carlh.net>
Fri, 7 May 2021 07:29:58 +0000 (09:29 +0200)
src/lib/piece.cc
src/lib/piece.h
src/lib/player.cc

index fb9289dbb62fdd1a6a52abcc0137aa2a05803e06..dd6a8ff230b3e477ecf563ff0e8e98b4c0e7a0ea 100644 (file)
 #include "content.h"
 #include "film.h"
 #include "piece.h"
+#include "player_video.h"
 #include "video_content.h"
 
 
 using std::shared_ptr;
+using std::make_shared;
 using namespace dcpomatic;
 
 
@@ -126,3 +128,22 @@ Piece::end (shared_ptr<const Film> film) const
        return content->end (film);
 }
 
+
+shared_ptr<PlayerVideo>
+Piece::player_video (ContentVideo video, shared_ptr<const Film> film, dcp::Size container_size) const
+{
+       return std::make_shared<PlayerVideo>(
+               video.image,
+               content->video->crop (),
+               content->video->fade (film, video.frame),
+               scale_for_display(content->video->scaled_size(film->frame_size()), container_size, film->frame_size()),
+               container_size,
+               video.eyes,
+               video.part,
+               content->video->colour_conversion(),
+               content->video->range(),
+               content,
+               video.frame,
+               false
+               );
+}
index 34d8d30c97a00c265d1a61df86276cbc7177c630..5997e0fd6caa40f026f5396d80cc367c0a3cafac 100644 (file)
@@ -24,6 +24,7 @@
 
 
 #include "audio_stream.h"
+#include "content_video.h"
 #include "dcpomatic_time.h"
 #include "frame_rate_change.h"
 #include "types.h"
@@ -32,6 +33,7 @@
 
 class Content;
 class Decoder;
+class PlayerVideo;
 
 
 class Piece
@@ -56,6 +58,8 @@ public:
        dcpomatic::DCPTime position () const;
        dcpomatic::DCPTime end (std::shared_ptr<const Film> film) const;
 
+       std::shared_ptr<PlayerVideo> player_video (ContentVideo video, std::shared_ptr<const Film> film, dcp::Size container_size) const;
+
        std::shared_ptr<Content> content;
        std::shared_ptr<Decoder> decoder;
        boost::optional<dcpomatic::DCPTimePeriod> ignore_video;
index 8501c3e70100728527e6aaa6d89e6efcaf78cd0c..e1a86e227ca02b8d5e10a55dc4eec50930da144c 100644 (file)
@@ -847,20 +847,7 @@ Player::video (weak_ptr<Piece> wp, ContentVideo video)
                }
        }
 
-       _last_video[wp] = std::make_shared<PlayerVideo>(
-               video.image,
-               piece->content->video->crop (),
-               piece->content->video->fade (_film, video.frame),
-               scale_for_display(piece->content->video->scaled_size(_film->frame_size()), _video_container_size, _film->frame_size()),
-               _video_container_size,
-               video.eyes,
-               video.part,
-               piece->content->video->colour_conversion(),
-               piece->content->video->range(),
-               piece->content,
-               video.frame,
-               false
-               );
+       _last_video[wp] = piece->player_video (video, _film, _video_container_size);
 
        DCPTime t = time;
        for (int i = 0; i < frc.repeat; ++i) {