diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-04-25 19:40:52 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-05-07 09:29:59 +0200 |
| commit | b005364b093cb92d07f36df384dd9c663a549993 (patch) | |
| tree | c48f53cc52784f1c643a828faa83a87a0fbefd36 | |
| parent | 46e8c91b2ce7648e7f1b8d192e8b3d5f5255cb3c (diff) | |
Make Piece::ignore_video private.
| -rw-r--r-- | src/lib/piece.cc | 7 | ||||
| -rw-r--r-- | src/lib/piece.h | 7 | ||||
| -rw-r--r-- | src/lib/player.cc | 4 | ||||
| -rw-r--r-- | test/overlap_video_test.cc | 4 |
4 files changed, 17 insertions, 5 deletions
diff --git a/src/lib/piece.cc b/src/lib/piece.cc index 454608b82..c0d60a89c 100644 --- a/src/lib/piece.cc +++ b/src/lib/piece.cc @@ -262,3 +262,10 @@ Piece::fonts () const return _decoder->fonts(); } + +bool +Piece::ignore_video_at (DCPTime time) const +{ + return _ignore_video && _ignore_video->contains(time); +} + diff --git a/src/lib/piece.h b/src/lib/piece.h index e25ce7f2f..cac059b80 100644 --- a/src/lib/piece.h +++ b/src/lib/piece.h @@ -75,7 +75,11 @@ public: boost::optional<dcpomatic::DCPTime> decoder_before(std::shared_ptr<const Film> film, boost::optional<dcpomatic::DCPTime> time); std::vector<dcpomatic::FontData> fonts () const; - boost::optional<dcpomatic::DCPTimePeriod> ignore_video; + void set_ignore_video (boost::optional<dcpomatic::DCPTimePeriod> period) { + _ignore_video = period; + } + + bool ignore_video_at (dcpomatic::DCPTime time) const; private: friend struct overlap_video_test1; @@ -85,6 +89,7 @@ private: std::shared_ptr<Decoder> _decoder; FrameRateChange _frc; bool _done = false; + boost::optional<dcpomatic::DCPTimePeriod> _ignore_video; std::map<AudioStreamPtr, dcpomatic::DCPTime> _stream_last_push_end; }; diff --git a/src/lib/player.cc b/src/lib/player.cc index 4f81f51f3..acf0e0e61 100644 --- a/src/lib/player.cc +++ b/src/lib/player.cc @@ -266,7 +266,7 @@ Player::setup_pieces_unlocked () ++j; for (; j != _pieces.end(); ++j) { if ((*j)->use_video()) { - (*i)->ignore_video = DCPTimePeriod((*j)->position(), (*j)->end(_film)).overlap(period); + (*i)->set_ignore_video (DCPTimePeriod((*j)->position(), (*j)->end(_film)).overlap(period)); } } } @@ -795,7 +795,7 @@ Player::video (weak_ptr<Piece> wp, ContentVideo video) return; } - if (piece->ignore_video && piece->ignore_video->contains(time)) { + if (piece->ignore_video_at(time)) { return; } diff --git a/test/overlap_video_test.cc b/test/overlap_video_test.cc index 9402821c4..3516e8a67 100644 --- a/test/overlap_video_test.cc +++ b/test/overlap_video_test.cc @@ -62,8 +62,8 @@ BOOST_AUTO_TEST_CASE (overlap_video_test1) BOOST_REQUIRE_EQUAL (pieces.size(), 2U); BOOST_CHECK_EQUAL (pieces.front()->_content, A); BOOST_CHECK_EQUAL (pieces.back()->_content, B); - BOOST_CHECK (pieces.front()->ignore_video); - BOOST_CHECK (pieces.front()->ignore_video.get() == dcpomatic::DCPTimePeriod(dcpomatic::DCPTime::from_seconds(1), dcpomatic::DCPTime::from_seconds(1) + B->length_after_trim(film))); + BOOST_CHECK (pieces.front()->_ignore_video); + BOOST_CHECK (pieces.front()->_ignore_video.get() == dcpomatic::DCPTimePeriod(dcpomatic::DCPTime::from_seconds(1), dcpomatic::DCPTime::from_seconds(1) + B->length_after_trim(film))); BOOST_CHECK (player->_black.done()); |
