summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-01-18 22:53:57 +0100
committerCarl Hetherington <cth@carlh.net>2021-01-18 22:53:57 +0100
commit49b30838def07c225481def5e54458c22f6ceece (patch)
treefce213ba90b6688f038be5edf5d51c756fe5a6bb /test
parent2c11132af71aefb81f9e201403b1f3b9b005d0c0 (diff)
Bv2.1 9.1: PKL annotation text must match CPL ContentTitleText if there is only one CPL in the PKL.
Diffstat (limited to 'test')
-rw-r--r--test/combine_test.cc9
-rw-r--r--test/dcp_test.cc2
-rw-r--r--test/ref/DCP/dcp_test1/ASSETMAP.xml4
-rw-r--r--test/ref/DCP/dcp_test1/pkl_2b9b857f-ab4a-440e-a313-1ace0f1cfc95.xml2
-rw-r--r--test/verify_test.cc254
5 files changed, 235 insertions, 36 deletions
diff --git a/test/combine_test.cc b/test/combine_test.cc
index 050978c7..62b7ffd5 100644
--- a/test/combine_test.cc
+++ b/test/combine_test.cc
@@ -157,7 +157,14 @@ BOOST_AUTO_TEST_CASE (combine_single_dcp_test)
remove_all (out);
vector<path> inputs;
inputs.push_back ("test/ref/DCP/dcp_test1");
- dcp::combine (inputs, out);
+ dcp::combine (
+ inputs,
+ out,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
check_no_errors (out);
check_combined (inputs, out);
diff --git a/test/dcp_test.cc b/test/dcp_test.cc
index dc24483e..cdcbe495 100644
--- a/test/dcp_test.cc
+++ b/test/dcp_test.cc
@@ -68,7 +68,7 @@ BOOST_AUTO_TEST_CASE (dcp_test1)
RNGFixer fixer;
make_simple("build/test/DCP/dcp_test1")->write_xml(
- dcp::SMPTE, "OpenDCP 0.0.25", "OpenDCP 0.0.25", "2012-07-17T04:45:18+00:00", "Created by libdcp"
+ dcp::SMPTE, "OpenDCP 0.0.25", "OpenDCP 0.0.25", "2012-07-17T04:45:18+00:00", "A Test DCP"
);
/* build/test/DCP/dcp_test1 is checked against test/ref/DCP/dcp_test1 by run/tests */
diff --git a/test/ref/DCP/dcp_test1/ASSETMAP.xml b/test/ref/DCP/dcp_test1/ASSETMAP.xml
index 72096d95..e0426fb1 100644
--- a/test/ref/DCP/dcp_test1/ASSETMAP.xml
+++ b/test/ref/DCP/dcp_test1/ASSETMAP.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<AssetMap xmlns="http://www.smpte-ra.org/schemas/429-9/2007/AM">
<Id>urn:uuid:07e9f5a0-83ab-4791-8c6b-7df5d11f76f9</Id>
- <AnnotationText>Created by libdcp</AnnotationText>
+ <AnnotationText>A Test DCP</AnnotationText>
<Creator>OpenDCP 0.0.25</Creator>
<VolumeCount>1</VolumeCount>
<IssueDate>2012-07-17T04:45:18+00:00</IssueDate>
@@ -15,7 +15,7 @@
<Path>pkl_2b9b857f-ab4a-440e-a313-1ace0f1cfc95.xml</Path>
<VolumeIndex>1</VolumeIndex>
<Offset>0</Offset>
- <Length>1186</Length>
+ <Length>1179</Length>
</Chunk>
</ChunkList>
</Asset>
diff --git a/test/ref/DCP/dcp_test1/pkl_2b9b857f-ab4a-440e-a313-1ace0f1cfc95.xml b/test/ref/DCP/dcp_test1/pkl_2b9b857f-ab4a-440e-a313-1ace0f1cfc95.xml
index ea99d114..5038b8ed 100644
--- a/test/ref/DCP/dcp_test1/pkl_2b9b857f-ab4a-440e-a313-1ace0f1cfc95.xml
+++ b/test/ref/DCP/dcp_test1/pkl_2b9b857f-ab4a-440e-a313-1ace0f1cfc95.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<PackingList xmlns="http://www.smpte-ra.org/schemas/429-8/2007/PKL">
<Id>urn:uuid:2b9b857f-ab4a-440e-a313-1ace0f1cfc95</Id>
- <AnnotationText>Created by libdcp</AnnotationText>
+ <AnnotationText>A Test DCP</AnnotationText>
<IssueDate>2012-07-17T04:45:18+00:00</IssueDate>
<Issuer>OpenDCP 0.0.25</Issuer>
<Creator>OpenDCP 0.0.25</Creator>
diff --git a/test/verify_test.cc b/test/verify_test.cc
index 3d30797e..265529bb 100644
--- a/test/verify_test.cc
+++ b/test/verify_test.cc
@@ -117,7 +117,13 @@ write_dcp_with_single_asset (boost::filesystem::path dir, shared_ptr<dcp::ReelAs
cpl->add (reel);
auto dcp = make_shared<dcp::DCP>(dir);
dcp->add (cpl);
- dcp->write_xml (standard);
+ dcp->write_xml (
+ standard,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "hello"
+ );
}
@@ -739,7 +745,13 @@ BOOST_AUTO_TEST_CASE (verify_test23)
dcp::DCP dcp (dir);
dcp.add (cpl);
- dcp.write_xml (dcp::SMPTE);
+ dcp.write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "hello"
+ );
check_verify_result ({dir}, {{ dcp::VerificationNote::VERIFY_BV21_ERROR, dcp::VerificationNote::MISSING_CPL_METADATA }});
}
@@ -778,7 +790,13 @@ BOOST_AUTO_TEST_CASE (verify_test24)
dcp::DCP dcp (dir);
dcp.add (cpl);
- dcp.write_xml (dcp::SMPTE);
+ dcp.write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "hello"
+ );
{
Editor e (find_cpl("build/test/verify_test24"));
@@ -813,7 +831,13 @@ BOOST_AUTO_TEST_CASE (verify_test25)
dcp::DCP dcp (dir);
dcp.add (cpl);
- dcp.write_xml (dcp::SMPTE);
+ dcp.write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "hello"
+ );
{
Editor e (find_cpl("build/test/verify_test25"));
@@ -912,7 +936,13 @@ BOOST_AUTO_TEST_CASE (verify_various_invalid_languages)
cpl->_release_territory = "fred-jim";
auto dcp = make_shared<dcp::DCP>(dir);
dcp->add (cpl);
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "hello"
+ );
auto notes = dcp::verify ({dir}, &stage, &progress, xsd_test);
BOOST_REQUIRE_EQUAL (notes.size(), 4U);
@@ -984,7 +1014,13 @@ check_picture_size (int width, int height, int frame_rate, bool three_d)
cpl->add (reel);
d->add (cpl);
- d->write_xml (dcp::SMPTE);
+ d->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
return dcp::verify ({dcp_path}, &stage, &progress, xsd_test);
}
@@ -1220,7 +1256,13 @@ BOOST_AUTO_TEST_CASE (verify_missing_language_tag_in_subtitle_xml)
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);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
check_verify_result (
{ dir },
@@ -1255,7 +1297,13 @@ BOOST_AUTO_TEST_CASE (verify_inconsistent_subtitle_languages)
cpl->reels()[1]->add(reel_subs);
}
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
check_verify_result (
{ path },
@@ -1303,7 +1351,13 @@ BOOST_AUTO_TEST_CASE (verify_missing_start_time_tag_in_subtitle_xml)
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);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
check_verify_result (
{ dir },
@@ -1351,7 +1405,13 @@ BOOST_AUTO_TEST_CASE (verify_non_zero_start_time_tag_in_subtitle_xml)
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);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
check_verify_result (
{ dir },
@@ -1457,7 +1517,14 @@ BOOST_AUTO_TEST_CASE (verify_text_early_on_second_reel)
cpl->add (reel2);
auto dcp = make_shared<dcp::DCP>(dir);
dcp->add (cpl);
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "hello"
+ );
+
check_verify_result ({dir}, {{ dcp::VerificationNote::VERIFY_BV21_ERROR, dcp::VerificationNote::MISSING_CPL_METADATA }});
}
@@ -1721,7 +1788,13 @@ BOOST_AUTO_TEST_CASE (verify_sound_sampling_rate_must_be_48k)
cpl->add (reel);
auto dcp = make_shared<dcp::DCP>(dir);
dcp->add (cpl);
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "hello"
+ );
check_verify_result (
{dir},
@@ -1736,7 +1809,14 @@ BOOST_AUTO_TEST_CASE (verify_cpl_must_have_annotation_text)
{
boost::filesystem::path const dir("build/test/verify_cpl_must_have_annotation_text");
auto dcp = make_simple (dir);
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
+
BOOST_REQUIRE_EQUAL (dcp->cpls().size(), 1U);
{
@@ -1758,7 +1838,14 @@ BOOST_AUTO_TEST_CASE (verify_cpl_annotation_text_should_be_same_as_content_title
{
boost::filesystem::path const dir("build/test/verify_cpl_annotation_text_should_be_same_as_content_title_text");
auto dcp = make_simple (dir);
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
+
BOOST_REQUIRE_EQUAL (dcp->cpls().size(), 1U);
{
@@ -1796,7 +1883,14 @@ BOOST_AUTO_TEST_CASE (verify_reel_assets_durations_must_match)
cpl->add (reel);
dcp->add (cpl);
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
+
check_verify_result (
{dir},
@@ -1855,7 +1949,13 @@ verify_subtitles_must_be_in_all_reels_check (boost::filesystem::path dir, bool a
cpl->add (reel2);
dcp->add (cpl);
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
}
@@ -1933,8 +2033,13 @@ verify_closed_captions_must_be_in_all_reels_check (boost::filesystem::path dir,
cpl->add (reel2);
dcp->add (cpl);
- dcp->write_xml (dcp::SMPTE);
-
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
}
@@ -1994,7 +2099,13 @@ verify_text_entry_point_check (boost::filesystem::path dir, dcp::VerificationNot
cpl->add (reel);
dcp->add (cpl);
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
check_verify_result (
{dir},
@@ -2047,7 +2158,14 @@ BOOST_AUTO_TEST_CASE (verify_assets_must_have_hashes)
boost::filesystem::path const dir("build/test/verify_assets_must_have_hashes");
auto dcp = make_simple (dir);
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
+
BOOST_REQUIRE_EQUAL (dcp->cpls().size(), 1U);
{
@@ -2080,7 +2198,14 @@ verify_markers_test (
markers_asset->set (i.first, i.second);
}
dcp->cpls()[0]->reels()[0]->add(markers_asset);
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
+
check_verify_result ({dir}, test_notes);
}
@@ -2174,7 +2299,14 @@ BOOST_AUTO_TEST_CASE (verify_cpl_metadata_version)
prepare_directory (dir);
auto dcp = make_simple (dir);
dcp->cpls()[0]->unset_version_number();
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
+
check_verify_result ({dir}, {{ dcp::VerificationNote::VERIFY_BV21_ERROR, dcp::VerificationNote::MISSING_CPL_METADATA_VERSION_NUMBER }});
}
@@ -2183,7 +2315,14 @@ BOOST_AUTO_TEST_CASE (verify_cpl_extension_metadata1)
{
boost::filesystem::path dir = "build/test/verify_cpl_extension_metadata1";
auto dcp = make_simple (dir);
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
+
{
Editor e (dcp->cpls()[0]->file().get());
e.delete_lines ("<meta:ExtensionMetadataList>", "</meta:ExtensionMetadataList>");
@@ -2202,7 +2341,14 @@ BOOST_AUTO_TEST_CASE (verify_cpl_extension_metadata2)
{
boost::filesystem::path dir = "build/test/verify_cpl_extension_metadata2";
auto dcp = make_simple (dir);
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
+
{
Editor e (dcp->cpls()[0]->file().get());
e.delete_lines ("<meta:ExtensionMetadata scope=\"http://isdcf.com/ns/cplmd/app\">", "</meta:ExtensionMetadata>");
@@ -2221,7 +2367,14 @@ BOOST_AUTO_TEST_CASE (verify_cpl_extension_metadata3)
{
boost::filesystem::path dir = "build/test/verify_cpl_extension_metadata3";
auto dcp = make_simple (dir);
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
+
{
Editor e (dcp->cpls()[0]->file().get());
e.replace ("<meta:Name>A", "<meta:NameX>A");
@@ -2242,7 +2395,14 @@ BOOST_AUTO_TEST_CASE (verify_cpl_extension_metadata4)
{
boost::filesystem::path dir = "build/test/verify_cpl_extension_metadata4";
auto dcp = make_simple (dir);
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
+
{
Editor e (dcp->cpls()[0]->file().get());
e.replace ("Application", "Fred");
@@ -2261,7 +2421,13 @@ BOOST_AUTO_TEST_CASE (verify_cpl_extension_metadata5)
{
boost::filesystem::path dir = "build/test/verify_cpl_extension_metadata5";
auto dcp = make_simple (dir);
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
{
Editor e (dcp->cpls()[0]->file().get());
e.replace ("DCP Constraints Profile", "Fred");
@@ -2280,7 +2446,14 @@ BOOST_AUTO_TEST_CASE (verify_cpl_extension_metadata6)
{
boost::filesystem::path dir = "build/test/verify_cpl_extension_metadata6";
auto dcp = make_simple (dir);
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
+
{
Editor e (dcp->cpls()[0]->file().get());
e.replace ("<meta:Value>", "<meta:ValueX>");
@@ -2301,7 +2474,13 @@ BOOST_AUTO_TEST_CASE (verify_cpl_extension_metadata7)
{
boost::filesystem::path dir = "build/test/verify_cpl_extension_metadata7";
auto dcp = make_simple (dir);
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
{
Editor e (dcp->cpls()[0]->file().get());
e.replace ("SMPTE-RDD-52:2020-Bv2.1", "Fred");
@@ -2320,7 +2499,13 @@ BOOST_AUTO_TEST_CASE (verify_cpl_extension_metadata8)
{
boost::filesystem::path dir = "build/test/verify_cpl_extension_metadata8";
auto dcp = make_simple (dir);
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
{
Editor e (dcp->cpls()[0]->file().get());
e.replace ("<meta:Property>", "<meta:PropertyX>");
@@ -2341,7 +2526,13 @@ BOOST_AUTO_TEST_CASE (verify_cpl_extension_metadata9)
{
boost::filesystem::path dir = "build/test/verify_cpl_extension_metadata9";
auto dcp = make_simple (dir);
- dcp->write_xml (dcp::SMPTE);
+ dcp->write_xml (
+ dcp::SMPTE,
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::String::compose("libdcp %1", dcp::version),
+ dcp::LocalTime().as_string(),
+ "A Test DCP"
+ );
{
Editor e (dcp->cpls()[0]->file().get());
e.replace ("<meta:PropertyList>", "<meta:PropertyListX>");
@@ -2376,6 +2567,7 @@ BOOST_AUTO_TEST_CASE (verify_encrypted_cpl_is_signed)
{dir},
{
{ dcp::VerificationNote::VERIFY_ERROR, dcp::VerificationNote::CPL_HASH_INCORRECT },
+ { dcp::VerificationNote::VERIFY_BV21_ERROR, dcp::VerificationNote::PKL_ANNOTATION_TEXT_DOES_NOT_MATCH_CPL_CONTENT_TITLE_TEXT },
{ dcp::VerificationNote::VERIFY_ERROR, dcp::VerificationNote::MISSING_FFEC_IN_FEATURE },
{ dcp::VerificationNote::VERIFY_ERROR, dcp::VerificationNote::MISSING_FFMC_IN_FEATURE },
{ dcp::VerificationNote::VERIFY_WARNING, dcp::VerificationNote::MISSING_FFOC },