summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-12-16 12:23:15 +0100
committerCarl Hetherington <cth@carlh.net>2025-12-20 01:52:16 +0100
commitff869661d7632bc40aec17d1d42e31f18bd0c40b (patch)
tree9a921beb0fe0f07765abd16247712f89728e9c1d
parentf8b7b44ac1ea1e6744026beec57465707b04f07f (diff)
Derive verification note type from the code...v1.10.45
...rather than having to specify it each time.
-rw-r--r--src/cpl.cc3
-rw-r--r--src/dcp.cc14
-rw-r--r--src/pkl.cc1
-rw-r--r--src/verify.cc355
-rw-r--r--src/verify.h30
-rw-r--r--src/verify_internal.h30
-rw-r--r--src/verify_j2k.cc34
-rw-r--r--test/verify_test.cc2705
8 files changed, 1400 insertions, 1772 deletions
diff --git a/src/cpl.cc b/src/cpl.cc
index 46d73c47..2fbe373a 100644
--- a/src/cpl.cc
+++ b/src/cpl.cc
@@ -121,7 +121,6 @@ CPL::CPL(boost::filesystem::path file, vector<dcp::VerificationNote>* notes)
if (notes) {
notes->push_back(
dcp::VerificationNote(
- dcp::VerificationNote::Type::ERROR,
dcp::VerificationNote::Code::INVALID_CPL_NAMESPACE,
f.namespace_uri(),
file
@@ -154,7 +153,6 @@ CPL::CPL(boost::filesystem::path file, vector<dcp::VerificationNote>* notes)
if (notes) {
notes->push_back(
dcp::VerificationNote(
- dcp::VerificationNote::Type::ERROR,
dcp::VerificationNote::Code::MISSING_CPL_CONTENT_VERSION,
_id,
file
@@ -319,7 +317,6 @@ CPL::read_composition_metadata_asset(cxml::ConstNodePtr node, vector<dcp::Verifi
/* With Interop DCPs this node may not make any sense, but that's OK */
notes->push_back(
dcp::VerificationNote(
- dcp::VerificationNote::Type::ERROR,
dcp::VerificationNote::Code::INVALID_MAIN_SOUND_CONFIGURATION,
fmt::format("{} could not be parsed", _main_sound_configuration->as_string()),
*_file
diff --git a/src/dcp.cc b/src/dcp.cc
index b9d23bad..31c3e077 100644
--- a/src/dcp.cc
+++ b/src/dcp.cc
@@ -200,14 +200,14 @@ DCP::read (vector<dcp::VerificationNote>* notes, bool ignore_incorrect_picture_m
claims to come from ClipsterDCI 5.10.0.5.
*/
if (notes) {
- notes->push_back ({VerificationNote::Type::WARNING, VerificationNote::Code::EMPTY_ASSET_PATH});
+ notes->push_back({VerificationNote::Code::EMPTY_ASSET_PATH});
}
continue;
}
if (!filesystem::exists(path)) {
if (notes) {
- notes->push_back ({VerificationNote::Type::ERROR, VerificationNote::Code::MISSING_ASSET, path});
+ notes->push_back({VerificationNote::Code::MISSING_ASSET, path});
}
continue;
}
@@ -248,12 +248,12 @@ DCP::read (vector<dcp::VerificationNote>* notes, bool ignore_incorrect_picture_m
if (root == "CompositionPlaylist") {
auto cpl = make_shared<CPL>(path, notes);
if (cpl->standard() != standard && notes) {
- notes->push_back ({VerificationNote::Type::ERROR, VerificationNote::Code::MISMATCHED_STANDARD});
+ notes->push_back({VerificationNote::Code::MISMATCHED_STANDARD});
}
_cpls.push_back (cpl);
} else if (root == "DCSubtitle") {
if (standard == Standard::SMPTE && notes) {
- notes->push_back (VerificationNote(VerificationNote::Type::ERROR, VerificationNote::Code::MISMATCHED_STANDARD));
+ notes->push_back({VerificationNote::Code::MISMATCHED_STANDARD});
}
other_assets.push_back (make_shared<InteropTextAsset>(path));
}
@@ -268,11 +268,11 @@ DCP::read (vector<dcp::VerificationNote>* notes, bool ignore_incorrect_picture_m
bool found_threed_marked_as_twod = false;
auto asset = asset_factory(path, ignore_incorrect_picture_mxf_type, &found_threed_marked_as_twod);
if (asset->id() != id) {
- notes->push_back(VerificationNote(VerificationNote::Type::ERROR, VerificationNote::Code::MISMATCHED_ASSET_MAP_ID).set_id(id).set_other_id(asset->id()));
+ notes->push_back(dcp::VerificationNote{VerificationNote::Code::MISMATCHED_ASSET_MAP_ID}.set_id(id).set_other_id(asset->id()));
}
other_assets.push_back(asset);
if (found_threed_marked_as_twod && notes) {
- notes->push_back ({VerificationNote::Type::WARNING, VerificationNote::Code::THREED_ASSET_MARKED_AS_TWOD, path});
+ notes->push_back({VerificationNote::Code::THREED_ASSET_MARKED_AS_TWOD, path});
}
} else if (*pkl_type == remove_parameters(FontAsset::static_pkl_type(standard))) {
other_assets.push_back(make_shared<FontAsset>(id, path));
@@ -332,7 +332,7 @@ DCP::read (vector<dcp::VerificationNote>* notes, bool ignore_incorrect_picture_m
for (auto i: cpls()) {
for (auto j: i->reel_file_assets()) {
if (!j->asset_ref().resolved() && ids_and_paths.find(j->asset_ref().id()) == ids_and_paths.end()) {
- notes->push_back (VerificationNote(VerificationNote::Type::WARNING, VerificationNote::Code::EXTERNAL_ASSET, j->asset_ref().id()));
+ notes->push_back(VerificationNote(VerificationNote::Code::EXTERNAL_ASSET, j->asset_ref().id()));
}
}
}
diff --git a/src/pkl.cc b/src/pkl.cc
index 0200df7a..3b154316 100644
--- a/src/pkl.cc
+++ b/src/pkl.cc
@@ -81,7 +81,6 @@ PKL::PKL(boost::filesystem::path file, vector<dcp::VerificationNote>* notes)
if (notes) {
notes->push_back(
dcp::VerificationNote(
- dcp::VerificationNote::Type::ERROR,
dcp::VerificationNote::Code::INVALID_PKL_NAMESPACE,
pkl.namespace_uri(),
file
diff --git a/src/verify.cc b/src/verify.cc
index a1820cce..6f958fa8 100644
--- a/src/verify.cc
+++ b/src/verify.cc
@@ -368,7 +368,7 @@ validate_xml(Context& context, T xml)
XMLPlatformUtils::Terminate ();
for (auto i: error_handler.errors()) {
- context.error(
+ context.add_note(
VerificationNote::Code::INVALID_XML,
i.message(),
boost::trim_copy(i.public_id() + " " + i.system_id()),
@@ -442,7 +442,7 @@ verify_language_tag(Context& context, string tag)
try {
LanguageTag test (tag);
} catch (LanguageTagError &) {
- context.bv21_error(VerificationNote::Code::INVALID_LANGUAGE, tag);
+ context.add_note(VerificationNote::Code::INVALID_LANGUAGE, tag);
}
}
@@ -478,14 +478,14 @@ verify_picture_details(
if (size > max_frame) {
context.add_note(
VerificationNote(
- VerificationNote::Type::ERROR, VerificationNote::Code::INVALID_PICTURE_FRAME_SIZE_IN_BYTES, file
+ VerificationNote::Code::INVALID_PICTURE_FRAME_SIZE_IN_BYTES, file
).set_frame(start_frame + index).set_frame_rate(frame_rate)
);
any_bad_frames_seen = true;
} else if (size > risky_frame) {
context.add_note(
VerificationNote(
- VerificationNote::Type::WARNING, VerificationNote::Code::NEARLY_INVALID_PICTURE_FRAME_SIZE_IN_BYTES, file
+ VerificationNote::Code::NEARLY_INVALID_PICTURE_FRAME_SIZE_IN_BYTES, file
).set_frame(start_frame + index).set_frame_rate(frame_rate)
);
any_bad_frames_seen = true;
@@ -522,7 +522,7 @@ verify_picture_details(
}
if (!any_bad_frames_seen) {
- context.ok(VerificationNote::Code::VALID_PICTURE_FRAME_SIZES_IN_BYTES, file);
+ context.add_note(VerificationNote::Code::VALID_PICTURE_FRAME_SIZES_IN_BYTES, file);
}
}
@@ -546,17 +546,16 @@ verify_main_picture_asset(Context& context, shared_ptr<const ReelPictureAsset> r
case VerifyAssetResult::BAD:
context.add_note(
dcp::VerificationNote(
- VerificationNote::Type::ERROR,
VerificationNote::Code::INCORRECT_PICTURE_HASH,
file
).set_reference_hash(reference_hash).set_calculated_hash(calculated_hash)
);
break;
case VerifyAssetResult::CPL_PKL_DIFFER:
- context.error(VerificationNote::Code::MISMATCHED_PICTURE_HASHES, file);
+ context.add_note(VerificationNote::Code::MISMATCHED_PICTURE_HASHES, file);
break;
default:
- context.ok(VerificationNote::Code::CORRECT_PICTURE_HASH, file);
+ context.add_note(VerificationNote::Code::CORRECT_PICTURE_HASH, file);
break;
}
}
@@ -573,11 +572,11 @@ verify_main_picture_asset(Context& context, shared_ptr<const ReelPictureAsset> r
asset->size() != Size(1998, 1080) &&
asset->size() != Size(4096, 1716) &&
asset->size() != Size(3996, 2160)) {
- context.bv21_error(VerificationNote::Code::INVALID_PICTURE_SIZE_IN_PIXELS, String::compose("%1x%2", asset->size().width, asset->size().height), file);
+ context.add_note(VerificationNote::Code::INVALID_PICTURE_SIZE_IN_PIXELS, String::compose("%1x%2", asset->size().width, asset->size().height), file);
}
} else if (dynamic_pointer_cast<const MPEG2PictureAsset>(asset)) {
if (asset->size() != Size(1920, 1080)) {
- context.error(VerificationNote::Code::INVALID_PICTURE_SIZE_IN_PIXELS, fmt::format("{}x{}", asset->size().width, asset->size().height), file);
+ context.add_note(VerificationNote::Code::INVALID_PICTURE_SIZE_IN_PIXELS, fmt::format("{}x{}", asset->size().width, asset->size().height), file);
}
}
@@ -586,7 +585,7 @@ verify_main_picture_asset(Context& context, shared_ptr<const ReelPictureAsset> r
(asset->size() == Size(2048, 858) || asset->size() == Size(1998, 1080)) &&
(asset->edit_rate() != Fraction(24, 1) && asset->edit_rate() != Fraction(25, 1) && asset->edit_rate() != Fraction(48, 1))
) {
- context.bv21_error(
+ context.add_note(
VerificationNote::Code::INVALID_PICTURE_FRAME_RATE_FOR_2K,
String::compose("%1/%2", asset->edit_rate().numerator, asset->edit_rate().denominator),
file
@@ -596,7 +595,7 @@ verify_main_picture_asset(Context& context, shared_ptr<const ReelPictureAsset> r
if (asset->size() == Size(4096, 1716) || asset->size() == Size(3996, 2160)) {
/* Only 24fps allowed for 4K */
if (asset->edit_rate() != Fraction(24, 1)) {
- context.bv21_error(
+ context.add_note(
VerificationNote::Code::INVALID_PICTURE_FRAME_RATE_FOR_4K,
String::compose("%1/%2", asset->edit_rate().numerator, asset->edit_rate().denominator),
file
@@ -605,7 +604,7 @@ verify_main_picture_asset(Context& context, shared_ptr<const ReelPictureAsset> r
/* Only 2D allowed for 4K */
if (dynamic_pointer_cast<const StereoJ2KPictureAsset>(asset)) {
- context.bv21_error(
+ context.add_note(
VerificationNote::Code::INVALID_PICTURE_ASSET_RESOLUTION_FOR_3D,
String::compose("%1/%2", asset->edit_rate().numerator, asset->edit_rate().denominator),
file
@@ -635,14 +634,13 @@ verify_main_sound_asset(Context& context, shared_ptr<const ReelSoundAsset> reel_
case VerifyAssetResult::BAD:
context.add_note(
dcp::VerificationNote(
- VerificationNote::Type::ERROR,
VerificationNote::Code::INCORRECT_SOUND_HASH,
file
).set_reference_hash(reference_hash).set_calculated_hash(calculated_hash)
);
break;
case VerifyAssetResult::CPL_PKL_DIFFER:
- context.error(VerificationNote::Code::MISMATCHED_SOUND_HASHES, file);
+ context.add_note(VerificationNote::Code::MISMATCHED_SOUND_HASHES, file);
break;
default:
break;
@@ -652,7 +650,7 @@ verify_main_sound_asset(Context& context, shared_ptr<const ReelSoundAsset> reel_
if (!context.audio_channels) {
context.audio_channels = asset->channels();
} else if (*context.audio_channels != asset->channels()) {
- context.error(VerificationNote::Code::MISMATCHED_SOUND_CHANNEL_COUNTS, file);
+ context.add_note(VerificationNote::Code::MISMATCHED_SOUND_CHANNEL_COUNTS, file);
}
context.stage("Checking sound asset metadata", file);
@@ -661,10 +659,10 @@ verify_main_sound_asset(Context& context, shared_ptr<const ReelSoundAsset> reel_
verify_language_tag(context, *lang);
}
if (asset->sampling_rate() != 48000) {
- context.bv21_error(VerificationNote::Code::INVALID_SOUND_FRAME_RATE, fmt::to_string(asset->sampling_rate()), file);
+ context.add_note(VerificationNote::Code::INVALID_SOUND_FRAME_RATE, fmt::to_string(asset->sampling_rate()), file);
}
if (asset->bit_depth() != 24) {
- context.error(VerificationNote::Code::INVALID_SOUND_BIT_DEPTH, fmt::to_string(asset->bit_depth()), file);
+ context.add_note(VerificationNote::Code::INVALID_SOUND_BIT_DEPTH, fmt::to_string(asset->bit_depth()), file);
}
}
@@ -678,9 +676,9 @@ verify_main_subtitle_reel(Context& context, shared_ptr<const ReelTextAsset> reel
}
if (!reel_asset->entry_point()) {
- context.bv21_error(VerificationNote::Code::MISSING_SUBTITLE_ENTRY_POINT, reel_asset->id());
+ context.add_note(VerificationNote::Code::MISSING_SUBTITLE_ENTRY_POINT, reel_asset->id());
} else if (reel_asset->entry_point().get()) {
- context.bv21_error(VerificationNote::Code::INCORRECT_SUBTITLE_ENTRY_POINT, reel_asset->id());
+ context.add_note(VerificationNote::Code::INCORRECT_SUBTITLE_ENTRY_POINT, reel_asset->id());
}
}
@@ -694,9 +692,9 @@ verify_closed_caption_reel(Context& context, shared_ptr<const ReelTextAsset> ree
}
if (!reel_asset->entry_point()) {
- context.bv21_error(VerificationNote::Code::MISSING_CLOSED_CAPTION_ENTRY_POINT, reel_asset->id());
+ context.add_note(VerificationNote::Code::MISSING_CLOSED_CAPTION_ENTRY_POINT, reel_asset->id());
} else if (reel_asset->entry_point().get()) {
- context.bv21_error(VerificationNote::Code::INCORRECT_CLOSED_CAPTION_ENTRY_POINT, reel_asset->id());
+ context.add_note(VerificationNote::Code::INCORRECT_CLOSED_CAPTION_ENTRY_POINT, reel_asset->id());
}
}
@@ -713,12 +711,12 @@ verify_smpte_timed_text_asset (
verify_language_tag(context, *asset->language());
} else if (asset->raw_xml()) {
/* Raise this error only if we can access the raw XML (i.e. the asset was unencrypted or has been decrypted) */
- context.bv21_error(VerificationNote::Code::MISSING_SUBTITLE_LANGUAGE, *asset->file());
+ context.add_note(VerificationNote::Code::MISSING_SUBTITLE_LANGUAGE, *asset->file());
}
auto const size = filesystem::file_size(asset->file().get());
if (size > 115 * 1024 * 1024) {
- context.bv21_error(VerificationNote::Code::INVALID_TIMED_TEXT_SIZE_IN_BYTES, fmt::to_string(size), *asset->file());
+ context.add_note(VerificationNote::Code::INVALID_TIMED_TEXT_SIZE_IN_BYTES, fmt::to_string(size), *asset->file());
}
/* XXX: I'm not sure what Bv2.1_7.2.1 means when it says "the font resource shall not be larger than 10MB"
@@ -730,20 +728,20 @@ verify_smpte_timed_text_asset (
total_size += i.second.size();
}
if (total_size > 10 * 1024 * 1024) {
- context.bv21_error(VerificationNote::Code::INVALID_TIMED_TEXT_FONT_SIZE_IN_BYTES, fmt::to_string(total_size), asset->file().get());
+ context.add_note(VerificationNote::Code::INVALID_TIMED_TEXT_FONT_SIZE_IN_BYTES, fmt::to_string(total_size), asset->file().get());
}
if (asset->raw_xml()) {
/* Raise these errors only if we can access the raw XML (i.e. the asset was unencrypted or has been decrypted) */
if (!asset->start_time()) {
- context.bv21_error(VerificationNote::Code::MISSING_SUBTITLE_START_TIME, asset->file().get());
+ context.add_note(VerificationNote::Code::MISSING_SUBTITLE_START_TIME, asset->file().get());
} else if (asset->start_time() != Time()) {
- context.bv21_error(VerificationNote::Code::INVALID_SUBTITLE_START_TIME, asset->file().get());
+ context.add_note(VerificationNote::Code::INVALID_SUBTITLE_START_TIME, asset->file().get());
}
}
if (reel_asset_duration && *reel_asset_duration != asset->intrinsic_duration()) {
- context.bv21_error(
+ context.add_note(
VerificationNote::Code::MISMATCHED_TIMED_TEXT_DURATION,
String::compose("%1 %2", *reel_asset_duration, asset->intrinsic_duration()),
asset->file().get()
@@ -757,11 +755,11 @@ void
verify_interop_text_asset(Context& context, shared_ptr<const InteropTextAsset> asset)
{
if (asset->texts().empty()) {
- context.error(VerificationNote::Code::MISSING_SUBTITLE, asset->id(), asset->file().get());
+ context.add_note(VerificationNote::Code::MISSING_SUBTITLE, asset->id(), asset->file().get());
}
auto const unresolved = asset->unresolved_fonts();
if (!unresolved.empty()) {
- context.error(VerificationNote::Code::MISSING_FONT, unresolved.front());
+ context.add_note(VerificationNote::Code::MISSING_FONT, unresolved.front());
}
}
@@ -774,7 +772,7 @@ verify_smpte_subtitle_asset(Context& context, shared_ptr<const SMPTETextAsset> a
if (!context.subtitle_language) {
context.subtitle_language = *asset->language();
} else if (context.subtitle_language != *asset->language()) {
- context.bv21_error(VerificationNote::Code::MISMATCHED_SUBTITLE_LANGUAGES);
+ context.add_note(VerificationNote::Code::MISMATCHED_SUBTITLE_LANGUAGES);
}
}
@@ -782,14 +780,14 @@ verify_smpte_subtitle_asset(Context& context, shared_ptr<const SMPTETextAsset> a
auto xml_id = asset->xml_id();
if (xml_id) {
if (asset->resource_id().get() != xml_id) {
- context.bv21_error(VerificationNote::Code::MISMATCHED_TIMED_TEXT_RESOURCE_ID);
+ context.add_note(VerificationNote::Code::MISMATCHED_TIMED_TEXT_RESOURCE_ID);
}
if (asset->id() == asset->resource_id().get() || asset->id() == xml_id) {
- context.bv21_error(VerificationNote::Code::INCORRECT_TIMED_TEXT_ASSET_ID);
+ context.add_note(VerificationNote::Code::INCORRECT_TIMED_TEXT_ASSET_ID);
}
} else {
- context.warning(VerificationNote::Code::MISSED_CHECK_OF_ENCRYPTED);
+ context.add_note(VerificationNote::Code::MISSED_CHECK_OF_ENCRYPTED);
}
if (asset->raw_xml()) {
@@ -799,7 +797,7 @@ verify_smpte_subtitle_asset(Context& context, shared_ptr<const SMPTETextAsset> a
auto issue_date = doc.string_child("IssueDate");
std::regex reg("^\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d$");
if (!std::regex_match(issue_date, reg)) {
- context.warning(VerificationNote::Code::INVALID_SUBTITLE_ISSUE_DATE, issue_date);
+ context.add_note(VerificationNote::Code::INVALID_SUBTITLE_ISSUE_DATE, issue_date);
}
}
}
@@ -816,7 +814,7 @@ verify_subtitle_asset(Context& context, shared_ptr<const TextAsset> asset, optio
if (asset->raw_xml()) {
validate_xml(context, asset->raw_xml().get());
} else {
- context.warning(VerificationNote::Code::MISSED_CHECK_OF_ENCRYPTED);
+ context.add_note(VerificationNote::Code::MISSED_CHECK_OF_ENCRYPTED);
}
auto namespace_count = [](shared_ptr<const TextAsset> asset, string root_node) {
@@ -834,7 +832,7 @@ verify_subtitle_asset(Context& context, shared_ptr<const TextAsset> asset, optio
if (interop) {
verify_interop_text_asset(context, interop);
if (namespace_count(asset, "DCSubtitle") > 1) {
- context.warning(VerificationNote::Code::INCORRECT_SUBTITLE_NAMESPACE_COUNT, asset->id());
+ context.add_note(VerificationNote::Code::INCORRECT_SUBTITLE_NAMESPACE_COUNT, asset->id());
}
}
@@ -844,7 +842,7 @@ verify_subtitle_asset(Context& context, shared_ptr<const TextAsset> asset, optio
verify_smpte_subtitle_asset(context, smpte);
/* This asset may be encrypted and in that case we'll have no raw_xml() */
if (asset->raw_xml() && namespace_count(asset, "SubtitleReel") > 1) {
- context.warning(VerificationNote::Code::INCORRECT_SUBTITLE_NAMESPACE_COUNT, asset->id());
+ context.add_note(VerificationNote::Code::INCORRECT_SUBTITLE_NAMESPACE_COUNT, asset->id());
}
}
}
@@ -866,10 +864,10 @@ verify_closed_caption_asset (
if (raw_xml) {
validate_xml(context, *raw_xml);
if (raw_xml->size() > 256 * 1024) {
- context.bv21_error(VerificationNote::Code::INVALID_CLOSED_CAPTION_XML_SIZE_IN_BYTES, fmt::to_string(raw_xml->size()), *asset->file());
+ context.add_note(VerificationNote::Code::INVALID_CLOSED_CAPTION_XML_SIZE_IN_BYTES, fmt::to_string(raw_xml->size()), *asset->file());
}
} else {
- context.warning(VerificationNote::Code::MISSED_CHECK_OF_ENCRYPTED);
+ context.add_note(VerificationNote::Code::MISSED_CHECK_OF_ENCRYPTED);
}
auto interop = dynamic_pointer_cast<const InteropTextAsset>(asset);
@@ -987,7 +985,7 @@ verify_text_details (
auto reel_xml = xml(reels[i]);
if (!reel_xml) {
- context.warning(VerificationNote::Code::MISSED_CHECK_OF_ENCRYPTED);
+ context.add_note(VerificationNote::Code::MISSED_CHECK_OF_ENCRYPTED);
continue;
}
@@ -1022,7 +1020,7 @@ verify_text_details (
reel_offset = end;
if (context.dcp->standard() && *context.dcp->standard() == dcp::Standard::SMPTE && has_text && font_ids.empty()) {
- context.add_note(dcp::VerificationNote(dcp::VerificationNote::Type::ERROR, VerificationNote::Code::MISSING_LOAD_FONT).set_id(id(reels[i])));
+ context.add_note(dcp::VerificationNote(VerificationNote::Code::MISSING_LOAD_FONT).set_id(id(reels[i])));
}
}
@@ -1031,31 +1029,31 @@ verify_text_details (
}
if (too_early) {
- context.warning(VerificationNote::Code::INVALID_SUBTITLE_FIRST_TEXT_TIME);
+ context.add_note(VerificationNote::Code::INVALID_SUBTITLE_FIRST_TEXT_TIME);
}
if (too_short) {
- context.error(VerificationNote::Code::INVALID_SUBTITLE_DURATION);
+ context.add_note(VerificationNote::Code::INVALID_SUBTITLE_DURATION);
}
if (too_short_bv21) {
- context.warning(VerificationNote::Code::INVALID_SUBTITLE_DURATION_BV21);
+ context.add_note(VerificationNote::Code::INVALID_SUBTITLE_DURATION_BV21);
}
if (too_close) {
- context.warning(VerificationNote::Code::INVALID_SUBTITLE_SPACING);
+ context.add_note(VerificationNote::Code::INVALID_SUBTITLE_SPACING);
}
if (reel_overlap) {
- context.error(VerificationNote::Code::SUBTITLE_OVERLAPS_REEL_BOUNDARY);
+ context.add_note(VerificationNote::Code::SUBTITLE_OVERLAPS_REEL_BOUNDARY);
}
if (empty_text) {
- context.warning(VerificationNote::Code::EMPTY_TEXT);
+ context.add_note(VerificationNote::Code::EMPTY_TEXT);
}
if (missing_load_font_id) {
- context.add_note(dcp::VerificationNote(VerificationNote::Type::ERROR, VerificationNote::Code::MISSING_LOAD_FONT_FOR_FONT).set_id(*missing_load_font_id));
+ context.add_note(dcp::VerificationNote(VerificationNote::Code::MISSING_LOAD_FONT_FOR_FONT).set_id(*missing_load_font_id));
}
}
@@ -1128,7 +1126,7 @@ verify_closed_caption_details(Context& context, vector<shared_ptr<Reel>> reels)
for (auto ccap: reel->closed_captions()) {
auto reel_xml = ccap->asset()->raw_xml();
if (!reel_xml) {
- context.warning(VerificationNote::Code::MISSED_CHECK_OF_ENCRYPTED);
+ context.add_note(VerificationNote::Code::MISSED_CHECK_OF_ENCRYPTED);
continue;
}
@@ -1151,11 +1149,11 @@ verify_closed_caption_details(Context& context, vector<shared_ptr<Reel>> reels)
}
if (mismatched_valign) {
- context.error(VerificationNote::Code::MISMATCHED_CLOSED_CAPTION_VALIGN);
+ context.add_note(VerificationNote::Code::MISMATCHED_CLOSED_CAPTION_VALIGN);
}
if (incorrect_order) {
- context.error(VerificationNote::Code::INCORRECT_CLOSED_CAPTION_ORDERING);
+ context.add_note(VerificationNote::Code::INCORRECT_CLOSED_CAPTION_ORDERING);
}
}
@@ -1360,9 +1358,9 @@ dcp::verify_extension_metadata(Context& context)
}
if (missing) {
- context.bv21_error(VerificationNote::Code::MISSING_EXTENSION_METADATA, context.cpl->file().get());
+ context.add_note(VerificationNote::Code::MISSING_EXTENSION_METADATA, context.cpl->file().get());
} else if (!malformed.empty()) {
- context.bv21_error(VerificationNote::Code::INVALID_EXTENSION_METADATA, malformed, context.cpl->file().get());
+ context.add_note(VerificationNote::Code::INVALID_EXTENSION_METADATA, malformed, context.cpl->file().get());
}
}
@@ -1408,13 +1406,13 @@ verify_reel(
{
for (auto i: reel->file_assets()) {
if (i->duration() && (i->duration().get() * i->edit_rate().denominator / i->edit_rate().numerator) < 1) {
- context.error(VerificationNote::Code::INVALID_DURATION, i->id());
+ context.add_note(VerificationNote::Code::INVALID_DURATION, i->id());
}
if ((i->intrinsic_duration() * i->edit_rate().denominator / i->edit_rate().numerator) < 1) {
- context.error(VerificationNote::Code::INVALID_INTRINSIC_DURATION, i->id());
+ context.add_note(VerificationNote::Code::INVALID_INTRINSIC_DURATION, i->id());
}
if (i->encryptable() && !i->hash()) {
- context.bv21_error(VerificationNote::Code::MISSING_HASH, i->id());
+ context.add_note(VerificationNote::Code::MISSING_HASH, i->id());
}
}
@@ -1424,7 +1422,7 @@ verify_reel(
if (!duration) {
duration = i->actual_duration();
} else if (*duration != i->actual_duration()) {
- context.bv21_error(VerificationNote::Code::MISMATCHED_ASSET_DURATION);
+ context.add_note(VerificationNote::Code::MISMATCHED_ASSET_DURATION);
break;
}
}
@@ -1441,7 +1439,7 @@ verify_reel(
frame_rate.numerator != 50 &&
frame_rate.numerator != 60 &&
frame_rate.numerator != 96)) {
- context.error(VerificationNote::Code::INVALID_PICTURE_FRAME_RATE, String::compose("%1/%2", frame_rate.numerator, frame_rate.denominator));
+ context.add_note(VerificationNote::Code::INVALID_PICTURE_FRAME_RATE, String::compose("%1/%2", frame_rate.numerator, frame_rate.denominator));
}
/* Check asset */
if (reel->main_picture()->asset_ref().resolved()) {
@@ -1449,14 +1447,14 @@ verify_reel(
auto const asset_size = reel->main_picture()->asset()->size();
if (main_picture_active_area) {
if (main_picture_active_area->width > asset_size.width) {
- context.error(
+ context.add_note(
VerificationNote::Code::INVALID_MAIN_PICTURE_ACTIVE_AREA,
String::compose("width %1 is bigger than the asset width %2", main_picture_active_area->width, asset_size.width),
context.cpl->file().get()
);
}
if (main_picture_active_area->height > asset_size.height) {
- context.error(
+ context.add_note(
VerificationNote::Code::INVALID_MAIN_PICTURE_ACTIVE_AREA,
String::compose("height %1 is bigger than the asset height %2", main_picture_active_area->height, asset_size.height),
context.cpl->file().get()
@@ -1493,10 +1491,10 @@ verify_reel(
markers_seen->insert(i);
}
if (reel->main_markers()->entry_point()) {
- context.error(VerificationNote::Code::UNEXPECTED_ENTRY_POINT);
+ context.add_note(VerificationNote::Code::UNEXPECTED_ENTRY_POINT);
}
if (reel->main_markers()->duration()) {
- context.error(VerificationNote::Code::UNEXPECTED_DURATION);
+ context.add_note(VerificationNote::Code::UNEXPECTED_DURATION);
}
}
@@ -1514,11 +1512,11 @@ verify_cpl(Context& context, shared_ptr<const CPL> cpl)
validate_xml(context, cpl->file().get());
if (cpl->any_encrypted() && !cpl->all_encrypted()) {
- context.bv21_error(VerificationNote::Code::PARTIALLY_ENCRYPTED);
+ context.add_note(VerificationNote::Code::PARTIALLY_ENCRYPTED);
} else if (cpl->all_encrypted()) {
- context.ok(VerificationNote::Code::ALL_ENCRYPTED);
+ context.add_note(VerificationNote::Code::ALL_ENCRYPTED);
} else if (!cpl->all_encrypted()) {
- context.ok(VerificationNote::Code::NONE_ENCRYPTED);
+ context.add_note(VerificationNote::Code::NONE_ENCRYPTED);
}
for (auto const& i: cpl->additional_subtitle_languages()) {
@@ -1534,9 +1532,9 @@ verify_cpl(Context& context, shared_ptr<const CPL> cpl)
transform(name.begin(), name.end(), name.begin(), ::tolower);
auto iter = std::find_if(all.begin(), all.end(), [name](ContentKind const& k) { return !k.scope() && k.name() == name; });
if (iter == all.end()) {
- context.error(VerificationNote::Code::INVALID_CONTENT_KIND, cpl->content_kind().name());
+ context.add_note(VerificationNote::Code::INVALID_CONTENT_KIND, cpl->content_kind().name());
} else {
- context.ok(VerificationNote::Code::VALID_CONTENT_KIND, cpl->content_kind().name());
+ context.add_note(VerificationNote::Code::VALID_CONTENT_KIND, cpl->content_kind().name());
}
}
@@ -1549,32 +1547,32 @@ verify_cpl(Context& context, shared_ptr<const CPL> cpl)
LanguageTag::RegionSubtag test(terr);
} catch (...) {
if (terr != "001") {
- context.bv21_error(VerificationNote::Code::INVALID_LANGUAGE, terr);
+ context.add_note(VerificationNote::Code::INVALID_LANGUAGE, terr);
valid = false;
}
}
if (valid) {
- context.ok(VerificationNote::Code::VALID_RELEASE_TERRITORY, terr);
+ context.add_note(VerificationNote::Code::VALID_RELEASE_TERRITORY, terr);
}
}
}
for (auto version: cpl->content_versions()) {
if (version.label_text.empty()) {
- context.warning(VerificationNote::Code::EMPTY_CONTENT_VERSION_LABEL_TEXT, cpl->file().get());
+ context.add_note(VerificationNote::Code::EMPTY_CONTENT_VERSION_LABEL_TEXT, cpl->file().get());
break;
} else {
- context.ok(VerificationNote::Code::VALID_CONTENT_VERSION_LABEL_TEXT, version.label_text);
+ context.add_note(VerificationNote::Code::VALID_CONTENT_VERSION_LABEL_TEXT, version.label_text);
}
}
if (context.dcp->standard() == Standard::SMPTE) {
if (!cpl->annotation_text()) {
- context.bv21_error(VerificationNote::Code::MISSING_CPL_ANNOTATION_TEXT, cpl->file().get());
+ context.add_note(VerificationNote::Code::MISSING_CPL_ANNOTATION_TEXT, cpl->file().get());
} else if (cpl->annotation_text().get() != cpl->content_title_text()) {
- context.warning(VerificationNote::Code::MISMATCHED_CPL_ANNOTATION_TEXT, cpl->file().get());
+ context.add_note(VerificationNote::Code::MISMATCHED_CPL_ANNOTATION_TEXT, cpl->file().get());
} else {
- context.ok(VerificationNote::Code::VALID_CPL_ANNOTATION_TEXT, cpl->annotation_text().get());
+ context.add_note(VerificationNote::Code::VALID_CPL_ANNOTATION_TEXT, cpl->annotation_text().get());
}
}
@@ -1585,13 +1583,12 @@ verify_cpl(Context& context, shared_ptr<const CPL> cpl)
if (h && calculated_cpl_hash != *h) {
context.add_note(
dcp::VerificationNote(
- VerificationNote::Type::ERROR,
VerificationNote::Code::MISMATCHED_CPL_HASHES,
cpl->file().get()
).set_calculated_hash(calculated_cpl_hash).set_reference_hash(*h)
);
} else {
- context.ok(VerificationNote::Code::MATCHING_CPL_HASHES);
+ context.add_note(VerificationNote::Code::MATCHING_CPL_HASHES);
}
/* Check that any PKL with a single CPL has its AnnotationText the same as the CPL's ContentTitleText */
@@ -1612,9 +1609,9 @@ verify_cpl(Context& context, shared_ptr<const CPL> cpl)
}
if (required_annotation_text && i->annotation_text() != required_annotation_text) {
- context.bv21_error(VerificationNote::Code::MISMATCHED_PKL_ANNOTATION_TEXT_WITH_CPL, i->id(), i->file().get());
+ context.add_note(VerificationNote::Code::MISMATCHED_PKL_ANNOTATION_TEXT_WITH_CPL, i->id(), i->file().get());
} else {
- context.ok(VerificationNote::Code::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL);
+ context.add_note(VerificationNote::Code::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL);
}
}
@@ -1631,7 +1628,7 @@ verify_cpl(Context& context, shared_ptr<const CPL> cpl)
auto const main_picture_active_area = cpl->main_picture_active_area();
bool active_area_ok = true;
if (main_picture_active_area && (main_picture_active_area->width % 2)) {
- context.error(
+ context.add_note(
VerificationNote::Code::INVALID_MAIN_PICTURE_ACTIVE_AREA,
String::compose("width %1 is not a multiple of 2", main_picture_active_area->width),
cpl->file().get()
@@ -1639,7 +1636,7 @@ verify_cpl(Context& context, shared_ptr<const CPL> cpl)
active_area_ok = false;
}
if (main_picture_active_area && (main_picture_active_area->height % 2)) {
- context.error(
+ context.add_note(
VerificationNote::Code::INVALID_MAIN_PICTURE_ACTIVE_AREA,
String::compose("height %1 is not a multiple of 2", main_picture_active_area->height),
cpl->file().get()
@@ -1648,7 +1645,7 @@ verify_cpl(Context& context, shared_ptr<const CPL> cpl)
}
if (main_picture_active_area && active_area_ok) {
- context.ok(
+ context.add_note(
VerificationNote::Code::VALID_MAIN_PICTURE_ACTIVE_AREA, String::compose("%1x%2", main_picture_active_area->width, main_picture_active_area->height),
cpl->file().get()
);
@@ -1676,7 +1673,7 @@ verify_cpl(Context& context, shared_ptr<const CPL> cpl)
if (context.dcp->standard() == Standard::SMPTE) {
if (auto msc = cpl->main_sound_configuration()) {
if (msc->valid() && context.audio_channels && msc->channels() != *context.audio_channels) {
- context.error(
+ context.add_note(
VerificationNote::Code::INVALID_MAIN_SOUND_CONFIGURATION,
String::compose("MainSoundConfiguration has %1 channels but sound assets have %2", msc->channels(), *context.audio_channels),
cpl->file().get()
@@ -1685,36 +1682,36 @@ verify_cpl(Context& context, shared_ptr<const CPL> cpl)
}
if (have_main_subtitle && have_no_main_subtitle) {
- context.bv21_error(VerificationNote::Code::MISSING_MAIN_SUBTITLE_FROM_SOME_REELS);
+ context.add_note(VerificationNote::Code::MISSING_MAIN_SUBTITLE_FROM_SOME_REELS);
}
if (fewest_closed_captions != most_closed_captions) {
- context.bv21_error(VerificationNote::Code::MISMATCHED_CLOSED_CAPTION_ASSET_COUNTS);
+ context.add_note(VerificationNote::Code::MISMATCHED_CLOSED_CAPTION_ASSET_COUNTS);
}
if (cpl->content_kind() == ContentKind::FEATURE) {
if (markers_seen.find(Marker::FFEC) == markers_seen.end()) {
- context.bv21_error(VerificationNote::Code::MISSING_FFEC_IN_FEATURE);
+ context.add_note(VerificationNote::Code::MISSING_FFEC_IN_FEATURE);
}
if (markers_seen.find(Marker::FFMC) == markers_seen.end()) {
- context.bv21_error(VerificationNote::Code::MISSING_FFMC_IN_FEATURE);
+ context.add_note(VerificationNote::Code::MISSING_FFMC_IN_FEATURE);
}
}
auto ffoc = markers_seen.find(Marker::FFOC);
if (ffoc == markers_seen.end()) {
- context.warning(VerificationNote::Code::MISSING_FFOC);
+ context.add_note(VerificationNote::Code::MISSING_FFOC);
} else if (ffoc->second.e != 1) {
- context.warning(VerificationNote::Code::INCORRECT_FFOC, fmt::to_string(ffoc->second.e));
+ context.add_note(VerificationNote::Code::INCORRECT_FFOC, fmt::to_string(ffoc->second.e));
}
auto lfoc = markers_seen.find(Marker::LFOC);
if (lfoc == markers_seen.end()) {
- context.warning(VerificationNote::Code::MISSING_LFOC);
+ context.add_note(VerificationNote::Code::MISSING_LFOC);
} else {
auto lfoc_time = lfoc->second.as_editable_units_ceil(lfoc->second.tcr);
if (lfoc_time != (cpl->reels().back()->duration() - 1)) {
- context.warning(VerificationNote::Code::INCORRECT_LFOC, fmt::to_string(lfoc_time));
+ context.add_note(VerificationNote::Code::INCORRECT_LFOC, fmt::to_string(lfoc_time));
}
}
@@ -1726,12 +1723,12 @@ verify_cpl(Context& context, shared_ptr<const CPL> cpl)
}
if (result.line_count_exceeded) {
- context.warning(VerificationNote::Code::INVALID_SUBTITLE_LINE_COUNT);
+ context.add_note(VerificationNote::Code::INVALID_SUBTITLE_LINE_COUNT);
}
if (result.error_length_exceeded) {
- context.warning(VerificationNote::Code::INVALID_SUBTITLE_LINE_LENGTH);
+ context.add_note(VerificationNote::Code::INVALID_SUBTITLE_LINE_LENGTH);
} else if (result.warning_length_exceeded) {
- context.warning(VerificationNote::Code::NEARLY_INVALID_SUBTITLE_LINE_LENGTH);
+ context.add_note(VerificationNote::Code::NEARLY_INVALID_SUBTITLE_LINE_LENGTH);
}
result = LinesCharactersResult();
@@ -1744,16 +1741,16 @@ verify_cpl(Context& context, shared_ptr<const CPL> cpl)
}
if (result.line_count_exceeded) {
- context.bv21_error(VerificationNote::Code::INVALID_CLOSED_CAPTION_LINE_COUNT);
+ context.add_note(VerificationNote::Code::INVALID_CLOSED_CAPTION_LINE_COUNT);
}
if (result.error_length_exceeded) {
- context.bv21_error(VerificationNote::Code::INVALID_CLOSED_CAPTION_LINE_LENGTH);
+ context.add_note(VerificationNote::Code::INVALID_CLOSED_CAPTION_LINE_LENGTH);
}
if (!cpl->read_composition_metadata()) {
- context.bv21_error(VerificationNote::Code::MISSING_CPL_METADATA, cpl->file().get());
+ context.add_note(VerificationNote::Code::MISSING_CPL_METADATA, cpl->file().get());
} else if (!cpl->version_number()) {
- context.bv21_error(VerificationNote::Code::MISSING_CPL_METADATA_VERSION_NUMBER, cpl->file().get());
+ context.add_note(VerificationNote::Code::MISSING_CPL_METADATA_VERSION_NUMBER, cpl->file().get());
}
verify_extension_metadata(context);
@@ -1763,7 +1760,7 @@ verify_cpl(Context& context, shared_ptr<const CPL> cpl)
DCP_ASSERT(cpl->file());
doc.read_file(dcp::filesystem::fix_long_path(cpl->file().get()));
if (!doc.optional_node_child("Signature")) {
- context.bv21_error(VerificationNote::Code::UNSIGNED_CPL_WITH_ENCRYPTED_CONTENT, cpl->file().get());
+ context.add_note(VerificationNote::Code::UNSIGNED_CPL_WITH_ENCRYPTED_CONTENT, cpl->file().get());
}
}
}
@@ -1780,14 +1777,14 @@ verify_pkl(Context& context, shared_ptr<const PKL> pkl)
cxml::Document doc("PackingList");
doc.read_file(dcp::filesystem::fix_long_path(pkl->file().get()));
if (!doc.optional_node_child("Signature")) {
- context.bv21_error(VerificationNote::Code::UNSIGNED_PKL_WITH_ENCRYPTED_CONTENT, pkl->id(), pkl->file().get());
+ context.add_note(VerificationNote::Code::UNSIGNED_PKL_WITH_ENCRYPTED_CONTENT, pkl->id(), pkl->file().get());
}
}
set<string> uuid_set;
for (auto asset: pkl->assets()) {
if (!uuid_set.insert(asset->id()).second) {
- context.error(VerificationNote::Code::DUPLICATE_ASSET_ID_IN_PKL, pkl->id(), pkl->file().get());
+ context.add_note(VerificationNote::Code::DUPLICATE_ASSET_ID_IN_PKL, pkl->id(), pkl->file().get());
break;
}
}
@@ -1807,7 +1804,7 @@ verify_assetmap(Context& context, shared_ptr<const DCP> dcp)
set<string> uuid_set;
for (auto const& asset: asset_map->assets()) {
if (!uuid_set.insert(asset.id()).second) {
- context.error(VerificationNote::Code::DUPLICATE_ASSET_ID_IN_ASSETMAP, asset_map->id(), asset_map->file().get());
+ context.add_note(VerificationNote::Code::DUPLICATE_ASSET_ID_IN_ASSETMAP, asset_map->id(), asset_map->file().get());
break;
}
}
@@ -1846,21 +1843,21 @@ dcp::verify (
try {
dcp->read (&notes, true);
} catch (MissingAssetmapError& e) {
- context.error(VerificationNote::Code::FAILED_READ, string(e.what()));
+ context.add_note(VerificationNote::Code::FAILED_READ, string(e.what()));
carry_on = false;
} catch (ReadError& e) {
- context.error(VerificationNote::Code::FAILED_READ, string(e.what()));
+ context.add_note(VerificationNote::Code::FAILED_READ, string(e.what()));
} catch (XMLError& e) {
- context.error(VerificationNote::Code::FAILED_READ, string(e.what()));
+ context.add_note(VerificationNote::Code::FAILED_READ, string(e.what()));
} catch (MXFFileError& e) {
- context.error(VerificationNote::Code::FAILED_READ, string(e.what()));
+ context.add_note(VerificationNote::Code::FAILED_READ, string(e.what()));
} catch (BadURNUUIDError& e) {
- context.error(VerificationNote::Code::FAILED_READ, string(e.what()));
+ context.add_note(VerificationNote::Code::FAILED_READ, string(e.what()));
} catch (cxml::Error& e) {
- context.error(VerificationNote::Code::FAILED_READ, string(e.what()));
+ context.add_note(VerificationNote::Code::FAILED_READ, string(e.what()));
} catch (xmlpp::parse_error& e) {
carry_on = false;
- context.error(VerificationNote::Code::FAILED_READ, string(e.what()));
+ context.add_note(VerificationNote::Code::FAILED_READ, string(e.what()));
}
if (!carry_on) {
@@ -1868,7 +1865,7 @@ dcp::verify (
}
if (dcp->standard() != Standard::SMPTE) {
- notes.push_back ({VerificationNote::Type::BV21_ERROR, VerificationNote::Code::INVALID_STANDARD});
+ notes.push_back({VerificationNote::Code::INVALID_STANDARD});
}
for (auto kdm: kdms) {
@@ -1883,7 +1880,7 @@ dcp::verify (
context.audio_channels.reset();
context.subtitle_language.reset();
} catch (ReadError& e) {
- notes.push_back({VerificationNote::Type::ERROR, VerificationNote::Code::FAILED_READ, string(e.what())});
+ notes.push_back({VerificationNote::Code::FAILED_READ, string(e.what())});
}
}
@@ -1896,7 +1893,7 @@ dcp::verify (
stage("Checking ASSETMAP", dcp->asset_map_file().get());
verify_assetmap(context, dcp);
} else {
- context.error(VerificationNote::Code::MISSING_ASSETMAP);
+ context.add_note(VerificationNote::Code::MISSING_ASSETMAP);
}
}
@@ -2193,6 +2190,140 @@ dcp::note_to_string(VerificationNote note, function<string (string)> process_str
}
+dcp::VerificationNote::Type
+dcp::VerificationNote::type() const
+{
+ switch (_code) {
+ case Code::ALL_ENCRYPTED:
+ case Code::CORRECT_PICTURE_HASH:
+ case Code::MATCHING_CPL_HASHES:
+ case Code::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL:
+ case Code::NONE_ENCRYPTED:
+ case Code::VALID_CONTENT_KIND:
+ case Code::VALID_CONTENT_VERSION_LABEL_TEXT:
+ case Code::VALID_CPL_ANNOTATION_TEXT:
+ case Code::VALID_MAIN_PICTURE_ACTIVE_AREA:
+ case Code::VALID_PICTURE_FRAME_SIZES_IN_BYTES:
+ case Code::VALID_RELEASE_TERRITORY:
+ return Type::OK;
+ case Code::INCORRECT_CLOSED_CAPTION_ENTRY_POINT:
+ case Code::INCORRECT_SUBTITLE_ENTRY_POINT:
+ case Code::INCORRECT_TIMED_TEXT_ASSET_ID:
+ case Code::INVALID_CLOSED_CAPTION_LINE_COUNT:
+ case Code::INVALID_CLOSED_CAPTION_LINE_LENGTH:
+ case Code::INVALID_CLOSED_CAPTION_XML_SIZE_IN_BYTES:
+ case Code::INVALID_EXTENSION_METADATA:
+ case Code::INVALID_PICTURE_SIZE_IN_PIXELS:
+ case Code::INVALID_LANGUAGE:
+ case Code::INVALID_PICTURE_ASSET_RESOLUTION_FOR_3D:
+ case Code::INVALID_PICTURE_FRAME_RATE_FOR_2K:
+ case Code::INVALID_PICTURE_FRAME_RATE_FOR_4K:
+ case Code::INVALID_SOUND_FRAME_RATE:
+ case Code::INVALID_STANDARD:
+ case Code::INVALID_SUBTITLE_START_TIME:
+ case Code::INVALID_TIMED_TEXT_FONT_SIZE_IN_BYTES:
+ case Code::INVALID_TIMED_TEXT_SIZE_IN_BYTES:
+ case Code::MISMATCHED_ASSET_DURATION:
+ case Code::MISMATCHED_CLOSED_CAPTION_ASSET_COUNTS:
+ case Code::MISMATCHED_PKL_ANNOTATION_TEXT_WITH_CPL:
+ case Code::MISMATCHED_SUBTITLE_LANGUAGES:
+ case Code::MISMATCHED_TIMED_TEXT_DURATION:
+ case Code::MISMATCHED_TIMED_TEXT_RESOURCE_ID:
+ case Code::MISSING_CLOSED_CAPTION_ENTRY_POINT:
+ case Code::MISSING_CPL_ANNOTATION_TEXT:
+ case Code::MISSING_CPL_METADATA:
+ case Code::MISSING_CPL_METADATA_VERSION_NUMBER:
+ case Code::MISSING_EXTENSION_METADATA:
+ case Code::MISSING_FFEC_IN_FEATURE:
+ case Code::MISSING_FFMC_IN_FEATURE:
+ case Code::MISSING_HASH:
+ case Code::MISSING_MAIN_SUBTITLE_FROM_SOME_REELS:
+ case Code::MISSING_SUBTITLE_ENTRY_POINT:
+ case Code::MISSING_SUBTITLE_LANGUAGE:
+ case Code::MISSING_SUBTITLE_START_TIME:
+ case Code::PARTIALLY_ENCRYPTED:
+ case Code::UNSIGNED_CPL_WITH_ENCRYPTED_CONTENT:
+ case Code::UNSIGNED_PKL_WITH_ENCRYPTED_CONTENT:
+ case Code::INVALID_JPEG2000_TILE_SIZE:
+ case Code::INVALID_JPEG2000_TILE_PARTS_FOR_2K:
+ case Code::INVALID_JPEG2000_TILE_PARTS_FOR_4K:
+ case Code::INVALID_JPEG2000_CODE_BLOCK_WIDTH:
+ case Code::INVALID_JPEG2000_CODE_BLOCK_HEIGHT:
+ case Code::INVALID_JPEG2000_GUARD_BITS_FOR_2K:
+ case Code::INVALID_JPEG2000_GUARD_BITS_FOR_4K:
+ case Code::INCORRECT_JPEG2000_POC_MARKER:
+ case Code::INVALID_JPEG2000_POC_MARKER_LOCATION:
+ case Code::INCORRECT_JPEG2000_POC_MARKER_COUNT_FOR_2K:
+ case Code::INCORRECT_JPEG2000_POC_MARKER_COUNT_FOR_4K:
+ case Code::MISSING_JPEG2000_TLM_MARKER:
+ case Code::INVALID_SUBTITLE_DURATION_BV21:
+ return Type::BV21_ERROR;
+ case Code::DUPLICATE_ASSET_ID_IN_ASSETMAP:
+ case Code::DUPLICATE_ASSET_ID_IN_PKL:
+ case Code::EMPTY_TEXT:
+ case Code::FAILED_READ:
+ case Code::INCORRECT_CLOSED_CAPTION_ORDERING:
+ case Code::INCORRECT_PICTURE_HASH:
+ case Code::INCORRECT_SOUND_HASH:
+ case Code::INVALID_CONTENT_KIND:
+ case Code::INVALID_CPL_NAMESPACE:
+ case Code::INVALID_DURATION:
+ case Code::INVALID_INTRINSIC_DURATION:
+ case Code::INVALID_MAIN_PICTURE_ACTIVE_AREA:
+ case Code::INVALID_MAIN_SOUND_CONFIGURATION:
+ case Code::INVALID_PICTURE_FRAME_RATE:
+ case Code::INVALID_PICTURE_FRAME_SIZE_IN_BYTES:
+ case Code::INVALID_SOUND_BIT_DEPTH:
+ case Code::INVALID_XML:
+ case Code::MISMATCHED_ASSET_MAP_ID:
+ case Code::MISMATCHED_CLOSED_CAPTION_VALIGN:
+ case Code::MISMATCHED_CPL_HASHES:
+ case Code::MISMATCHED_PICTURE_HASHES:
+ case Code::MISMATCHED_SOUND_CHANNEL_COUNTS:
+ case Code::MISMATCHED_SOUND_HASHES:
+ case Code::MISMATCHED_STANDARD:
+ case Code::MISSING_ASSET:
+ case Code::MISSING_ASSETMAP:
+ case Code::MISSING_CPL_CONTENT_VERSION:
+ case Code::MISSING_FONT:
+ case Code::MISSING_LOAD_FONT:
+ case Code::MISSING_LOAD_FONT_FOR_FONT:
+ case Code::MISSING_SUBTITLE:
+ case Code::SUBTITLE_OVERLAPS_REEL_BOUNDARY:
+ case Code::UNEXPECTED_DURATION:
+ case Code::UNEXPECTED_ENTRY_POINT:
+ case Code::INVALID_JPEG2000_RSIZ_FOR_2K:
+ case Code::INVALID_JPEG2000_RSIZ_FOR_4K:
+ case Code::INVALID_JPEG2000_TILE_PART_SIZE:
+ case Code::INVALID_JPEG2000_CODESTREAM:
+ case Code::INVALID_PKL_NAMESPACE:
+ return Type::ERROR;
+ case Code::EMPTY_ASSET_PATH:
+ case Code::EMPTY_CONTENT_VERSION_LABEL_TEXT:
+ case Code::EXTERNAL_ASSET:
+ case Code::INCORRECT_FFOC:
+ case Code::INCORRECT_LFOC:
+ case Code::INCORRECT_SUBTITLE_NAMESPACE_COUNT:
+ case Code::INVALID_SUBTITLE_DURATION:
+ case Code::INVALID_SUBTITLE_FIRST_TEXT_TIME:
+ case Code::INVALID_SUBTITLE_ISSUE_DATE:
+ case Code::INVALID_SUBTITLE_LINE_COUNT:
+ case Code::INVALID_SUBTITLE_LINE_LENGTH:
+ case Code::INVALID_SUBTITLE_SPACING:
+ case Code::MISMATCHED_CPL_ANNOTATION_TEXT:
+ case Code::MISSED_CHECK_OF_ENCRYPTED:
+ case Code::MISSING_FFOC:
+ case Code::MISSING_LFOC:
+ case Code::NEARLY_INVALID_PICTURE_FRAME_SIZE_IN_BYTES:
+ case Code::NEARLY_INVALID_SUBTITLE_LINE_LENGTH:
+ case Code::THREED_ASSET_MARKED_AS_TWOD:
+ return Type::WARNING;
+ };
+
+ DCP_ASSERT(false);
+}
+
+
bool
dcp::operator== (dcp::VerificationNote const& a, dcp::VerificationNote const& b)
{
diff --git a/src/verify.h b/src/verify.h
index a9ebfb44..01d8f6ee 100644
--- a/src/verify.h
+++ b/src/verify.h
@@ -529,45 +529,38 @@ public:
INVALID_PKL_NAMESPACE,
};
- VerificationNote (Type type, Code code)
- : _type (type)
- , _code (code)
+ VerificationNote(Code code)
+ : _code(code)
{}
- VerificationNote (Type type, Code code, std::string note)
- : _type (type)
- , _code (code)
+ VerificationNote(Code code, std::string note)
+ : _code(code)
{
_data[Data::NOTE] = note;
}
- VerificationNote (Type type, Code code, boost::filesystem::path file)
- : _type (type)
- , _code (code)
+ VerificationNote(Code code, boost::filesystem::path file)
+ : _code(code)
{
_data[Data::FILE] = file;
}
- VerificationNote (Type type, Code code, std::string note, boost::filesystem::path file)
- : _type (type)
- , _code (code)
+ VerificationNote(Code code, std::string note, boost::filesystem::path file)
+ : _code(code)
{
_data[Data::NOTE] = note;
_data[Data::FILE] = file;
}
- VerificationNote (Type type, Code code, std::string note, boost::filesystem::path file, uint64_t line)
- : _type (type)
- , _code (code)
+ VerificationNote(Code code, std::string note, boost::filesystem::path file, uint64_t line)
+ : _code (code)
{
_data[Data::NOTE] = note;
_data[Data::FILE] = file;
_data[Data::LINE] = line;
}
- Type type () const {
- return _type;
- }
+ Type type() const;
Code code () const {
return _code;
@@ -694,7 +687,6 @@ public:
}
private:
- Type _type;
Code _code;
std::map<Data, boost::any> _data;
};
diff --git a/src/verify_internal.h b/src/verify_internal.h
index d6e3c075..6d30161c 100644
--- a/src/verify_internal.h
+++ b/src/verify_internal.h
@@ -93,30 +93,6 @@ public:
Context(Context const&) = delete;
Context& operator=(Context const&) = delete;
- template<typename... Args>
- void ok(dcp::VerificationNote::Code code, Args... args)
- {
- add_note({dcp::VerificationNote::Type::OK, code, std::forward<Args>(args)...});
- }
-
- template<typename... Args>
- void warning(dcp::VerificationNote::Code code, Args... args)
- {
- add_note({dcp::VerificationNote::Type::WARNING, code, std::forward<Args>(args)...});
- }
-
- template<typename... Args>
- void bv21_error(dcp::VerificationNote::Code code, Args... args)
- {
- add_note({dcp::VerificationNote::Type::BV21_ERROR, code, std::forward<Args>(args)...});
- }
-
- template<typename... Args>
- void error(dcp::VerificationNote::Code code, Args... args)
- {
- add_note({dcp::VerificationNote::Type::ERROR, code, std::forward<Args>(args)...});
- }
-
void add_note(dcp::VerificationNote note)
{
if (cpl) {
@@ -125,6 +101,12 @@ public:
notes.push_back(std::move(note));
}
+ template<typename... Args>
+ void add_note(dcp::VerificationNote::Code code, Args... args)
+ {
+ add_note(dcp::VerificationNote{code, std::forward<Args>(args)...});
+ }
+
void add_note_if_not_existing(dcp::VerificationNote note)
{
if (find(notes.begin(), notes.end(), note) == notes.end()) {
diff --git a/src/verify_j2k.cc b/src/verify_j2k.cc
index cba00e87..dcea6f60 100644
--- a/src/verify_j2k.cc
+++ b/src/verify_j2k.cc
@@ -172,16 +172,16 @@ dcp::verify_j2k(shared_ptr<const Data> j2k, int start_index, int frame_index, in
auto const image_height = get_32();
auto const fourk = image_width > 2048;
if (!fourk && rsiz != OPJ_PROFILE_CINEMA_2K) {
- notes.push_back({ VerificationNote::Type::ERROR, VerificationNote::Code::INVALID_JPEG2000_RSIZ_FOR_2K, fmt::to_string(rsiz) });
+ notes.push_back({ VerificationNote::Code::INVALID_JPEG2000_RSIZ_FOR_2K, fmt::to_string(rsiz) });
} else if (fourk && rsiz != OPJ_PROFILE_CINEMA_4K) {
- notes.push_back({ VerificationNote::Type::ERROR, VerificationNote::Code::INVALID_JPEG2000_RSIZ_FOR_4K, fmt::to_string(rsiz) });
+ notes.push_back({ VerificationNote::Code::INVALID_JPEG2000_RSIZ_FOR_4K, fmt::to_string(rsiz) });
}
require_32 (0, "invalid top-left image x coordinate %1");
require_32 (0, "invalid top-left image y coordinate %1");
auto const tile_width = get_32();
auto const tile_height = get_32();
if (tile_width != image_width || tile_height != image_height) {
- notes.push_back ({ VerificationNote::Type::BV21_ERROR, VerificationNote::Code::INVALID_JPEG2000_TILE_SIZE });
+ notes.push_back ({ VerificationNote::Code::INVALID_JPEG2000_TILE_SIZE });
}
require_32 (0, "invalid tile anchor x coordinate %1");
require_32 (0, "invalid tile anchor y coordinate %1");
@@ -217,13 +217,13 @@ dcp::verify_j2k(shared_ptr<const Data> j2k, int start_index, int frame_index, in
auto const tile_part_index = get_8();
auto tile_parts = get_8();
if (!fourk && tile_parts != 3) {
- notes.push_back({ VerificationNote::Type::BV21_ERROR, VerificationNote::Code::INVALID_JPEG2000_TILE_PARTS_FOR_2K, fmt::to_string(tile_parts) });
+ notes.push_back({ VerificationNote::Code::INVALID_JPEG2000_TILE_PARTS_FOR_2K, fmt::to_string(tile_parts) });
}
if (fourk && tile_parts != 6) {
- notes.push_back({ VerificationNote::Type::BV21_ERROR, VerificationNote::Code::INVALID_JPEG2000_TILE_PARTS_FOR_4K, fmt::to_string(tile_parts) });
+ notes.push_back({ VerificationNote::Code::INVALID_JPEG2000_TILE_PARTS_FOR_4K, fmt::to_string(tile_parts) });
}
if (tile_part_length > max_tile_part_size) {
- VerificationNote note{VerificationNote::Type::ERROR, VerificationNote::Code::INVALID_JPEG2000_TILE_PART_SIZE};
+ VerificationNote note{VerificationNote::Code::INVALID_JPEG2000_TILE_PART_SIZE};
note.set_frame(frame_index);
note.set_frame_rate(frame_rate);
note.set_component(tile_part_index);
@@ -247,11 +247,11 @@ dcp::verify_j2k(shared_ptr<const Data> j2k, int start_index, int frame_index, in
require_8(fourk ? 6 : 5, "invalid number of transform levels %1");
auto log_code_block_width = get_8();
if (log_code_block_width != 3) {
- notes.push_back({ VerificationNote::Type::BV21_ERROR, VerificationNote::Code::INVALID_JPEG2000_CODE_BLOCK_WIDTH, fmt::to_string(4 * (2 << log_code_block_width)) });
+ notes.push_back({ VerificationNote::Code::INVALID_JPEG2000_CODE_BLOCK_WIDTH, fmt::to_string(4 * (2 << log_code_block_width)) });
}
auto log_code_block_height = get_8();
if (log_code_block_height != 3) {
- notes.push_back({ VerificationNote::Type::BV21_ERROR, VerificationNote::Code::INVALID_JPEG2000_CODE_BLOCK_HEIGHT, fmt::to_string(4 * (2 << log_code_block_height)) });
+ notes.push_back({ VerificationNote::Code::INVALID_JPEG2000_CODE_BLOCK_HEIGHT, fmt::to_string(4 * (2 << log_code_block_height)) });
}
require_8(0, "invalid mode variations");
require_8(0, "invalid wavelet transform type %1"); // 9/7 irreversible
@@ -270,10 +270,10 @@ dcp::verify_j2k(shared_ptr<const Data> j2k, int start_index, int frame_index, in
auto quantization_style = get_8();
int guard_bits = (quantization_style >> 5) & 7;
if (fourk && guard_bits != 2) {
- notes.push_back({ VerificationNote::Type::BV21_ERROR, VerificationNote::Code::INVALID_JPEG2000_GUARD_BITS_FOR_4K, fmt::to_string(guard_bits) });
+ notes.push_back({ VerificationNote::Code::INVALID_JPEG2000_GUARD_BITS_FOR_4K, fmt::to_string(guard_bits) });
}
if (!fourk && guard_bits != 1) {
- notes.push_back({ VerificationNote::Type::BV21_ERROR, VerificationNote::Code::INVALID_JPEG2000_GUARD_BITS_FOR_2K, fmt::to_string(guard_bits) });
+ notes.push_back({ VerificationNote::Code::INVALID_JPEG2000_GUARD_BITS_FOR_2K, fmt::to_string(guard_bits) });
}
ptr += L_qcd - 3;
} else if (*marker_name == "COC") {
@@ -313,13 +313,13 @@ dcp::verify_j2k(shared_ptr<const Data> j2k, int start_index, int frame_index, in
auto require_8_poc = [&](uint16_t value, string note) {
if (get_8() != value) {
- notes.push_back ({ VerificationNote::Type::BV21_ERROR, VerificationNote::Code::INCORRECT_JPEG2000_POC_MARKER, String::compose(note, value) });
+ notes.push_back ({ VerificationNote::Code::INCORRECT_JPEG2000_POC_MARKER, String::compose(note, value) });
}
};
auto require_16_poc = [&](uint16_t value, string note) {
if (get_16() != value) {
- notes.push_back ({ VerificationNote::Type::BV21_ERROR, VerificationNote::Code::INCORRECT_JPEG2000_POC_MARKER, String::compose(note, value) });
+ notes.push_back ({ VerificationNote::Code::INCORRECT_JPEG2000_POC_MARKER, String::compose(note, value) });
}
};
@@ -352,21 +352,21 @@ dcp::verify_j2k(shared_ptr<const Data> j2k, int start_index, int frame_index, in
throw InvalidCodestream("more than one QCD marker found");
}
if (num_POC_in_main != 0 && !fourk) {
- notes.push_back({ VerificationNote::Type::BV21_ERROR, VerificationNote::Code::INCORRECT_JPEG2000_POC_MARKER_COUNT_FOR_2K, fmt::to_string(num_POC_in_main) });
+ notes.push_back({ VerificationNote::Code::INCORRECT_JPEG2000_POC_MARKER_COUNT_FOR_2K, fmt::to_string(num_POC_in_main) });
}
if (num_POC_in_main != 1 && fourk) {
- notes.push_back({ VerificationNote::Type::BV21_ERROR, VerificationNote::Code::INCORRECT_JPEG2000_POC_MARKER_COUNT_FOR_4K, fmt::to_string(num_POC_in_main) });
+ notes.push_back({ VerificationNote::Code::INCORRECT_JPEG2000_POC_MARKER_COUNT_FOR_4K, fmt::to_string(num_POC_in_main) });
}
if (num_POC_after_main != 0) {
- notes.push_back ({ VerificationNote::Type::BV21_ERROR, VerificationNote::Code::INVALID_JPEG2000_POC_MARKER_LOCATION });
+ notes.push_back ({ VerificationNote::Code::INVALID_JPEG2000_POC_MARKER_LOCATION });
}
if (!tlm) {
- notes.push_back ({ VerificationNote::Type::BV21_ERROR, VerificationNote::Code::MISSING_JPEG2000_TLM_MARKER });
+ notes.push_back ({ VerificationNote::Code::MISSING_JPEG2000_TLM_MARKER });
}
}
catch (InvalidCodestream const& e)
{
- VerificationNote note({VerificationNote::Type::ERROR, VerificationNote::Code::INVALID_JPEG2000_CODESTREAM, string(e.what())});
+ VerificationNote note({VerificationNote::Code::INVALID_JPEG2000_CODESTREAM, string(e.what())});
note.set_frame(start_index + frame_index);
note.set_frame_rate(frame_rate);
notes.push_back(note);
diff --git a/test/verify_test.cc b/test/verify_test.cc
index d6542006..dc5fa017 100644
--- a/test/verify_test.cc
+++ b/test/verify_test.cc
@@ -411,25 +411,25 @@ private:
static
dcp::VerificationNote
-ok(dcp::VerificationNote::Code code, shared_ptr<const dcp::CPL> cpl)
+note(dcp::VerificationNote::Code code, shared_ptr<const dcp::CPL> cpl)
{
- return dcp::VerificationNote(dcp::VerificationNote::Type::OK, code).set_cpl_id(cpl->id());
+ return dcp::VerificationNote(code).set_cpl_id(cpl->id());
}
static
dcp::VerificationNote
-ok(dcp::VerificationNote::Code code, string note, shared_ptr<const dcp::CPL> cpl)
+note(dcp::VerificationNote::Code code, string note, shared_ptr<const dcp::CPL> cpl)
{
- return dcp::VerificationNote(dcp::VerificationNote::Type::OK, code, note).set_cpl_id(cpl->id());
+ return dcp::VerificationNote(code, note).set_cpl_id(cpl->id());
}
static
dcp::VerificationNote
-ok(dcp::VerificationNote::Code code, boost::filesystem::path path, shared_ptr<const dcp::CPL> cpl)
+note(dcp::VerificationNote::Code code, boost::filesystem::path path, shared_ptr<const dcp::CPL> cpl)
{
- return dcp::VerificationNote(dcp::VerificationNote::Type::OK, code, path).set_cpl_id(cpl->id());
+ return dcp::VerificationNote(code, path).set_cpl_id(cpl->id());
}
@@ -526,24 +526,23 @@ BOOST_AUTO_TEST_CASE (verify_incorrect_picture_sound_hash)
{ dir },
{},
{
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
dcp::VerificationNote(
- dcp::VerificationNote::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
canonical(cpl->file().get())
).set_cpl_id(dcp_test1_cpl_id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
VN(
- VN::Type::ERROR, VC::INCORRECT_PICTURE_HASH, canonical(video_path)
+ VC::INCORRECT_PICTURE_HASH, canonical(video_path)
).set_cpl_id(dcp_test1_cpl_id()).set_reference_hash(video_calc.old_hash()).set_calculated_hash(video_calc.new_hash()),
VN(
- VN::Type::ERROR, VC::INCORRECT_SOUND_HASH, canonical(audio_path)
+ VC::INCORRECT_SOUND_HASH, canonical(audio_path)
).set_cpl_id(dcp_test1_cpl_id()).set_reference_hash(audio_calc.old_hash()).set_calculated_hash(audio_calc.new_hash()),
});
}
@@ -570,30 +569,25 @@ BOOST_AUTO_TEST_CASE (verify_mismatched_picture_sound_hashes)
{ dir },
{},
{
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
canonical(cpl->file().get())
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, canonical(dir / dcp_test1_cpl())
+ VC::MISMATCHED_CPL_HASHES, canonical(dir / dcp_test1_cpl())
).set_cpl_id(dcp_test1_cpl_id()).set_reference_hash("x" + calc.old_hash()).set_calculated_hash(calc.old_hash()),
- VN(
- VN::Type::ERROR, VC::MISMATCHED_PICTURE_HASHES, canonical(dir / "video.mxf")
- ).set_cpl_id(dcp_test1_cpl_id()),
- VN(
- VN::Type::ERROR, VC::MISMATCHED_SOUND_HASHES, canonical(dir / "audio.mxf")
- ).set_cpl_id(dcp_test1_cpl_id()),
- { VN::Type::ERROR, VC::INVALID_XML, "value 'x3M7YTgvFKXXMEGLkIbV4miC90FE=' is invalid Base64-encoded binary", canonical(dir / dcp_test1_pkl()), 28 },
- { VN::Type::ERROR, VC::INVALID_XML, "value 'xskI+5b/9LA/y6h0mcyxysJYanxI=' is invalid Base64-encoded binary", canonical(dir / dcp_test1_pkl()), 12 },
- { VN::Type::ERROR, VC::INVALID_XML, "value 'xvsVjRV9vhTBPUWfE/TT1o2vdQsI=' is invalid Base64-encoded binary", canonical(dir / dcp_test1_pkl()), 20 },
+ VN(VC::MISMATCHED_PICTURE_HASHES, canonical(dir / "video.mxf")).set_cpl_id(dcp_test1_cpl_id()),
+ VN(VC::MISMATCHED_SOUND_HASHES, canonical(dir / "audio.mxf")).set_cpl_id(dcp_test1_cpl_id()),
+ { VC::INVALID_XML, "value 'x3M7YTgvFKXXMEGLkIbV4miC90FE=' is invalid Base64-encoded binary", canonical(dir / dcp_test1_pkl()), 28 },
+ { VC::INVALID_XML, "value 'xskI+5b/9LA/y6h0mcyxysJYanxI=' is invalid Base64-encoded binary", canonical(dir / dcp_test1_pkl()), 12 },
+ { VC::INVALID_XML, "value 'xvsVjRV9vhTBPUWfE/TT1o2vdQsI=' is invalid Base64-encoded binary", canonical(dir / dcp_test1_pkl()), 20 },
});
}
@@ -618,24 +612,21 @@ BOOST_AUTO_TEST_CASE (verify_failed_read_content_kind)
{ dir },
{},
{
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
canonical(cpl->file().get())
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, canonical(dir / dcp_test1_cpl())
+ VC::MISMATCHED_CPL_HASHES, canonical(dir / dcp_test1_cpl())
).set_cpl_id(dcp_test1_cpl_id()).set_reference_hash(calc.old_hash()).set_calculated_hash(calc.new_hash()),
- VN(
- VN::Type::ERROR, VC::INVALID_CONTENT_KIND, string("xtrailer")
- ).set_cpl_id(dcp_test1_cpl_id())
+ VN(VC::INVALID_CONTENT_KIND, string("xtrailer")).set_cpl_id(dcp_test1_cpl_id())
});
}
@@ -679,25 +670,22 @@ BOOST_AUTO_TEST_CASE (verify_invalid_picture_frame_rate)
std::vector<VN> expected =
{
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
canonical(cpl->file().get())
).set_cpl_id(cpl->id()),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, canonical(cpl_path)
+ VC::MISMATCHED_CPL_HASHES, canonical(cpl_path)
).set_cpl_id(cpl->id()).set_calculated_hash("7n7GQ2TbxQbmHYuAR8ml7XDOep8=").set_reference_hash("skI+5b/9LA/y6h0mcyxysJYanxI="),
- VN(
- VN::Type::ERROR, VC::INVALID_PICTURE_FRAME_RATE, string{"99/1"}
- ).set_cpl_id(cpl->id())
+ VN(VC::INVALID_PICTURE_FRAME_RATE, string{"99/1"}).set_cpl_id(cpl->id())
};
check_verify_result(dcp::verify({dir}, {}, &stage, &progress, {}, xsd_test).notes, expected);
@@ -718,19 +706,18 @@ BOOST_AUTO_TEST_CASE (verify_missing_asset)
{ dir },
{},
{
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
canonical(cpl->file().get())
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- { VN::Type::ERROR, VC::MISSING_ASSET, canonical(dir) / "video.mxf" }
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ { VC::MISSING_ASSET, canonical(dir) / "video.mxf" }
});
}
@@ -749,19 +736,18 @@ BOOST_AUTO_TEST_CASE (verify_empty_asset_path)
using VC = VN::Code;
std::vector<VN> expected = {
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
canonical(cpl->file().get())
).set_cpl_id(cpl->id()),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- { VN::Type::WARNING, VC::EMPTY_ASSET_PATH }
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ { VC::EMPTY_ASSET_PATH }
};
check_verify_result(dcp::verify({dir}, {}, &stage, &progress, {}, xsd_test).notes, expected);
@@ -782,34 +768,25 @@ BOOST_AUTO_TEST_CASE (verify_mismatched_standard)
using VC = VN::Code;
std::vector<VN> expected = {
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
canonical(cpl->file().get())
).set_cpl_id(cpl->id()),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- { VN::Type::ERROR, VC::MISMATCHED_STANDARD },
- VN(
- VN::Type::ERROR, VC::INVALID_XML, "invalid character encountered", canonical(cpl_path), 42
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::ERROR, VC::INVALID_XML, "no declaration found for element 'Id'", canonical(cpl_path), 53
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::ERROR, VC::INVALID_XML, "no declaration found for element 'EditRate'", canonical(cpl_path), 54
- ).set_cpl_id(cpl->id()),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ { VC::MISMATCHED_STANDARD },
+ VN(VC::INVALID_XML, "invalid character encountered", canonical(cpl_path), 42).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_XML, "no declaration found for element 'Id'", canonical(cpl_path), 53).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_XML, "no declaration found for element 'EditRate'", canonical(cpl_path), 54).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_XML, "no declaration found for element 'IntrinsicDuration'", canonical(cpl_path), 55).set_cpl_id(cpl->id()),
VN(
- VN::Type::ERROR, VC::INVALID_XML, "no declaration found for element 'IntrinsicDuration'", canonical(cpl_path), 55
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::ERROR, VC::INVALID_XML,
+ VC::INVALID_XML,
"element 'Id' is not allowed for content model '(Id,AnnotationText?,EditRate,IntrinsicDuration,"
"EntryPoint?,Duration?,FullContentTitleText,ReleaseTerritory?,VersionNumber?,Chain?,Distributor?,"
"Facility?,AlternateContentVersionList?,Luminance?,MainSoundConfiguration,MainSoundSampleRate,"
@@ -817,7 +794,7 @@ BOOST_AUTO_TEST_CASE (verify_mismatched_standard)
canonical(cpl_path), 149
).set_cpl_id(cpl->id()),
VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, canonical(cpl_path)
+ VC::MISMATCHED_CPL_HASHES, canonical(cpl_path)
).set_cpl_id(cpl->id()).set_reference_hash("skI+5b/9LA/y6h0mcyxysJYanxI=").set_calculated_hash("FZ9E7L/pOuJ6aZfbiaANTv8BFOo=")
};
@@ -840,22 +817,21 @@ BOOST_AUTO_TEST_CASE (verify_invalid_xml_cpl_id)
using VC = VN::Code;
std::vector<VN> expected = {
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
canonical(cpl->file().get())
).set_cpl_id(cpl->id()),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
VN(
- VN::Type::ERROR, VC::INVALID_XML,
+ VC::INVALID_XML,
"value 'urn:uuid:6affb8ee-0020-4dff-a53c-17652f6358a' does not match regular expression "
"facet 'urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}'", canonical(cpl_path), 3
).set_cpl_id(cpl->id())
@@ -879,27 +855,22 @@ BOOST_AUTO_TEST_CASE (verify_invalid_xml_issue_date)
using VC = VN::Code;
std::vector<VN> expected = {
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
canonical(cpl->file().get())
).set_cpl_id(cpl->id()),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, canonical(cpl_path)
+ VC::MISMATCHED_CPL_HASHES, canonical(cpl_path)
).set_cpl_id(cpl->id()).set_reference_hash("skI+5b/9LA/y6h0mcyxysJYanxI=").set_calculated_hash("sz3BeIugJ567q3HMnA62JeRw4TE="),
- VN(
- VN::Type::ERROR, VC::INVALID_XML,
- "invalid character encountered",
- canonical(cpl_path), 5
- ).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_XML, "invalid character encountered", canonical(cpl_path), 5).set_cpl_id(cpl->id()),
};
check_verify_result(dcp::verify({dir}, {}, &stage, &progress, {}, xsd_test).notes, expected);
@@ -921,22 +892,21 @@ BOOST_AUTO_TEST_CASE (verify_invalid_xml_pkl_id)
using VC = VN::Code;
std::vector<VN> expected = {
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
canonical(cpl->file().get())
).set_cpl_id(cpl->id()),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
VN(
- VN::Type::ERROR, VC::INVALID_XML,
+ VC::INVALID_XML,
"value 'urn:uuid:x199d58b-5ef8-4d49-b270-07e590ccb280' does not match regular "
"expression facet 'urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}'",
canonical(pkl_path), 3
@@ -962,22 +932,21 @@ BOOST_AUTO_TEST_CASE (verify_invalid_xml_asset_map_id)
using VC = VN::Code;
std::vector<VN> expected = {
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
canonical(cpl->file().get())
).set_cpl_id(cpl->id()),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
VN(
- VN::Type::ERROR, VC::INVALID_XML,
+ VC::INVALID_XML,
"value 'urn:uuid:x17b3de4-6dda-408d-b19b-6711354b0bc3' does not match regular "
"expression facet 'urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}'",
canonical(asset_map_path), 3
@@ -1041,22 +1010,18 @@ BOOST_AUTO_TEST_CASE (verify_invalid_standard)
using VC = VN::Code;
vector<VN> expected = {
- ok(VC::NONE_ENCRYPTED, cpl),
- { VN::Type::BV21_ERROR, VC::INVALID_STANDARD },
- ok(VC::VALID_CONTENT_KIND, string{"feature"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "j2c_c6035f97-b07d-4e1c-944d-603fc2ddc242.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "j2c_c6035f97-b07d-4e1c-944d-603fc2ddc242.mxf"), cpl)
+ note(VC::NONE_ENCRYPTED, cpl),
+ { VC::INVALID_STANDARD },
+ note(VC::VALID_CONTENT_KIND, string{"feature"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "j2c_c6035f97-b07d-4e1c-944d-603fc2ddc242.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "j2c_c6035f97-b07d-4e1c-944d-603fc2ddc242.mxf"), cpl)
};
for (int j = 0; j < 24; ++j) {
- expected.push_back(
- VN(
- VN::Type::BV21_ERROR, VC::INVALID_JPEG2000_GUARD_BITS_FOR_2K, string("2")
- ).set_cpl_id(cpl->id())
- );
+ expected.push_back(VN(VC::INVALID_JPEG2000_GUARD_BITS_FOR_2K, string("2")).set_cpl_id(cpl->id()));
}
check_verify_result(notes, expected);
@@ -1076,38 +1041,22 @@ BOOST_AUTO_TEST_CASE (verify_invalid_duration)
using VC = VN::Code;
vector<VN> expected = {
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"feature"}, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "j2c_d7576dcb-a361-4139-96b8-267f5f8d7f91.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "j2c_d7576dcb-a361-4139-96b8-267f5f8d7f91.mxf"), cpl),
- { VN::Type::BV21_ERROR, VC::INVALID_STANDARD },
- VN(
- VN::Type::ERROR, VC::INVALID_DURATION, string("d7576dcb-a361-4139-96b8-267f5f8d7f91")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::ERROR, VC::INVALID_INTRINSIC_DURATION, string("d7576dcb-a361-4139-96b8-267f5f8d7f91")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::ERROR, VC::INVALID_DURATION, string("a2a87f5d-b749-4a7e-8d0c-9d48a4abf626")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::ERROR, VC::INVALID_INTRINSIC_DURATION, string("a2a87f5d-b749-4a7e-8d0c-9d48a4abf626")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING,
- VC::EMPTY_CONTENT_VERSION_LABEL_TEXT,
- cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"feature"}, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "j2c_d7576dcb-a361-4139-96b8-267f5f8d7f91.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "j2c_d7576dcb-a361-4139-96b8-267f5f8d7f91.mxf"), cpl),
+ { VC::INVALID_STANDARD },
+ VN(VC::INVALID_DURATION, string("d7576dcb-a361-4139-96b8-267f5f8d7f91")).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_INTRINSIC_DURATION, string("d7576dcb-a361-4139-96b8-267f5f8d7f91")).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_DURATION, string("a2a87f5d-b749-4a7e-8d0c-9d48a4abf626")).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_INTRINSIC_DURATION, string("a2a87f5d-b749-4a7e-8d0c-9d48a4abf626")).set_cpl_id(cpl->id()),
+ VN(VC::EMPTY_CONTENT_VERSION_LABEL_TEXT, cpl->file().get()).set_cpl_id(cpl->id())
};
for (int i = 0; i < 23; ++i) {
- expected.push_back(
- VN(
- VN::Type::BV21_ERROR, VC::INVALID_JPEG2000_GUARD_BITS_FOR_2K, string("2")
- ).set_cpl_id(cpl->id())
- );
+ expected.push_back(VN(VC::INVALID_JPEG2000_GUARD_BITS_FOR_2K, string("2")).set_cpl_id(cpl->id()));
}
check_verify_result({ dir }, {}, expected);
@@ -1153,36 +1102,27 @@ BOOST_AUTO_TEST_CASE (verify_invalid_picture_frame_size_in_bytes)
using VC = VN::Code;
vector<VN> expected = {
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "pic.mxf"), cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "pic.mxf"), cpl),
};
for (auto i = 0; i < 24; ++i) {
expected.push_back(
- VN(
- VN::Type::ERROR, VC::INVALID_JPEG2000_CODESTREAM, string("missing marker start byte")
- ).set_frame(i).set_frame_rate(24).set_cpl_id(cpl->id())
- );
+ VN(VC::INVALID_JPEG2000_CODESTREAM, string("missing marker start byte")).set_frame(i).set_frame_rate(24).set_cpl_id(cpl->id()));
}
for (auto i = 0; i < 24; ++i) {
expected.push_back(
- VN(
- VN::Type::ERROR, VC::INVALID_PICTURE_FRAME_SIZE_IN_BYTES, canonical(dir / "pic.mxf")
- ).set_frame(i).set_frame_rate(24).set_cpl_id(cpl->id())
- );
+ VN(VC::INVALID_PICTURE_FRAME_SIZE_IN_BYTES, canonical(dir / "pic.mxf")).set_frame(i).set_frame_rate(24).set_cpl_id(cpl->id()));
}
expected.push_back(
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
- );
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id()));
check_verify_result({ dir }, {}, expected);
}
@@ -1210,36 +1150,28 @@ BOOST_AUTO_TEST_CASE (verify_nearly_invalid_picture_frame_size_in_bytes)
using VC = VN::Code;
vector<VN> expected = {
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "pic.mxf"), cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "pic.mxf"), cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
};
for (auto i = 0; i < 24; ++i) {
expected.push_back(
- VN(
- VN::Type::ERROR, VC::INVALID_JPEG2000_CODESTREAM, string("missing marker start byte")
- ).set_frame(i).set_frame_rate(24).set_cpl_id(cpl->id())
+ VN(VC::INVALID_JPEG2000_CODESTREAM, string("missing marker start byte")).set_frame(i).set_frame_rate(24).set_cpl_id(cpl->id())
);
}
for (auto i = 0; i < 24; ++i) {
expected.push_back(
- VN(
- VN::Type::WARNING, VC::NEARLY_INVALID_PICTURE_FRAME_SIZE_IN_BYTES, canonical(dir / "pic.mxf")
- ).set_frame(i).set_frame_rate(24).set_cpl_id(cpl->id())
+ VN(VC::NEARLY_INVALID_PICTURE_FRAME_SIZE_IN_BYTES, canonical(dir / "pic.mxf")).set_frame(i).set_frame_rate(24).set_cpl_id(cpl->id())
);
}
- expected.push_back(
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
- );
+ expected.push_back(VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id()));
check_verify_result ({ dir }, {}, expected);
}
@@ -1263,15 +1195,15 @@ BOOST_AUTO_TEST_CASE (verify_valid_picture_frame_size_in_bytes)
{ dir },
{},
{
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "pic.mxf"), cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "pic.mxf"), cpl),
- VN(VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "pic.mxf"), cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "pic.mxf"), cpl),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -1292,15 +1224,13 @@ BOOST_AUTO_TEST_CASE (verify_valid_interop_subtitles)
{dir},
{},
{
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- { VN::Type::BV21_ERROR, VC::INVALID_STANDARD },
- VN(
- VN::Type::ERROR, VC::MISSING_FONT, string{"theFontId"}
- ).set_cpl_id(cpl->id())
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ { VC::INVALID_STANDARD },
+ VN(VC::MISSING_FONT, string{"theFontId"}).set_cpl_id(cpl->id())
});
}
@@ -1321,15 +1251,13 @@ BOOST_AUTO_TEST_CASE(verify_catch_missing_font_file_with_interop_ccap)
{dir},
{},
{
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- { VN::Type::BV21_ERROR, VC::INVALID_STANDARD },
- VN(
- VN::Type::ERROR, VC::MISSING_FONT, string{"theFontId"}
- ).set_cpl_id(cpl->id())
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ { VC::INVALID_STANDARD },
+ VN(VC::MISSING_FONT, string{"theFontId"}).set_cpl_id(cpl->id())
});
}
@@ -1357,25 +1285,20 @@ BOOST_AUTO_TEST_CASE (verify_invalid_interop_subtitles)
{ dir },
{},
{
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- { VN::Type::BV21_ERROR, VC::INVALID_STANDARD },
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ { VC::INVALID_STANDARD },
+ VN(VC::INVALID_XML, string("no declaration found for element 'Foo'"), path(), 5).set_cpl_id(cpl->id()),
VN(
- VN::Type::ERROR, VC::INVALID_XML, string("no declaration found for element 'Foo'"), path(), 5
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::ERROR,
VC::INVALID_XML,
string("element 'Foo' is not allowed for content model '(SubtitleID,MovieTitle,ReelNumber,Language,LoadFont*,Font*,Subtitle*)'"),
path(),
29
).set_cpl_id(cpl->id()),
- VN(
- VN::Type::ERROR, VC::MISSING_FONT, string{"theFontId"}
- ).set_cpl_id(cpl->id())
+ VN(VC::MISSING_FONT, string{"theFontId"}).set_cpl_id(cpl->id())
});
}
@@ -1396,18 +1319,14 @@ BOOST_AUTO_TEST_CASE(verify_interop_subtitle_asset_with_no_subtitles)
{ dir },
{},
{
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- { VN::Type::BV21_ERROR, VC::INVALID_STANDARD },
- VN(
- VN::Type::ERROR, VC::MISSING_SUBTITLE, asset->id(), boost::filesystem::canonical(asset->file().get())
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::ERROR, VC::MISSING_FONT, string{"theFontId"}
- ).set_cpl_id(cpl->id())
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ { VC::INVALID_STANDARD },
+ VN(VC::MISSING_SUBTITLE, asset->id(), boost::filesystem::canonical(asset->file().get())).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_FONT, string{"theFontId"}).set_cpl_id(cpl->id())
});
}
@@ -1428,15 +1347,13 @@ BOOST_AUTO_TEST_CASE(verify_interop_subtitle_asset_with_single_space_subtitle)
{ dir },
{},
{
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- { VN::Type::BV21_ERROR, VC::INVALID_STANDARD },
- VN(
- VN::Type::ERROR, VC::MISSING_FONT, string{"Arial"}
- ).set_cpl_id(cpl->id())
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ { VC::INVALID_STANDARD },
+ VN(VC::MISSING_FONT, string{"Arial"}).set_cpl_id(cpl->id())
});
}
@@ -1457,21 +1374,15 @@ BOOST_AUTO_TEST_CASE (verify_valid_smpte_subtitles)
{dir},
{},
{
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::INVALID_SUBTITLE_ISSUE_DATE, string{"2021-04-14T13:19:14.000+02:00"}
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::INCORRECT_SUBTITLE_NAMESPACE_COUNT, asset->id()
- ).set_cpl_id(cpl->id()),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_SUBTITLE_ISSUE_DATE, string{"2021-04-14T13:19:14.000+02:00"}).set_cpl_id(cpl->id()),
+ VN(VC::INCORRECT_SUBTITLE_NAMESPACE_COUNT, asset->id()).set_cpl_id(cpl->id()),
});
}
@@ -1495,34 +1406,23 @@ BOOST_AUTO_TEST_CASE (verify_invalid_smpte_subtitles)
{ dir },
{},
{
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ VN(VC::INVALID_XML, string("no declaration found for element 'Foo'"), path(), 2).set_cpl_id(cpl->id()),
VN(
- VN::Type::ERROR, VC::INVALID_XML, string("no declaration found for element 'Foo'"), path(), 2
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::ERROR,
VC::INVALID_XML,
string("element 'Foo' is not allowed for content model '(Id,ContentTitleText,AnnotationText?,IssueDate,ReelNumber?,Language?,EditRate,TimeCodeRate,StartTime?,DisplayType?,LoadFont*,SubtitleList)'"),
path(),
2
).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_SUBTITLE_START_TIME, canonical(dir / "subs.mxf")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::INVALID_SUBTITLE_ISSUE_DATE, string{"2020-05-09T00:29:21.000+02:00"}
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::INCORRECT_SUBTITLE_NAMESPACE_COUNT, asset->id()
- ).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_SUBTITLE_START_TIME, canonical(dir / "subs.mxf")).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_SUBTITLE_ISSUE_DATE, string{"2020-05-09T00:29:21.000+02:00"}).set_cpl_id(cpl->id()),
+ VN(VC::INCORRECT_SUBTITLE_NAMESPACE_COUNT, asset->id()).set_cpl_id(cpl->id()),
});
}
@@ -1543,30 +1443,18 @@ BOOST_AUTO_TEST_CASE (verify_empty_text_node_in_subtitles)
{ dir },
{},
{
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- VN(
- VN::Type::WARNING, VC::EMPTY_TEXT
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::INVALID_SUBTITLE_FIRST_TEXT_TIME
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_SUBTITLE_LANGUAGE, canonical(dir / "subs.mxf")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::INVALID_SUBTITLE_ISSUE_DATE, string{"2021-08-09T18:34:46.000+02:00"}
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::INCORRECT_SUBTITLE_NAMESPACE_COUNT, asset->id()
- ).set_cpl_id(cpl->id())
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ VN(VC::EMPTY_TEXT).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_SUBTITLE_FIRST_TEXT_TIME).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_SUBTITLE_LANGUAGE, canonical(dir / "subs.mxf")).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_SUBTITLE_ISSUE_DATE, string{"2021-08-09T18:34:46.000+02:00"}).set_cpl_id(cpl->id()),
+ VN(VC::INCORRECT_SUBTITLE_NAMESPACE_COUNT, asset->id()).set_cpl_id(cpl->id())
});
}
@@ -1588,15 +1476,13 @@ BOOST_AUTO_TEST_CASE (verify_empty_text_node_in_subtitles_with_child_nodes)
{ dir },
{},
{
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- { VN::Type::BV21_ERROR, VC::INVALID_STANDARD },
- VN(
- VN::Type::ERROR, VC::MISSING_FONT, string{"font0"}
- ).set_cpl_id(cpl->id())
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ { VC::INVALID_STANDARD },
+ VN(VC::MISSING_FONT, string{"font0"}).set_cpl_id(cpl->id())
});
}
@@ -1618,21 +1504,15 @@ BOOST_AUTO_TEST_CASE (verify_empty_text_node_in_subtitles_with_empty_child_nodes
{ dir },
{},
{
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::ERROR, VC::MISSING_SUBTITLE, asset->id(), boost::filesystem::canonical(asset->file().get())
- ).set_cpl_id(cpl->id()),
- { VN::Type::BV21_ERROR, VC::INVALID_STANDARD },
- VN(
- VN::Type::WARNING, VC::EMPTY_TEXT
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::ERROR, VC::MISSING_FONT, string{"font0"}
- ).set_cpl_id(cpl->id())
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::MISSING_SUBTITLE, asset->id(), boost::filesystem::canonical(asset->file().get())).set_cpl_id(cpl->id()),
+ { VC::INVALID_STANDARD },
+ VN(VC::EMPTY_TEXT).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_FONT, string{"font0"}).set_cpl_id(cpl->id())
});
}
@@ -1663,16 +1543,14 @@ BOOST_AUTO_TEST_CASE (verify_external_asset)
{ vf_dir },
{},
{
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- { VN::Type::WARNING, VC::EXTERNAL_ASSET, picture->asset()->id() },
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ { VC::EXTERNAL_ASSET, picture->asset()->id() },
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -1746,27 +1624,25 @@ BOOST_AUTO_TEST_CASE (verify_invalid_cpl_metadata_bad_tag)
{ dir },
{},
{
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "pic.mxf"), cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "pic.mxf"), cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1440x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "pic.mxf"), cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "pic.mxf"), cpl),
VN(
- VN::Type::ERROR, VC::INVALID_XML, string("no declaration found for element 'meta:MainSoundXConfiguration'"), canonical(cpl->file().get()), 50
+ VC::INVALID_XML, string("no declaration found for element 'meta:MainSoundXConfiguration'"), canonical(cpl->file().get()), 50
).set_cpl_id(cpl->id()),
VN(
- VN::Type::ERROR, VC::INVALID_XML, string("no declaration found for element 'meta:MainSoundXSampleRate'"), canonical(cpl->file().get()), 51
+ VC::INVALID_XML, string("no declaration found for element 'meta:MainSoundXSampleRate'"), canonical(cpl->file().get()), 51
).set_cpl_id(cpl->id()),
VN(
- VN::Type::ERROR,
VC::INVALID_XML,
string("element 'meta:MainSoundXConfiguration' is not allowed for content model "
"'(Id,AnnotationText?,EditRate,IntrinsicDuration,EntryPoint?,Duration?,"
@@ -1777,7 +1653,7 @@ BOOST_AUTO_TEST_CASE (verify_invalid_cpl_metadata_bad_tag)
canonical(cpl->file().get()),
71).set_cpl_id(cpl->id()),
VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, canonical(cpl->file().get())
+ VC::MISMATCHED_CPL_HASHES, canonical(cpl->file().get())
).set_cpl_id(cpl->id()).set_reference_hash(calc.old_hash()).set_calculated_hash(calc.new_hash())
});
}
@@ -1811,7 +1687,7 @@ BOOST_AUTO_TEST_CASE (verify_invalid_cpl_metadata_missing_tag)
check_verify_result (
{ dir },
{},
- {{ dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::FAILED_READ, string("missing XML tag Width in MainPictureStoredArea") }}
+ {{ dcp::VerificationNote::Code::FAILED_READ, string("missing XML tag Width in MainPictureStoredArea") }}
);
}
@@ -1835,21 +1711,15 @@ BOOST_AUTO_TEST_CASE (verify_invalid_language1)
{ dir },
{},
{
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::INVALID_LANGUAGE, string("badlang")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::INVALID_LANGUAGE, string("wrong-andbad")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ VN(VC::INVALID_LANGUAGE, string("badlang")).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_LANGUAGE, string("wrong-andbad")).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -1874,21 +1744,15 @@ BOOST_AUTO_TEST_CASE (verify_invalid_language2)
{dir},
{},
{
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::INVALID_LANGUAGE, string("badlang")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::INVALID_LANGUAGE, string("wrong-andbad")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ VN(VC::INVALID_LANGUAGE, string("badlang")).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_LANGUAGE, string("wrong-andbad")).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -1932,32 +1796,23 @@ BOOST_AUTO_TEST_CASE (verify_invalid_language3)
{ dir },
{},
{
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "videofoo.mxf"), cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "videofoo.mxf"), cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1440x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "videofoo.mxf"), cpl),
- VN(
- VN::Type::BV21_ERROR, VC::INVALID_LANGUAGE, string("this-is-wrong")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::INVALID_LANGUAGE, string("andso-is-this")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::INVALID_LANGUAGE, string("fred-jim")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::INVALID_LANGUAGE, string("frobozz")
- ).set_cpl_id(cpl->id()),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "videofoo.mxf"), cpl),
+ VN(VC::INVALID_LANGUAGE, string("this-is-wrong")).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_LANGUAGE, string("andso-is-this")).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_LANGUAGE, string("fred-jim")).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_LANGUAGE, string("frobozz")).set_cpl_id(cpl->id()),
});
}
@@ -2031,20 +1886,19 @@ check_picture_size_ok (int width, int height, int frame_rate, bool three_d)
using VC = VN::Code;
std::vector<VN> expected = {
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
dcp::String::compose("%1x%2", width, height),
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl)
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl)
};
check_verify_result(notes, expected);
}
@@ -2063,23 +1917,20 @@ check_picture_size_bad_frame_size (int width, int height, int frame_rate, bool t
using VC = VN::Code;
std::vector<VN> expected = {
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
dcp::String::compose("%1x%2", width, height),
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- VN(
- VN::Type::BV21_ERROR, VC::INVALID_PICTURE_SIZE_IN_PIXELS, dcp::String::compose("%1x%2", width, height), canonical(dir / "video.mxf")
- ).set_cpl_id(cpl->id())
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ VN(VC::INVALID_PICTURE_SIZE_IN_PIXELS, dcp::String::compose("%1x%2", width, height), canonical(dir / "video.mxf")).set_cpl_id(cpl->id())
};
check_verify_result(notes, expected);
}
@@ -2098,26 +1949,21 @@ check_picture_size_bad_2k_frame_rate (int width, int height, int frame_rate, boo
using VC = VN::Code;
std::vector<VN> expected = {
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
dcp::String::compose("%1x%2", width, height),
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- VN(
- VN::Type::ERROR, VC::INVALID_PICTURE_FRAME_RATE, dcp::String::compose("%1/1", frame_rate * (three_d ? 2 : 1))
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::INVALID_PICTURE_FRAME_RATE_FOR_2K, dcp::String::compose("%1/1", frame_rate), canonical(dir / "video.mxf")
- ).set_cpl_id(cpl->id())
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ VN(VC::INVALID_PICTURE_FRAME_RATE, dcp::String::compose("%1/1", frame_rate * (three_d ? 2 : 1))).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_PICTURE_FRAME_RATE_FOR_2K, dcp::String::compose("%1/1", frame_rate), canonical(dir / "video.mxf")).set_cpl_id(cpl->id())
};
check_verify_result(notes, expected);
@@ -2137,23 +1983,20 @@ check_picture_size_bad_4k_frame_rate (int width, int height, int frame_rate, boo
using VC = VN::Code;
std::vector<VN> expected = {
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
dcp::String::compose("%1x%2", width, height),
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- VN(
- VN::Type::BV21_ERROR, VC::INVALID_PICTURE_FRAME_RATE_FOR_4K, dcp::String::compose("%1/1", frame_rate), canonical(dir / "video.mxf")
- ).set_cpl_id(cpl->id())
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ VN(VC::INVALID_PICTURE_FRAME_RATE_FOR_4K, dcp::String::compose("%1/1", frame_rate), canonical(dir / "video.mxf")).set_cpl_id(cpl->id())
};
check_verify_result(notes, expected);
@@ -2211,21 +2054,20 @@ BOOST_AUTO_TEST_CASE (verify_picture_size)
using VC = VN::Code;
std::vector<VN> expected = {
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"3996x2160"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- { VN::Type::BV21_ERROR, VC::INVALID_PICTURE_ASSET_RESOLUTION_FOR_3D },
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ { VC::INVALID_PICTURE_ASSET_RESOLUTION_FOR_3D },
};
}
@@ -2285,27 +2127,16 @@ BOOST_AUTO_TEST_CASE (verify_invalid_closed_caption_xml_size_in_bytes)
{ dir },
{},
{
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_SUBTITLE_START_TIME, canonical(dir / "subs.mxf")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR,
- VC::INVALID_CLOSED_CAPTION_XML_SIZE_IN_BYTES,
- string("419371"),
- canonical(dir / "subs.mxf")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::INVALID_SUBTITLE_FIRST_TEXT_TIME
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ VN(VC::MISSING_SUBTITLE_START_TIME, canonical(dir / "subs.mxf")).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_CLOSED_CAPTION_XML_SIZE_IN_BYTES, string("419371"), canonical(dir / "subs.mxf")).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_SUBTITLE_FIRST_TEXT_TIME).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -2345,30 +2176,23 @@ verify_timed_text_asset_too_large (string name)
{ dir },
{},
{
- ok(dcp::VerificationNote::Code::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(dcp::VerificationNote::Code::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
VN(
- VN::Type::BV21_ERROR, VC::INVALID_TIMED_TEXT_SIZE_IN_BYTES, string("121698284"), canonical(dir / "subs.mxf")
+ VC::INVALID_TIMED_TEXT_SIZE_IN_BYTES, string("121698284"), canonical(dir / "subs.mxf")
).set_cpl_id(cpl->id()),
VN(
- VN::Type::BV21_ERROR,
VC::INVALID_TIMED_TEXT_FONT_SIZE_IN_BYTES,
"121634816",
canonical(dir / "subs.mxf")
).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_SUBTITLE_START_TIME, canonical(dir / "subs.mxf")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::INVALID_SUBTITLE_FIRST_TEXT_TIME
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ VN(VC::MISSING_SUBTITLE_START_TIME, canonical(dir / "subs.mxf")).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_SUBTITLE_FIRST_TEXT_TIME).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -2426,26 +2250,21 @@ BOOST_AUTO_TEST_CASE (verify_missing_subtitle_language)
{ dir },
{},
{
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_SUBTITLE_LANGUAGE, canonical(dir / "subs.mxf")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::INVALID_SUBTITLE_FIRST_TEXT_TIME
- ).set_cpl_id(cpl->id())
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ VN(VC::MISSING_SUBTITLE_LANGUAGE, canonical(dir / "subs.mxf")).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_SUBTITLE_FIRST_TEXT_TIME).set_cpl_id(cpl->id())
});
}
@@ -2486,31 +2305,24 @@ BOOST_AUTO_TEST_CASE (verify_mismatched_subtitle_languages)
{ path },
{},
{
- ok(VC::CORRECT_PICTURE_HASH, canonical(path / "video0.mxf"), cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(path / "video1.mxf"), cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(path / "video0.mxf"), cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(path / "video1.mxf"), cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(path / "video0.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(path / "video1.mxf"), cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_SUBTITLE_START_TIME, canonical(path / "subs1.mxf")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_SUBTITLE_START_TIME, canonical(path / "subs2.mxf")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISMATCHED_SUBTITLE_LANGUAGES
- ).set_cpl_id(cpl->id()),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(path / "video0.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(path / "video1.mxf"), cpl),
+ VN(VC::MISSING_SUBTITLE_START_TIME, canonical(path / "subs1.mxf")).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_SUBTITLE_START_TIME, canonical(path / "subs2.mxf")).set_cpl_id(cpl->id()),
+ VN(VC::MISMATCHED_SUBTITLE_LANGUAGES).set_cpl_id(cpl->id()),
});
}
@@ -2551,28 +2363,23 @@ BOOST_AUTO_TEST_CASE (verify_multiple_closed_caption_languages_allowed)
{ path },
{},
{
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(path / "video0.mxf"), cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(path / "video1.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(path / "video0.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(path / "video1.mxf"), cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_SUBTITLE_START_TIME, canonical(path / "subs1.mxf")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_SUBTITLE_START_TIME, canonical(path / "subs2.mxf")
- ).set_cpl_id(cpl->id())
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(path / "video0.mxf"), cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(path / "video1.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(path / "video0.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(path / "video1.mxf"), cpl),
+ VN(VC::MISSING_SUBTITLE_START_TIME, canonical(path / "subs1.mxf")).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_SUBTITLE_START_TIME, canonical(path / "subs2.mxf")).set_cpl_id(cpl->id())
});
}
@@ -2623,26 +2430,21 @@ BOOST_AUTO_TEST_CASE (verify_missing_subtitle_start_time)
{ dir },
{},
{
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_SUBTITLE_START_TIME, canonical(dir / "subs.mxf")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::INVALID_SUBTITLE_FIRST_TEXT_TIME
- ).set_cpl_id(cpl->id())
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ VN(VC::MISSING_SUBTITLE_START_TIME, canonical(dir / "subs.mxf")).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_SUBTITLE_FIRST_TEXT_TIME).set_cpl_id(cpl->id())
});
}
@@ -2694,26 +2496,21 @@ BOOST_AUTO_TEST_CASE (verify_invalid_subtitle_start_time)
{ dir },
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- VN(
- VN::Type::BV21_ERROR, VC::INVALID_SUBTITLE_START_TIME, canonical(dir / "subs.mxf")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::INVALID_SUBTITLE_FIRST_TEXT_TIME
- ).set_cpl_id(cpl->id())
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ VN(VC::INVALID_SUBTITLE_START_TIME, canonical(dir / "subs.mxf")).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_SUBTITLE_FIRST_TEXT_TIME).set_cpl_id(cpl->id())
});
}
@@ -2809,18 +2606,14 @@ BOOST_AUTO_TEST_CASE (verify_invalid_subtitle_first_text_time)
{ dir },
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::WARNING, VC::INVALID_SUBTITLE_FIRST_TEXT_TIME
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::INVALID_SUBTITLE_FIRST_TEXT_TIME).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -2838,15 +2631,13 @@ BOOST_AUTO_TEST_CASE (verify_valid_subtitle_first_text_time)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -2899,15 +2690,13 @@ BOOST_AUTO_TEST_CASE (verify_valid_subtitle_first_text_time_on_second_reel)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -2929,18 +2718,14 @@ BOOST_AUTO_TEST_CASE (verify_invalid_subtitle_spacing)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::WARNING, VC::INVALID_SUBTITLE_SPACING
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::INVALID_SUBTITLE_SPACING).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -2963,15 +2748,13 @@ BOOST_AUTO_TEST_CASE (verify_valid_subtitle_spacing)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -2987,18 +2770,14 @@ BOOST_AUTO_TEST_CASE(verify_invalid_subtitle_duration)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::ERROR, VC::INVALID_SUBTITLE_DURATION
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::INVALID_SUBTITLE_DURATION).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3014,18 +2793,14 @@ BOOST_AUTO_TEST_CASE(verify_invalid_subtitle_duration_bv21)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::WARNING, VC::INVALID_SUBTITLE_DURATION_BV21
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::INVALID_SUBTITLE_DURATION_BV21).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3042,15 +2817,13 @@ BOOST_AUTO_TEST_CASE (verify_valid_subtitle_duration)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3075,24 +2848,16 @@ BOOST_AUTO_TEST_CASE (verify_subtitle_overlapping_reel_boundary)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISMATCHED_TIMED_TEXT_DURATION , "72 96", boost::filesystem::canonical(asset->file().get())
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::INVALID_SUBTITLE_FIRST_TEXT_TIME
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::ERROR, VC::SUBTITLE_OVERLAPS_REEL_BOUNDARY
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::MISMATCHED_TIMED_TEXT_DURATION , "72 96", boost::filesystem::canonical(asset->file().get())).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_SUBTITLE_FIRST_TEXT_TIME).set_cpl_id(cpl->id()),
+ VN(VC::SUBTITLE_OVERLAPS_REEL_BOUNDARY).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3117,18 +2882,14 @@ BOOST_AUTO_TEST_CASE (verify_invalid_subtitle_line_count1)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::WARNING, VC::INVALID_SUBTITLE_LINE_COUNT
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::INVALID_SUBTITLE_LINE_COUNT).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3152,15 +2913,13 @@ BOOST_AUTO_TEST_CASE (verify_valid_subtitle_line_count1)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3185,18 +2944,14 @@ BOOST_AUTO_TEST_CASE (verify_invalid_subtitle_line_count2)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::WARNING, VC::INVALID_SUBTITLE_LINE_COUNT
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::INVALID_SUBTITLE_LINE_COUNT).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3221,15 +2976,13 @@ BOOST_AUTO_TEST_CASE (verify_valid_subtitle_line_count2)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3251,18 +3004,14 @@ BOOST_AUTO_TEST_CASE (verify_invalid_subtitle_line_length1)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::WARNING, VC::NEARLY_INVALID_SUBTITLE_LINE_LENGTH
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::NEARLY_INVALID_SUBTITLE_LINE_LENGTH).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3284,18 +3033,14 @@ BOOST_AUTO_TEST_CASE (verify_invalid_subtitle_line_length2)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::WARNING, VC::INVALID_SUBTITLE_LINE_LENGTH
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::INVALID_SUBTITLE_LINE_LENGTH).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3320,18 +3065,14 @@ BOOST_AUTO_TEST_CASE (verify_valid_closed_caption_line_count1)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::INVALID_CLOSED_CAPTION_LINE_COUNT
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::INVALID_CLOSED_CAPTION_LINE_COUNT).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3355,15 +3096,13 @@ BOOST_AUTO_TEST_CASE (verify_valid_closed_caption_line_count2)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3388,18 +3127,14 @@ BOOST_AUTO_TEST_CASE (verify_invalid_closed_caption_line_count3)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::INVALID_CLOSED_CAPTION_LINE_COUNT
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::INVALID_CLOSED_CAPTION_LINE_COUNT).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3424,15 +3159,13 @@ BOOST_AUTO_TEST_CASE (verify_valid_closed_caption_line_count4)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3454,15 +3187,13 @@ BOOST_AUTO_TEST_CASE (verify_valid_closed_caption_line_length)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3484,18 +3215,14 @@ BOOST_AUTO_TEST_CASE (verify_invalid_closed_caption_line_length)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::INVALID_CLOSED_CAPTION_LINE_LENGTH
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::INVALID_CLOSED_CAPTION_LINE_LENGTH).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3519,15 +3246,13 @@ BOOST_AUTO_TEST_CASE (verify_mismatched_closed_caption_valign1)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3551,18 +3276,14 @@ BOOST_AUTO_TEST_CASE (verify_mismatched_closed_caption_valign2)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::ERROR, VC::MISMATCHED_CLOSED_CAPTION_VALIGN
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::MISMATCHED_CLOSED_CAPTION_VALIGN).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3586,15 +3307,13 @@ BOOST_AUTO_TEST_CASE (verify_incorrect_closed_caption_ordering1)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3618,15 +3337,13 @@ BOOST_AUTO_TEST_CASE (verify_incorrect_closed_caption_ordering2)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3642,18 +3359,14 @@ BOOST_AUTO_TEST_CASE (verify_incorrect_closed_caption_ordering3)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::ERROR, VC::INCORRECT_CLOSED_CAPTION_ORDERING
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::INCORRECT_CLOSED_CAPTION_ORDERING).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3670,15 +3383,13 @@ BOOST_AUTO_TEST_CASE (verify_incorrect_closed_caption_ordering4)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3711,20 +3422,16 @@ BOOST_AUTO_TEST_CASE (verify_invalid_sound_frame_rate)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "videofoo.mxf"), cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "videofoo.mxf"), cpl),
- VN(
- VN::Type::BV21_ERROR, VC::INVALID_SOUND_FRAME_RATE, string("96000"), canonical(dir / "audiofoo.mxf")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "videofoo.mxf"), cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "videofoo.mxf"), cpl),
+ VN(VC::INVALID_SOUND_FRAME_RATE, string("96000"), canonical(dir / "audiofoo.mxf")).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3754,23 +3461,20 @@ BOOST_AUTO_TEST_CASE (verify_missing_cpl_annotation_text)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ VN(VC::MISSING_CPL_ANNOTATION_TEXT, canonical(cpl->file().get())).set_cpl_id(cpl->id()),
VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_ANNOTATION_TEXT, canonical(cpl->file().get())
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, canonical(cpl->file().get())
+ VC::MISMATCHED_CPL_HASHES, canonical(cpl->file().get())
).set_cpl_id(cpl->id()).set_reference_hash(calc.old_hash()).set_calculated_hash(calc.new_hash())
});
}
@@ -3800,23 +3504,20 @@ BOOST_AUTO_TEST_CASE (verify_mismatched_cpl_annotation_text)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::WARNING, VC::MISMATCHED_CPL_ANNOTATION_TEXT, canonical(cpl->file().get())
- ).set_cpl_id(cpl->id()),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::MISMATCHED_CPL_ANNOTATION_TEXT, canonical(cpl->file().get())).set_cpl_id(cpl->id()),
VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, canonical(cpl->file().get())
+ VC::MISMATCHED_CPL_HASHES, canonical(cpl->file().get())
).set_reference_hash(calc.old_hash()).set_calculated_hash(calc.new_hash()).set_cpl_id(cpl->id())
});
}
@@ -3851,20 +3552,16 @@ BOOST_AUTO_TEST_CASE (verify_mismatched_asset_duration)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISMATCHED_ASSET_DURATION
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, canonical(cpl->file().get())
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ VN(VC::MISMATCHED_ASSET_DURATION).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, canonical(cpl->file().get())).set_cpl_id(cpl->id())
});
}
@@ -3938,22 +3635,18 @@ BOOST_AUTO_TEST_CASE (verify_missing_main_subtitle_from_some_reels)
{ dir },
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video1.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video2.mxf"), cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video1.mxf"), cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video2.mxf"), cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_MAIN_SUBTITLE_FROM_SOME_REELS
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video1.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video2.mxf"), cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video1.mxf"), cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video2.mxf"), cpl),
+ VN(VC::MISSING_MAIN_SUBTITLE_FROM_SOME_REELS).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3965,19 +3658,17 @@ BOOST_AUTO_TEST_CASE (verify_missing_main_subtitle_from_some_reels)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video1.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video2.mxf"), cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video1.mxf"), cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video2.mxf"), cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video1.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video2.mxf"), cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video1.mxf"), cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video2.mxf"), cpl),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -3988,19 +3679,17 @@ BOOST_AUTO_TEST_CASE (verify_missing_main_subtitle_from_some_reels)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video1.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video2.mxf"), cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video1.mxf"), cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video2.mxf"), cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video1.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video2.mxf"), cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video1.mxf"), cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video2.mxf"), cpl),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
}
@@ -4073,22 +3762,18 @@ BOOST_AUTO_TEST_CASE (verify_mismatched_closed_caption_asset_counts)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video1.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video2.mxf"), cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video1.mxf"), cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video2.mxf"), cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISMATCHED_CLOSED_CAPTION_ASSET_COUNTS
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video1.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video2.mxf"), cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video1.mxf"), cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video2.mxf"), cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ VN(VC::MISMATCHED_CLOSED_CAPTION_ASSET_COUNTS).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -4099,19 +3784,17 @@ BOOST_AUTO_TEST_CASE (verify_mismatched_closed_caption_asset_counts)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video1.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video2.mxf"), cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video1.mxf"), cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video2.mxf"), cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video1.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video2.mxf"), cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video1.mxf"), cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video2.mxf"), cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -4122,19 +3805,17 @@ BOOST_AUTO_TEST_CASE (verify_mismatched_closed_caption_asset_counts)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video1.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video2.mxf"), cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video1.mxf"), cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video2.mxf"), cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video1.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video2.mxf"), cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video1.mxf"), cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video2.mxf"), cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
}
@@ -4181,20 +3862,16 @@ verify_text_entry_point_check(dcp::TextType type, path dir, dcp::VerificationNot
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- VN(
- VN::Type::BV21_ERROR, code, subs->id()
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ VN(code, subs->id()).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -4271,25 +3948,22 @@ BOOST_AUTO_TEST_CASE (verify_missing_hash)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, cpl->file().get()
+ VC::MISMATCHED_CPL_HASHES, cpl->file().get()
).set_cpl_id(cpl->id()).set_reference_hash(calc.old_hash()).set_calculated_hash(calc.new_hash()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_HASH, asset_id
- ).set_cpl_id(cpl->id())
+ VN(VC::MISSING_HASH, asset_id).set_cpl_id(cpl->id())
});
}
@@ -4319,22 +3993,21 @@ verify_markers_test (
using VN = dcp::VerificationNote;
using VC = VN::Code;
- test_notes.push_back(ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl));
- test_notes.push_back(ok(VC::MATCHING_CPL_HASHES, cpl));
- test_notes.push_back(ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl));
- test_notes.push_back(ok(VC::NONE_ENCRYPTED, cpl));
+ test_notes.push_back(note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl));
+ test_notes.push_back(note(VC::MATCHING_CPL_HASHES, cpl));
+ test_notes.push_back(note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl));
+ test_notes.push_back(note(VC::NONE_ENCRYPTED, cpl));
test_notes.push_back(
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id())
);
- test_notes.push_back(ok(VC::VALID_CONTENT_KIND, string{"feature"}, cpl));
- test_notes.push_back(ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl));
- test_notes.push_back(ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl));
- test_notes.push_back(ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl));
+ test_notes.push_back(note(VC::VALID_CONTENT_KIND, string{"feature"}, cpl));
+ test_notes.push_back(note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl));
+ test_notes.push_back(note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl));
+ test_notes.push_back(note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl));
check_verify_result({dir}, {}, test_notes);
}
@@ -4364,7 +4037,7 @@ BOOST_AUTO_TEST_CASE (verify_markers)
{ dcp::Marker::LFOC, dcp::Time(23, 24, 24) }
},
{
- { VN::Type::BV21_ERROR, VC::MISSING_FFEC_IN_FEATURE }
+ { VC::MISSING_FFEC_IN_FEATURE }
});
verify_markers_test (
@@ -4375,7 +4048,7 @@ BOOST_AUTO_TEST_CASE (verify_markers)
{ dcp::Marker::LFOC, dcp::Time(23, 24, 24) }
},
{
- { VN::Type::BV21_ERROR, VC::MISSING_FFMC_IN_FEATURE }
+ { VC::MISSING_FFMC_IN_FEATURE }
});
verify_markers_test (
@@ -4386,7 +4059,7 @@ BOOST_AUTO_TEST_CASE (verify_markers)
{ dcp::Marker::LFOC, dcp::Time(23, 24, 24) }
},
{
- { VN::Type::WARNING, VC::MISSING_FFOC}
+ { VC::MISSING_FFOC}
});
verify_markers_test (
@@ -4397,7 +4070,7 @@ BOOST_AUTO_TEST_CASE (verify_markers)
{ dcp::Marker::FFOC, dcp::Time(1, 24, 24) }
},
{
- { VN::Type::WARNING, VC::MISSING_LFOC }
+ { VC::MISSING_LFOC }
});
verify_markers_test (
@@ -4409,7 +4082,7 @@ BOOST_AUTO_TEST_CASE (verify_markers)
{ dcp::Marker::LFOC, dcp::Time(23, 24, 24) }
},
{
- { VN::Type::WARNING, VC::INCORRECT_FFOC, string("3") }
+ { VC::INCORRECT_FFOC, string("3") }
});
verify_markers_test (
@@ -4421,7 +4094,7 @@ BOOST_AUTO_TEST_CASE (verify_markers)
{ dcp::Marker::LFOC, dcp::Time(18, 24, 24) }
},
{
- { VN::Type::WARNING, VC::INCORRECT_LFOC, string("18") }
+ { VC::INCORRECT_LFOC, string("18") }
});
}
@@ -4442,23 +4115,20 @@ BOOST_AUTO_TEST_CASE (verify_missing_cpl_metadata_version_number)
{dir},
{},
{
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA_VERSION_NUMBER, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ VN(VC::MISSING_CPL_METADATA_VERSION_NUMBER, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -4486,25 +4156,22 @@ BOOST_AUTO_TEST_CASE (verify_missing_extension_metadata1)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, cpl->file().get()
+ VC::MISMATCHED_CPL_HASHES, cpl->file().get()
).set_cpl_id(cpl->id()).set_reference_hash(calc.old_hash()).set_calculated_hash(calc.new_hash()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_EXTENSION_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ VN(VC::MISSING_EXTENSION_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -4531,25 +4198,22 @@ BOOST_AUTO_TEST_CASE (verify_missing_extension_metadata2)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, cpl->file().get()
+ VC::MISMATCHED_CPL_HASHES, cpl->file().get()
).set_cpl_id(cpl->id()).set_reference_hash(calc.old_hash()).set_calculated_hash(calc.new_hash()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_EXTENSION_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ VN(VC::MISSING_EXTENSION_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -4577,26 +4241,25 @@ BOOST_AUTO_TEST_CASE (verify_invalid_xml_cpl_extension_metadata3)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
VN(
- VN::Type::ERROR, VC::INVALID_XML, string("no declaration found for element 'meta:NameX'"), cpl->file().get(), 70
+ VC::INVALID_XML, string("no declaration found for element 'meta:NameX'"), cpl->file().get(), 70
).set_cpl_id(cpl->id()),
VN(
- VN::Type::ERROR, VC::INVALID_XML, string("element 'meta:NameX' is not allowed for content model '(Name,PropertyList?,)'"), cpl->file().get(), 77).set_cpl_id(cpl->id()),
+ VC::INVALID_XML, string("element 'meta:NameX' is not allowed for content model '(Name,PropertyList?,)'"), cpl->file().get(), 77).set_cpl_id(cpl->id()),
VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, cpl->file().get()
+ VC::MISMATCHED_CPL_HASHES, cpl->file().get()
).set_cpl_id(cpl->id()).set_reference_hash(calc.old_hash()).set_calculated_hash(calc.new_hash()),
});
}
@@ -4624,25 +4287,22 @@ BOOST_AUTO_TEST_CASE (verify_invalid_extension_metadata1)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, cpl->file().get()
+ VC::MISMATCHED_CPL_HASHES, cpl->file().get()
).set_cpl_id(cpl->id()).set_reference_hash(calc.old_hash()).set_calculated_hash(calc.new_hash()),
- VN(
- VN::Type::BV21_ERROR, VC::INVALID_EXTENSION_METADATA, string("<Name> should be 'Application'"), cpl->file().get()
- ).set_cpl_id(cpl->id())
+ VN(VC::INVALID_EXTENSION_METADATA, string("<Name> should be 'Application'"), cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -4669,24 +4329,23 @@ BOOST_AUTO_TEST_CASE (verify_invalid_extension_metadata2)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, cpl->file().get()
+ VC::MISMATCHED_CPL_HASHES, cpl->file().get()
).set_cpl_id(cpl->id()).set_reference_hash(calc.old_hash()).set_calculated_hash(calc.new_hash()),
VN(
- VN::Type::BV21_ERROR, VC::INVALID_EXTENSION_METADATA, string("No correctly-formed DCP Constraints Profile found"), cpl->file().get()
+ VC::INVALID_EXTENSION_METADATA, string("No correctly-formed DCP Constraints Profile found"), cpl->file().get()
).set_cpl_id(cpl->id())
});
}
@@ -4715,30 +4374,29 @@ BOOST_AUTO_TEST_CASE (verify_invalid_xml_cpl_extension_metadata6)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
VN(
- VN::Type::ERROR, VC::INVALID_XML, string("no declaration found for element 'meta:ValueX'"), cpl->file().get(), 74
+ VC::INVALID_XML, string("no declaration found for element 'meta:ValueX'"), cpl->file().get(), 74
).set_cpl_id(cpl->id()),
VN(
- VN::Type::ERROR, VC::INVALID_XML, string("element 'meta:ValueX' is not allowed for content model '(Name,Value)'"), cpl->file().get(), 75
+ VC::INVALID_XML, string("element 'meta:ValueX' is not allowed for content model '(Name,Value)'"), cpl->file().get(), 75
).set_cpl_id(cpl->id()),
VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, cpl->file().get()
+ VC::MISMATCHED_CPL_HASHES, cpl->file().get()
).set_cpl_id(cpl->id()).set_reference_hash(calc.old_hash()).set_calculated_hash(calc.new_hash()),
VN(
- VN::Type::BV21_ERROR, VC::INVALID_EXTENSION_METADATA, string("No correctly-formed DCP Constraints Profile found"), cpl->file().get()
+ VC::INVALID_EXTENSION_METADATA, string("No correctly-formed DCP Constraints Profile found"), cpl->file().get()
).set_cpl_id(cpl->id())
});
}
@@ -4766,24 +4424,23 @@ BOOST_AUTO_TEST_CASE (verify_invalid_xml_cpl_extension_metadata7)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, cpl->file().get()
+ VC::MISMATCHED_CPL_HASHES, cpl->file().get()
).set_cpl_id(cpl->id()).set_reference_hash(calc.old_hash()).set_calculated_hash(calc.new_hash()),
VN(
- VN::Type::BV21_ERROR, VC::INVALID_EXTENSION_METADATA, string("No correctly-formed DCP Constraints Profile found"), cpl->file().get()
+ VC::INVALID_EXTENSION_METADATA, string("No correctly-formed DCP Constraints Profile found"), cpl->file().get()
).set_cpl_id(cpl->id())
});
}
@@ -4812,29 +4469,22 @@ BOOST_AUTO_TEST_CASE (verify_invalid_xml_cpl_extension_metadata8)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- VN(
- VN::Type::OK,
- VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
- string{"1998x1080"},
- cpl->file().get()
- ).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- VN(
- VN::Type::ERROR, VC::INVALID_XML, string("no declaration found for element 'meta:PropertyX'"), cpl->file().get(), 72
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::ERROR, VC::INVALID_XML, string("element 'meta:PropertyX' is not allowed for content model '(Property+)'"), cpl->file().get(), 76).set_cpl_id(cpl->id()),
- VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, cpl->file().get()
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ VN(VC::VALID_MAIN_PICTURE_ACTIVE_AREA, string{"1998x1080"}, cpl->file().get()).set_cpl_id(cpl->id()),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ VN(VC::INVALID_XML, string("no declaration found for element 'meta:PropertyX'"), cpl->file().get(), 72).set_cpl_id(cpl->id()),
+ VN(
+ VC::INVALID_XML, string("element 'meta:PropertyX' is not allowed for content model '(Property+)'"), cpl->file().get(), 76).set_cpl_id(cpl->id()),
+ VN(
+ VC::MISMATCHED_CPL_HASHES, cpl->file().get()
).set_cpl_id(cpl->id()).set_reference_hash(calc.old_hash()).set_calculated_hash(calc.new_hash()),
VN(
- VN::Type::BV21_ERROR, VC::INVALID_EXTENSION_METADATA, string("No correctly-formed DCP Constraints Profile found"), cpl->file().get()
+ VC::INVALID_EXTENSION_METADATA, string("No correctly-formed DCP Constraints Profile found"), cpl->file().get()
).set_cpl_id(cpl->id())
});
}
@@ -4863,27 +4513,26 @@ BOOST_AUTO_TEST_CASE (verify_invalid_xml_cpl_extension_metadata9)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
VN(
- VN::Type::ERROR, VC::INVALID_XML, string("no declaration found for element 'meta:PropertyListX'"), cpl->file().get(), 71
+ VC::INVALID_XML, string("no declaration found for element 'meta:PropertyListX'"), cpl->file().get(), 71
).set_cpl_id(cpl->id()),
VN(
- VN::Type::ERROR, VC::INVALID_XML, string("element 'meta:PropertyListX' is not allowed for content model '(Name,PropertyList?,)'"), cpl->file().get(), 77
+ VC::INVALID_XML, string("element 'meta:PropertyListX' is not allowed for content model '(Name,PropertyList?,)'"), cpl->file().get(), 77
).set_cpl_id(cpl->id()),
VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, cpl->file().get()
+ VC::MISMATCHED_CPL_HASHES, cpl->file().get()
).set_cpl_id(cpl->id()).set_reference_hash(calc.old_hash()).set_calculated_hash(calc.new_hash()),
});
}
@@ -4917,36 +4566,22 @@ BOOST_AUTO_TEST_CASE (verify_unsigned_cpl_with_encrypted_content)
{dir},
{},
{
- ok(VC::ALL_ENCRYPTED, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"feature"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, canonical(cpl_path)
+ note(VC::ALL_ENCRYPTED, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"feature"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ VN(
+ VC::MISMATCHED_CPL_HASHES, canonical(cpl_path)
).set_cpl_id(cpl->id()).set_reference_hash(calc.old_hash()).set_calculated_hash(calc.new_hash()),
- VN(
- VN::Type::BV21_ERROR, VC::MISMATCHED_PKL_ANNOTATION_TEXT_WITH_CPL, encryption_test_pkl_id(), canonical(pkl)
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_FFEC_IN_FEATURE
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_FFMC_IN_FEATURE
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::MISSING_FFOC
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::MISSING_LFOC
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, canonical(cpl_path)
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::UNSIGNED_CPL_WITH_ENCRYPTED_CONTENT, canonical(cpl_path)
- ).set_cpl_id(cpl->id())
+ VN(VC::MISMATCHED_PKL_ANNOTATION_TEXT_WITH_CPL, encryption_test_pkl_id(), canonical(pkl)).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_FFEC_IN_FEATURE).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_FFMC_IN_FEATURE).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_FFOC).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_LFOC).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, canonical(cpl_path)).set_cpl_id(cpl->id()),
+ VN(VC::UNSIGNED_CPL_WITH_ENCRYPTED_CONTENT, canonical(cpl_path)).set_cpl_id(cpl->id())
});
}
@@ -4975,34 +4610,20 @@ BOOST_AUTO_TEST_CASE (verify_unsigned_pkl_with_encrypted_content)
{dir},
{},
{
- ok(VC::ALL_ENCRYPTED, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"feature"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISMATCHED_PKL_ANNOTATION_TEXT_WITH_CPL, encryption_test_pkl_id(), canonical(pkl)
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_FFEC_IN_FEATURE
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_FFMC_IN_FEATURE
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::MISSING_FFOC
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::MISSING_LFOC
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, canonical(cpl_path)
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::UNSIGNED_PKL_WITH_ENCRYPTED_CONTENT, encryption_test_pkl_id(), canonical(pkl)
- )
+ note(VC::ALL_ENCRYPTED, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"feature"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ VN(VC::MISMATCHED_PKL_ANNOTATION_TEXT_WITH_CPL, encryption_test_pkl_id(), canonical(pkl)).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_FFEC_IN_FEATURE).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_FFMC_IN_FEATURE).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_FFOC).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_LFOC).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, canonical(cpl_path)).set_cpl_id(cpl->id()),
+ VN(VC::UNSIGNED_PKL_WITH_ENCRYPTED_CONTENT, encryption_test_pkl_id(), canonical(pkl))
});
}
@@ -5029,20 +4650,19 @@ BOOST_AUTO_TEST_CASE (verify_unsigned_pkl_with_unencrypted_content)
{dir},
{},
{
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
canonical(cpl->file().get())
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
});
}
@@ -5114,21 +4734,18 @@ BOOST_AUTO_TEST_CASE (verify_partially_encrypted)
{},
{
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1440x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- VN(
- VN::Type::BV21_ERROR, VC::PARTIALLY_ENCRYPTED
- ).set_cpl_id(cpl->id())
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ VN(VC::PARTIALLY_ENCRYPTED).set_cpl_id(cpl->id())
});
}
@@ -5231,24 +4848,16 @@ BOOST_AUTO_TEST_CASE (verify_mismatched_subtitle_resource_id)
{ dir },
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISMATCHED_TIMED_TEXT_DURATION , "240 0", boost::filesystem::canonical(subs_mxf)
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISMATCHED_TIMED_TEXT_RESOURCE_ID
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::INVALID_SUBTITLE_FIRST_TEXT_TIME
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ VN(VC::MISMATCHED_TIMED_TEXT_DURATION , "240 0", boost::filesystem::canonical(subs_mxf)).set_cpl_id(cpl->id()),
+ VN(VC::MISMATCHED_TIMED_TEXT_RESOURCE_ID).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_SUBTITLE_FIRST_TEXT_TIME).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -5314,27 +4923,17 @@ BOOST_AUTO_TEST_CASE (verify_incorrect_timed_text_id)
{ dir },
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISMATCHED_TIMED_TEXT_DURATION , "240 0", boost::filesystem::canonical(subs_mxf)
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::INCORRECT_TIMED_TEXT_ASSET_ID
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::INVALID_SUBTITLE_FIRST_TEXT_TIME
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, cpl->file().get()
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::INVALID_SUBTITLE_ISSUE_DATE, string{"2018-10-02T12:25:14+02:00"}
- ).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ VN(VC::MISMATCHED_TIMED_TEXT_DURATION , "240 0", boost::filesystem::canonical(subs_mxf)).set_cpl_id(cpl->id()),
+ VN(VC::INCORRECT_TIMED_TEXT_ASSET_ID).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_SUBTITLE_FIRST_TEXT_TIME).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, cpl->file().get()).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_SUBTITLE_ISSUE_DATE, string{"2018-10-02T12:25:14+02:00"}).set_cpl_id(cpl->id())
});
}
@@ -5354,20 +4953,14 @@ BOOST_AUTO_TEST_CASE (verify_threed_marked_as_twod)
{ path },
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(path / "0d6f57e6-adac-4e1d-bfbe-d162bf13e2cd_j2c.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(path / "0d6f57e6-adac-4e1d-bfbe-d162bf13e2cd_j2c.mxf"), cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- VN(
- VN::Type::WARNING,
- VC::THREED_ASSET_MARKED_AS_TWOD, boost::filesystem::canonical(find_file(path, "j2c"))
- ),
- VN(
- VN::Type::BV21_ERROR,
- VC::INVALID_STANDARD
- )
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(path / "0d6f57e6-adac-4e1d-bfbe-d162bf13e2cd_j2c.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(path / "0d6f57e6-adac-4e1d-bfbe-d162bf13e2cd_j2c.mxf"), cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ VN(VC::THREED_ASSET_MARKED_AS_TWOD, boost::filesystem::canonical(find_file(path, "j2c"))),
+ VN(VC::INVALID_STANDARD)
});
}
@@ -5399,28 +4992,23 @@ BOOST_AUTO_TEST_CASE (verify_unexpected_things_in_main_markers)
{ dir },
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
canonical(cpl->file().get())
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, canonical(find_cpl(dir))
+ VC::MISMATCHED_CPL_HASHES, canonical(find_cpl(dir))
).set_cpl_id(cpl->id()).set_reference_hash(calc.old_hash()).set_calculated_hash(calc.new_hash()),
- VN(
- VN::Type::ERROR, VC::UNEXPECTED_ENTRY_POINT
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::ERROR, VC::UNEXPECTED_DURATION
- ).set_cpl_id(cpl->id())
+ VN(VC::UNEXPECTED_ENTRY_POINT).set_cpl_id(cpl->id()),
+ VN(VC::UNEXPECTED_DURATION).set_cpl_id(cpl->id())
});
}
@@ -5448,23 +5036,21 @@ BOOST_AUTO_TEST_CASE(verify_invalid_content_kind)
{ dir },
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
canonical(cpl->file().get())
).set_cpl_id(cpl->id()),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, canonical(find_cpl(dir))
+ VC::MISMATCHED_CPL_HASHES, canonical(find_cpl(dir))
).set_cpl_id(cpl->id()).set_reference_hash(calc.old_hash()).set_calculated_hash(calc.new_hash()),
- VN(
- VN::Type::ERROR, VC::INVALID_CONTENT_KIND, string("trip")
+ VN(VC::INVALID_CONTENT_KIND, string("trip")
).set_cpl_id(cpl->id()),
});
@@ -5494,20 +5080,19 @@ BOOST_AUTO_TEST_CASE(verify_valid_content_kind)
{ dir },
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
canonical(cpl->file().get())
).set_cpl_id(cpl->id()),
VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, canonical(find_cpl(dir))
+ VC::MISMATCHED_CPL_HASHES, canonical(find_cpl(dir))
).set_cpl_id(cpl->id()).set_reference_hash(calc.old_hash()).set_calculated_hash(calc.new_hash()),
});
}
@@ -5541,21 +5126,21 @@ BOOST_AUTO_TEST_CASE(verify_invalid_main_picture_active_area_1)
{ dir },
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, canonical(find_cpl(dir))
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ VN(
+ VC::MISMATCHED_CPL_HASHES, canonical(find_cpl(dir))
).set_cpl_id(cpl->id()).set_reference_hash(calc.old_hash()).set_calculated_hash(calc.new_hash()),
VN(
- VN::Type::ERROR, VC::INVALID_MAIN_PICTURE_ACTIVE_AREA, "width 1997 is not a multiple of 2", canonical(find_cpl(dir))
+ VC::INVALID_MAIN_PICTURE_ACTIVE_AREA, "width 1997 is not a multiple of 2", canonical(find_cpl(dir))
).set_cpl_id(cpl->id()),
VN(
- VN::Type::ERROR, VC::INVALID_MAIN_PICTURE_ACTIVE_AREA, "height 4080 is bigger than the asset height 1080", canonical(find_cpl(dir))
+ VC::INVALID_MAIN_PICTURE_ACTIVE_AREA, "height 4080 is bigger than the asset height 1080", canonical(find_cpl(dir))
).set_cpl_id(cpl->id()),
});
}
@@ -5589,24 +5174,24 @@ BOOST_AUTO_TEST_CASE(verify_invalid_main_picture_active_area_2)
{ dir },
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- VN(
- VN::Type::ERROR, VC::MISMATCHED_CPL_HASHES, canonical(find_cpl(dir))
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ VN(
+ VC::MISMATCHED_CPL_HASHES, canonical(find_cpl(dir))
).set_cpl_id(cpl->id()).set_reference_hash(calc.old_hash()).set_calculated_hash(calc.new_hash()),
VN(
- VN::Type::ERROR, VC::INVALID_MAIN_PICTURE_ACTIVE_AREA, "height 5125 is not a multiple of 2", canonical(find_cpl(dir))
+ VC::INVALID_MAIN_PICTURE_ACTIVE_AREA, "height 5125 is not a multiple of 2", canonical(find_cpl(dir))
).set_cpl_id(cpl->id()),
VN(
- VN::Type::ERROR, VC::INVALID_MAIN_PICTURE_ACTIVE_AREA, "width 9900 is bigger than the asset width 1998", canonical(find_cpl(dir))
+ VC::INVALID_MAIN_PICTURE_ACTIVE_AREA, "width 9900 is bigger than the asset width 1998", canonical(find_cpl(dir))
).set_cpl_id(cpl->id()),
VN(
- VN::Type::ERROR, VC::INVALID_MAIN_PICTURE_ACTIVE_AREA, "height 5125 is bigger than the asset height 1080", canonical(find_cpl(dir))
+ VC::INVALID_MAIN_PICTURE_ACTIVE_AREA, "height 5125 is bigger than the asset height 1080", canonical(find_cpl(dir))
).set_cpl_id(cpl->id())
});
}
@@ -5636,19 +5221,18 @@ BOOST_AUTO_TEST_CASE(verify_duplicate_pkl_asset_ids)
{ dir },
{},
{
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
canonical(cpl->file().get())
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- { VN::Type::ERROR, VC::DUPLICATE_ASSET_ID_IN_PKL, pkl.id(), canonical(find_pkl(dir)) },
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ { VC::DUPLICATE_ASSET_ID_IN_PKL, pkl.id(), canonical(find_pkl(dir)) },
});
}
@@ -5678,23 +5262,22 @@ BOOST_AUTO_TEST_CASE(verify_duplicate_assetmap_asset_ids)
{ dir },
{},
{
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
canonical(cpl->file().get())
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::ERROR, VC::DUPLICATE_ASSET_ID_IN_ASSETMAP, asset_map.id(), canonical(find_asset_map(dir))
+ VC::DUPLICATE_ASSET_ID_IN_ASSETMAP, asset_map.id(), canonical(find_asset_map(dir))
),
VN(
- VN::Type::WARNING, VC::EXTERNAL_ASSET, string("5407b210-4441-4e97-8b16-8bdc7c12da54")
+ VC::EXTERNAL_ASSET, string("5407b210-4441-4e97-8b16-8bdc7c12da54")
)
});
}
@@ -5771,24 +5354,23 @@ BOOST_AUTO_TEST_CASE(verify_mismatched_sound_channel_counts)
{ path },
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(path / "video1.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(path / "video1.mxf"), cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(path / "video2.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(path / "video2.mxf"), cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(path / "video1.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(path / "video1.mxf"), cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(path / "video2.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(path / "video2.mxf"), cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
VN(
- VN::Type::ERROR, VC::MISMATCHED_SOUND_CHANNEL_COUNTS, canonical(find_file(path, "audio2"))
+ VC::MISMATCHED_SOUND_CHANNEL_COUNTS, canonical(find_file(path, "audio2"))
).set_cpl_id(cpl->id())
});
}
@@ -5843,22 +5425,20 @@ BOOST_AUTO_TEST_CASE(verify_invalid_main_sound_configuration)
{ path },
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(path / "video1.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(path / "video1.mxf"), cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(path / "video1.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(path / "video1.mxf"), cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
VN(
- VN::Type::ERROR,
VC::INVALID_MAIN_SOUND_CONFIGURATION,
std::string{"MainSoundConfiguration has 6 channels but sound assets have 2"},
canonical(find_cpl(path))
@@ -5921,31 +5501,25 @@ BOOST_AUTO_TEST_CASE(verify_invalid_tile_part_size)
using VC = VN::Code;
vector<VN> expected = {
- ok(VC::NONE_ENCRYPTED, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::CORRECT_PICTURE_HASH, canonical(path / "video.mxf"), cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- VN(
- VN::Type::WARNING, VC::MISSING_FFOC
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::MISSING_LFOC
- ).set_cpl_id(cpl->id())
+ note(VC::CORRECT_PICTURE_HASH, canonical(path / "video.mxf"), cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ VN(VC::MISSING_FFOC).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_LFOC).set_cpl_id(cpl->id())
};
for (auto frame = 0; frame < 24; frame++) {
expected.push_back(
- VN(
- VN::Type::ERROR, VC::INVALID_PICTURE_FRAME_SIZE_IN_BYTES, canonical(path / "video.mxf")
+ VN(VC::INVALID_PICTURE_FRAME_SIZE_IN_BYTES, canonical(path / "video.mxf")
).set_frame(frame).set_frame_rate(24).set_cpl_id(cpl->id())
);
}
@@ -5960,7 +5534,7 @@ BOOST_AUTO_TEST_CASE(verify_invalid_tile_part_size)
for (auto component = 0; component < 3; component++) {
expected.push_back(
VN(
- VN::Type::ERROR, VC::INVALID_JPEG2000_TILE_PART_SIZE
+ VC::INVALID_JPEG2000_TILE_PART_SIZE
).set_frame(frame).set_frame_rate(24).set_component(component).set_size(component_sizes[component]).set_cpl_id(cpl->id())
);
}
@@ -5985,32 +5559,20 @@ BOOST_AUTO_TEST_CASE(verify_too_many_subtitle_namespaces)
{ dir },
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"feature"}, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"Dcp_FTR-1_F_XX-XX_MOS_2K_20230407_SMPTE_OV"}, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "j2c_42b34dcd-caa5-4c7b-aa0f-66a590947ba1.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "j2c_42b34dcd-caa5-4c7b-aa0f-66a590947ba1.mxf"), cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_FFEC_IN_FEATURE
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_FFMC_IN_FEATURE
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::INVALID_SUBTITLE_FIRST_TEXT_TIME
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_SUBTITLE_LANGUAGE, canonical(find_file(dir, "sub_"))
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, canonical(find_file(dir, "cpl_"))
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::INCORRECT_SUBTITLE_NAMESPACE_COUNT, std::string{"315de731-1173-484c-9a35-bdacf5a9d99d"}
- ).set_cpl_id(cpl->id()),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"feature"}, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"Dcp_FTR-1_F_XX-XX_MOS_2K_20230407_SMPTE_OV"}, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "j2c_42b34dcd-caa5-4c7b-aa0f-66a590947ba1.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "j2c_42b34dcd-caa5-4c7b-aa0f-66a590947ba1.mxf"), cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::MISSING_FFEC_IN_FEATURE).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_FFMC_IN_FEATURE).set_cpl_id(cpl->id()),
+ VN(VC::INVALID_SUBTITLE_FIRST_TEXT_TIME).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_SUBTITLE_LANGUAGE, canonical(find_file(dir, "sub_"))).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, canonical(find_file(dir, "cpl_"))).set_cpl_id(cpl->id()),
+ VN(VC::INCORRECT_SUBTITLE_NAMESPACE_COUNT, std::string{"315de731-1173-484c-9a35-bdacf5a9d99d"}).set_cpl_id(cpl->id()),
});
}
@@ -6035,13 +5597,13 @@ BOOST_AUTO_TEST_CASE(verify_missing_load_font_for_font)
{dir},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- { VN::Type::BV21_ERROR, VC::INVALID_STANDARD },
- VN(VN::Type::ERROR, VC::MISSING_LOAD_FONT_FOR_FONT).set_id("theFontId").set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ { VC::INVALID_STANDARD },
+ VN(VC::MISSING_LOAD_FONT_FOR_FONT).set_id("theFontId").set_cpl_id(cpl->id())
});
}
@@ -6093,21 +5655,20 @@ BOOST_AUTO_TEST_CASE(verify_missing_load_font)
{ dir },
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- VN(VN::Type::ERROR, VC::MISSING_LOAD_FONT).set_id(reel_subs->id()).set_cpl_id(cpl->id())
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ VN(VC::MISSING_LOAD_FONT).set_id(reel_subs->id()).set_cpl_id(cpl->id())
});
}
@@ -6137,19 +5698,18 @@ BOOST_AUTO_TEST_CASE(verify_spots_wrong_asset)
{dir / "1"},
{},
{
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- VN(VN::Type::ERROR, VC::MISMATCHED_ASSET_MAP_ID).set_id(asset_1).set_other_id(asset_2)
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ VN(VC::MISMATCHED_ASSET_MAP_ID).set_id(asset_1).set_other_id(asset_2)
});
}
@@ -6173,19 +5733,18 @@ BOOST_AUTO_TEST_CASE(verify_cpl_content_version_label_text_empty)
{},
{
VN(
- VN::Type::OK,
VC::VALID_MAIN_PICTURE_ACTIVE_AREA,
string{"1998x1080"},
cpl->file().get()
).set_cpl_id(cpl->id()),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
- VN(VN::Type::WARNING, VC::EMPTY_CONTENT_VERSION_LABEL_TEXT, cpl->file().get()).set_cpl_id(cpl->id())
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"A Test DCP"}, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "video.mxf"), cpl),
+ VN(VC::EMPTY_CONTENT_VERSION_LABEL_TEXT, cpl->file().get()).set_cpl_id(cpl->id())
});
}
@@ -6211,15 +5770,13 @@ BOOST_AUTO_TEST_CASE(verify_encrypted_smpte_dcp)
{ dir },
{ kdm },
{
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- ok(VC::ALL_ENCRYPTED, cpl),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, canonical(cpl_file)
- ).set_cpl_id(cpl->id())
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ note(VC::ALL_ENCRYPTED, cpl),
+ VN(VC::MISSING_CPL_METADATA, canonical(cpl_file)).set_cpl_id(cpl->id())
});
}
@@ -6242,24 +5799,16 @@ BOOST_AUTO_TEST_CASE(verify_encrypted_smpte_dcp_without_kdm)
{ dir },
{},
{
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::ALL_ENCRYPTED, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
- VN(
- VN::Type::WARNING, VC::MISSED_CHECK_OF_ENCRYPTED
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::MISSED_CHECK_OF_ENCRYPTED
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::MISSED_CHECK_OF_ENCRYPTED
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, canonical(cpl_file)
- ).set_cpl_id(cpl->id()),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::ALL_ENCRYPTED, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpl),
+ VN(VC::MISSED_CHECK_OF_ENCRYPTED).set_cpl_id(cpl->id()),
+ VN(VC::MISSED_CHECK_OF_ENCRYPTED).set_cpl_id(cpl->id()),
+ VN(VC::MISSED_CHECK_OF_ENCRYPTED).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, canonical(cpl_file)).set_cpl_id(cpl->id()),
});
}
@@ -6274,40 +5823,24 @@ BOOST_AUTO_TEST_CASE(verify_invalid_sound_bit_depth)
using VC = VN::Code;
vector<VN> notes = {
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
- ok(VC::MATCHING_CPL_HASHES, cpl),
- ok(VC::VALID_CONTENT_KIND, string{"Advertisement"}, cpl),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"204794_Kitex_Scoobee_Day_Bags_30_Sec_Malayalam_220524_RADQR"}, cpl),
- ok(VC::NONE_ENCRYPTED, cpl),
- ok(VC::CORRECT_PICTURE_HASH, canonical(dir / "Video.mxf"), cpl),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "Video.mxf"), cpl),
- VN(
- VN::Type::ERROR, VC::INVALID_SOUND_BIT_DEPTH, "16", canonical(dir / "Audio.mxf")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_HASH, string("fd4796c2-9c84-454c-91f4-13ad127cea8a")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_HASH, string("9d5e8bc4-676b-4306-a86d-03f70c73b457")
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::BV21_ERROR, VC::MISSING_CPL_METADATA, canonical(cpl->file().get())
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::MISSING_FFOC
- ).set_cpl_id(cpl->id()),
- VN(
- VN::Type::WARNING, VC::MISSING_LFOC
- ).set_cpl_id(cpl->id()),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpl),
+ note(VC::MATCHING_CPL_HASHES, cpl),
+ note(VC::VALID_CONTENT_KIND, string{"Advertisement"}, cpl),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpl->content_version()->label_text, cpl),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"204794_Kitex_Scoobee_Day_Bags_30_Sec_Malayalam_220524_RADQR"}, cpl),
+ note(VC::NONE_ENCRYPTED, cpl),
+ note(VC::CORRECT_PICTURE_HASH, canonical(dir / "Video.mxf"), cpl),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(dir / "Video.mxf"), cpl),
+ VN(VC::INVALID_SOUND_BIT_DEPTH, "16", canonical(dir / "Audio.mxf")).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_HASH, string("fd4796c2-9c84-454c-91f4-13ad127cea8a")).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_HASH, string("9d5e8bc4-676b-4306-a86d-03f70c73b457")).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_CPL_METADATA, canonical(cpl->file().get())).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_FFOC).set_cpl_id(cpl->id()),
+ VN(VC::MISSING_LFOC).set_cpl_id(cpl->id()),
};
for (auto i = 0; i < 792; ++i) {
- notes.push_back(
- VN(
- VN::Type::BV21_ERROR, VC::INVALID_JPEG2000_GUARD_BITS_FOR_2K, string("2")
- ).set_cpl_id(cpl->id())
- );
+ notes.push_back(VN(VC::INVALID_JPEG2000_GUARD_BITS_FOR_2K, string("2")).set_cpl_id(cpl->id()));
}
check_verify_result({ dir }, {}, notes);
@@ -6438,30 +5971,24 @@ BOOST_AUTO_TEST_CASE(verify_dcp_with_two_cpls)
using VC = VN::Code;
check_verify_result_with_duplicates({combined}, {}, {
- ok(VC::MATCHING_CPL_HASHES, cpls[0]),
- ok(VC::MATCHING_CPL_HASHES, cpls[1]),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpls[0]),
- ok(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpls[1]),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpls[0]),
- ok(VC::VALID_CONTENT_KIND, string{"trailer"}, cpls[1]),
- ok(VC::NONE_ENCRYPTED, cpls[0]),
- ok(VC::NONE_ENCRYPTED, cpls[1]),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpls[0]),
- ok(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpls[1]),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpls[0]->content_version()->label_text, cpls[0]),
- ok(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpls[1]->content_version()->label_text, cpls[1]),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(combined / "videofoo.mxf"), cpls[0]),
- ok(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(combined / "videofoo0.mxf"), cpls[1]),
- ok(VC::CORRECT_PICTURE_HASH, canonical(combined / "videofoo.mxf"), cpls[0]),
- ok(VC::CORRECT_PICTURE_HASH, canonical(combined / "videofoo0.mxf"), cpls[1]),
- VN(
- VN::Type::BV21_ERROR,
- VC::MISSING_CPL_METADATA,
- canonical(combined / cpls[0]->file()->filename())).set_cpl_id(cpls[0]->id()),
- VN(
- VN::Type::BV21_ERROR,
- VC::MISSING_CPL_METADATA,
- canonical(combined / cpls[1]->file()->filename())).set_cpl_id(cpls[1]->id())
+ note(VC::MATCHING_CPL_HASHES, cpls[0]),
+ note(VC::MATCHING_CPL_HASHES, cpls[1]),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpls[0]),
+ note(VC::MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL, cpls[1]),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpls[0]),
+ note(VC::VALID_CONTENT_KIND, string{"trailer"}, cpls[1]),
+ note(VC::NONE_ENCRYPTED, cpls[0]),
+ note(VC::NONE_ENCRYPTED, cpls[1]),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpls[0]),
+ note(VC::VALID_CPL_ANNOTATION_TEXT, string{"hello"}, cpls[1]),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpls[0]->content_version()->label_text, cpls[0]),
+ note(VC::VALID_CONTENT_VERSION_LABEL_TEXT, cpls[1]->content_version()->label_text, cpls[1]),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(combined / "videofoo.mxf"), cpls[0]),
+ note(VC::VALID_PICTURE_FRAME_SIZES_IN_BYTES, canonical(combined / "videofoo0.mxf"), cpls[1]),
+ note(VC::CORRECT_PICTURE_HASH, canonical(combined / "videofoo.mxf"), cpls[0]),
+ note(VC::CORRECT_PICTURE_HASH, canonical(combined / "videofoo0.mxf"), cpls[1]),
+ VN(VC::MISSING_CPL_METADATA, canonical(combined / cpls[0]->file()->filename())).set_cpl_id(cpls[0]->id()),
+ VN(VC::MISSING_CPL_METADATA, canonical(combined / cpls[1]->file()->filename())).set_cpl_id(cpls[1]->id())
});
}