summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-09-04 00:39:39 +0100
committerCarl Hetherington <cth@carlh.net>2018-09-04 00:39:39 +0100
commit1938b1b08d38fc199717d1875a61ef05e5b965de (patch)
tree3734257f39ea97983c7dc49425ae6d51a596215c /test
parenta45dd41c4dc7b95b1e3e79640e965ae663e7e680 (diff)
Build Empty objects from the presence or absence of decoders in
Pieces, rather than the presence or absence of content. This seems better because of cases like encrypted DCPs without a a KDM: here we may have content but no decoder.
Diffstat (limited to 'test')
-rw-r--r--test/empty_test.cc14
1 files changed, 12 insertions, 2 deletions
diff --git a/test/empty_test.cc b/test/empty_test.cc
index 713972739..576577b97 100644
--- a/test/empty_test.cc
+++ b/test/empty_test.cc
@@ -24,11 +24,19 @@
#include "lib/video_content.h"
#include "lib/image_content.h"
#include "lib/empty.h"
+#include "lib/player.h"
+#include "lib/decoder.h"
#include "test.h"
#include <boost/test/unit_test.hpp>
using boost::shared_ptr;
+bool
+has_video (shared_ptr<Piece> piece)
+{
+ return piece->decoder && piece->decoder->video;
+}
+
BOOST_AUTO_TEST_CASE (empty_test1)
{
shared_ptr<Film> film = new_test_film ("empty_test1");
@@ -52,7 +60,8 @@ BOOST_AUTO_TEST_CASE (empty_test1)
contentB->video->set_length (1);
contentB->set_position (DCPTime::from_frames (7, vfr));
- Empty black (film->content(), film->length(), bind(&Content::video, _1));
+ shared_ptr<Player> player (new Player(film, film->playlist()));
+ Empty black (player->_pieces, film->length(), bind(&has_video, _1));
BOOST_REQUIRE_EQUAL (black._periods.size(), 2);
BOOST_CHECK (black._periods.front().from == DCPTime());
BOOST_CHECK (black._periods.front().to == DCPTime::from_frames(2, vfr));
@@ -84,7 +93,8 @@ BOOST_AUTO_TEST_CASE (empty_test2)
contentB->video->set_length (1);
contentB->set_position (DCPTime::from_frames (7, vfr));
- Empty black (film->content(), film->length(), bind(&Content::video, _1));
+ shared_ptr<Player> player (new Player(film, film->playlist()));
+ Empty black (player->_pieces, film->length(), bind(&has_video, _1));
BOOST_REQUIRE_EQUAL (black._periods.size(), 1);
BOOST_CHECK (black._periods.front().from == DCPTime::from_frames(3, vfr));
BOOST_CHECK (black._periods.front().to == DCPTime::from_frames(7, vfr));