/*
- Copyright (C) 2015-2019 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2015-2020 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
using std::list;
using std::cout;
+using std::vector;
+using std::string;
using boost::shared_ptr;
+using boost::function;
using namespace dcpomatic;
/** Test Film::reels() */
BOOST_CHECK_EQUAL (i->from.get(), DCPTime::from_seconds(14).get());
BOOST_CHECK_EQUAL (i->to.get(), DCPTime::from_seconds(19).get());
}
+
+static void
+no_op ()
+{
+
+}
+
+
+/** Using less than 1 second's worth of content should not result in a reel
+ * of less than 1 second's duration.
+ */
+BOOST_AUTO_TEST_CASE (reels_should_not_be_short1)
+{
+ shared_ptr<Film> film = new_test_film2 ("reels_should_not_be_short1");
+ film->set_video_frame_rate (24);
+
+ shared_ptr<FFmpegContent> A(new FFmpegContent("test/data/flat_red.png"));
+ film->examine_and_add_content (A);
+ BOOST_REQUIRE (!wait_for_jobs());
+ A->video->set_length (23);
+
+ film->make_dcp ();
+ BOOST_REQUIRE (!wait_for_jobs());
+
+ vector<boost::filesystem::path> dirs;
+ dirs.push_back (film->dir(film->dcp_name(false)));
+ BOOST_REQUIRE (dcp::verify(dirs, boost::bind(&no_op), boost::bind(&no_op), TestPaths::xsd).empty());
+}
+
using boost::dynamic_pointer_cast;
boost::filesystem::path private_data = boost::filesystem::canonical(boost::filesystem::path ("..") / boost::filesystem::path ("dcpomatic-test-private"));
+boost::filesystem::path TestPaths::xsd = boost::filesystem::canonical(boost::filesystem::path("..") / boost::filesystem::path("libdcp") / boost::filesystem::path("xsd"));
void
setup_test_config ()
extern boost::filesystem::path private_data;
+class TestPaths
+{
+public:
+ static boost::filesystem::path xsd;
+};
+
extern bool wait_for_jobs ();
extern void setup_test_config ();
extern boost::shared_ptr<Film> new_test_film (std::string);