summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-01-14 23:38:30 +0100
committerCarl Hetherington <cth@carlh.net>2021-01-17 20:13:23 +0100
commitecb9344aedd1beac90668cba46e0f22bd7c7bd9f (patch)
tree28464363a659a61e266eacbca3daa0467c251623 /test
parent6e1558f51d4f90c0adf6b18dc8143274167e4d89 (diff)
Bv2.1 8.2: all parts of a reel must have the same duration.
Diffstat (limited to 'test')
-rw-r--r--test/test.cc4
-rw-r--r--test/verify_test.cc37
2 files changed, 33 insertions, 8 deletions
diff --git a/test/test.cc b/test/test.cc
index f110c9cb..ba309f0e 100644
--- a/test/test.cc
+++ b/test/test.cc
@@ -402,7 +402,7 @@ make_simple_with_interop_subs (boost::filesystem::path path)
shared_ptr<dcp::DCP>
make_simple_with_smpte_subs (boost::filesystem::path path)
{
- shared_ptr<dcp::DCP> dcp = make_simple (path);
+ shared_ptr<dcp::DCP> dcp = make_simple (path, 1, 240);
shared_ptr<dcp::SMPTESubtitleAsset> subs(new dcp::SMPTESubtitleAsset());
subs->set_language (dcp::LanguageTag("de-DE"));
@@ -437,7 +437,7 @@ make_simple_with_interop_ccaps (boost::filesystem::path path)
shared_ptr<dcp::DCP>
make_simple_with_smpte_ccaps (boost::filesystem::path path)
{
- shared_ptr<dcp::DCP> dcp = make_simple (path);
+ shared_ptr<dcp::DCP> dcp = make_simple (path, 1, 240);
shared_ptr<dcp::SMPTESubtitleAsset> subs(new dcp::SMPTESubtitleAsset());
subs->set_language (dcp::LanguageTag("de-DE"));
diff --git a/test/verify_test.cc b/test/verify_test.cc
index 6ed6b092..86b98d2b 100644
--- a/test/verify_test.cc
+++ b/test/verify_test.cc
@@ -1139,7 +1139,7 @@ BOOST_AUTO_TEST_CASE (verify_missing_language_tag_in_subtitle_xml)
{
boost::filesystem::path dir = "build/test/verify_missing_language_tag_in_subtitle_xml";
prepare_directory (dir);
- auto dcp = make_simple (dir, 1);
+ auto dcp = make_simple (dir, 1, 240);
string const xml =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
@@ -1169,7 +1169,7 @@ BOOST_AUTO_TEST_CASE (verify_missing_language_tag_in_subtitle_xml)
auto subs = make_shared<dcp::SMPTESubtitleAsset>(dir / "subs.xml");
subs->write (dir / "subs.mxf");
- auto reel_subs = make_shared<dcp::ReelSubtitleAsset>(subs, dcp::Fraction(24, 1), 100, 0);
+ auto reel_subs = make_shared<dcp::ReelSubtitleAsset>(subs, dcp::Fraction(24, 1), 240, 0);
dcp->cpls().front()->reels().front()->add(reel_subs);
dcp->write_xml (dcp::SMPTE);
@@ -1222,7 +1222,7 @@ BOOST_AUTO_TEST_CASE (verify_missing_start_time_tag_in_subtitle_xml)
{
boost::filesystem::path dir = "build/test/verify_missing_start_time_tag_in_subtitle_xml";
prepare_directory (dir);
- auto dcp = make_simple (dir, 1);
+ auto dcp = make_simple (dir, 1, 240);
string const xml =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
@@ -1252,7 +1252,7 @@ BOOST_AUTO_TEST_CASE (verify_missing_start_time_tag_in_subtitle_xml)
auto subs = make_shared<dcp::SMPTESubtitleAsset>(dir / "subs.xml");
subs->write (dir / "subs.mxf");
- auto reel_subs = make_shared<dcp::ReelSubtitleAsset>(subs, dcp::Fraction(24, 1), 100, 0);
+ auto reel_subs = make_shared<dcp::ReelSubtitleAsset>(subs, dcp::Fraction(24, 1), 240, 0);
dcp->cpls().front()->reels().front()->add(reel_subs);
dcp->write_xml (dcp::SMPTE);
@@ -1269,7 +1269,7 @@ BOOST_AUTO_TEST_CASE (verify_non_zero_start_time_tag_in_subtitle_xml)
{
boost::filesystem::path dir = "build/test/verify_non_zero_start_time_tag_in_subtitle_xml";
prepare_directory (dir);
- auto dcp = make_simple (dir, 1);
+ auto dcp = make_simple (dir, 1, 240);
string const xml =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
@@ -1300,7 +1300,7 @@ BOOST_AUTO_TEST_CASE (verify_non_zero_start_time_tag_in_subtitle_xml)
auto subs = make_shared<dcp::SMPTESubtitleAsset>(dir / "subs.xml");
subs->write (dir / "subs.mxf");
- auto reel_subs = make_shared<dcp::ReelSubtitleAsset>(subs, dcp::Fraction(24, 1), 100, 0);
+ auto reel_subs = make_shared<dcp::ReelSubtitleAsset>(subs, dcp::Fraction(24, 1), 240, 0);
dcp->cpls().front()->reels().front()->add(reel_subs);
dcp->write_xml (dcp::SMPTE);
@@ -1673,3 +1673,28 @@ BOOST_AUTO_TEST_CASE (verify_cpl_annotation_text_should_be_same_as_content_title
});
}
+
+BOOST_AUTO_TEST_CASE (verify_reel_assets_durations_must_match)
+{
+ boost::filesystem::path const dir("build/test/verify_reel_assets_durations_must_match");
+ boost::filesystem::remove_all (dir);
+ boost::filesystem::create_directories (dir);
+ shared_ptr<dcp::DCP> dcp (new dcp::DCP(dir));
+ shared_ptr<dcp::CPL> cpl (new dcp::CPL("A Test DCP", dcp::FEATURE));
+
+ shared_ptr<dcp::MonoPictureAsset> mp = simple_picture (dir, "", 24);
+ shared_ptr<dcp::SoundAsset> ms = simple_sound (dir, "", dcp::MXFMetadata(), "en-US", 25);
+
+ cpl->add (
+ make_shared<dcp::Reel>(
+ make_shared<dcp::ReelMonoPictureAsset>(mp, 0),
+ make_shared<dcp::ReelSoundAsset>(ms, 0)
+ )
+ );
+
+ dcp->add (cpl);
+ dcp->write_xml (dcp::SMPTE);
+
+ check_verify_result ({dir}, {{ dcp::VerificationNote::VERIFY_BV21_ERROR, dcp::VerificationNote::MISMATCHED_ASSET_DURATION }});
+}
+