summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-12-08 23:42:40 +0100
committerCarl Hetherington <cth@carlh.net>2021-01-17 20:13:22 +0100
commit8dd69a2a86b64bbf5ec80a78a6ad74865f752fde (patch)
tree3edcb1bbf14b85c61e3124f3c76bfd54f6121d8c /src
parentb6cfa3cfa660622997a52f00a9f0376339c0f743 (diff)
Bv2.1 6.1: DCPs must be SMPTE.
Diffstat (limited to 'src')
-rw-r--r--src/verify.cc6
-rw-r--r--src/verify.h2
2 files changed, 8 insertions, 0 deletions
diff --git a/src/verify.cc b/src/verify.cc
index e31fa682..f3ecb1f4 100644
--- a/src/verify.cc
+++ b/src/verify.cc
@@ -591,6 +591,10 @@ dcp::verify (
notes.push_back (VerificationNote(VerificationNote::VERIFY_ERROR, VerificationNote::GENERAL_READ, string(e.what())));
}
+ if (dcp->standard() != dcp::SMPTE) {
+ notes.push_back (VerificationNote(VerificationNote::VERIFY_BV21_ERROR, VerificationNote::NOT_SMPTE));
+ }
+
BOOST_FOREACH (shared_ptr<CPL> cpl, dcp->cpls()) {
stage ("Checking CPL", cpl->file());
validate_xml (cpl->file().get(), xsd_dtd_directory, notes);
@@ -698,6 +702,8 @@ dcp::note_to_string (dcp::VerificationNote note)
return String::compose("The instantaneous bit rate of the picture asset %1 is close to the limit of 250Mbit/s in at least one place.", note.file()->filename());
case dcp::VerificationNote::EXTERNAL_ASSET:
return String::compose("An asset that this DCP refers to is not included in the DCP. It may be a VF. Missing asset is %1.", note.note().get());
+ case dcp::VerificationNote::NOT_SMPTE:
+ return "This DCP does not use the SMPTE standard, which is required for Bv2.1 compliance.";
}
return "";
diff --git a/src/verify.h b/src/verify.h
index 4b4442e4..0140066e 100644
--- a/src/verify.h
+++ b/src/verify.h
@@ -90,6 +90,8 @@ public:
PICTURE_FRAME_NEARLY_TOO_LARGE,
/** An asset that the CPL requires is not in this DCP; the DCP may be a VF */
EXTERNAL_ASSET,
+ /** DCP is Interop, not SMPTE [Bv2.1_6.1] */
+ NOT_SMPTE,
};
VerificationNote (Type type, Code code)