summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-01-15 22:04:42 +0100
committerCarl Hetherington <cth@carlh.net>2021-01-17 20:13:23 +0100
commit9a6cf0df676175022f7d0cade7919153207b7910 (patch)
tree072586b526913ee73ca2b9515309deb6be5071e9 /src
parent87a4a9470f0c81f27322f044cf0837fff21ad89e (diff)
Bv2.1 8.3.2: text tracks must have <EntryPoint> and it must be zero.
Diffstat (limited to 'src')
-rw-r--r--src/verify.cc20
-rw-r--r--src/verify.h8
2 files changed, 28 insertions, 0 deletions
diff --git a/src/verify.cc b/src/verify.cc
index f8ab3d44..01d2e786 100644
--- a/src/verify.cc
+++ b/src/verify.cc
@@ -633,6 +633,12 @@ verify_main_subtitle_reel (shared_ptr<const ReelSubtitleAsset> reel_asset, vecto
if (reel_asset->language()) {
verify_language_tag (*reel_asset->language(), notes);
}
+
+ if (!reel_asset->entry_point()) {
+ notes.push_back ({VerificationNote::VERIFY_BV21_ERROR, VerificationNote::MISSING_SUBTITLE_ENTRY_POINT });
+ } else if (reel_asset->entry_point().get()) {
+ notes.push_back ({VerificationNote::VERIFY_BV21_ERROR, VerificationNote::SUBTITLE_ENTRY_POINT_NON_ZERO });
+ }
}
@@ -643,6 +649,12 @@ verify_closed_caption_reel (shared_ptr<const ReelClosedCaptionAsset> reel_asset,
if (reel_asset->language()) {
verify_language_tag (*reel_asset->language(), notes);
}
+
+ if (!reel_asset->entry_point()) {
+ notes.push_back ({VerificationNote::VERIFY_BV21_ERROR, VerificationNote::MISSING_CLOSED_CAPTION_ENTRY_POINT });
+ } else if (reel_asset->entry_point().get()) {
+ notes.push_back ({VerificationNote::VERIFY_BV21_ERROR, VerificationNote::CLOSED_CAPTION_ENTRY_POINT_NON_ZERO });
+ }
}
@@ -1284,6 +1296,14 @@ dcp::note_to_string (dcp::VerificationNote note)
return "At least one reel contains a subtitle asset, but some reel(s) do not";
case dcp::VerificationNote::CLOSED_CAPTION_ASSET_COUNTS_DIFFER:
return "At least one reel has closed captions, but reels have different numbers of closed caption assets.";
+ case dcp::VerificationNote::MISSING_SUBTITLE_ENTRY_POINT:
+ return "Subtitle assets must have an <EntryPoint> tag.";
+ case dcp::VerificationNote::SUBTITLE_ENTRY_POINT_NON_ZERO:
+ return "Subtitle assets must have an <EntryPoint> of 0.";
+ case dcp::VerificationNote::MISSING_CLOSED_CAPTION_ENTRY_POINT:
+ return "Closed caption assets must have an <EntryPoint> tag.";
+ case dcp::VerificationNote::CLOSED_CAPTION_ENTRY_POINT_NON_ZERO:
+ return "Closed caption assets must have an <EntryPoint> of 0.";
}
return "";
diff --git a/src/verify.h b/src/verify.h
index 64232a43..917d5e53 100644
--- a/src/verify.h
+++ b/src/verify.h
@@ -143,6 +143,14 @@ public:
MAIN_SUBTITLE_NOT_IN_ALL_REELS,
/** If one reel has at least one ClosedCaption, all reels must have the same number of ClosedCaptions */
CLOSED_CAPTION_ASSET_COUNTS_DIFFER,
+ /** MainSubtitle in reels must have <EntryPoint> Bv2.1_8.3.2 */
+ MISSING_SUBTITLE_ENTRY_POINT,
+ /** MainSubtitle <EntryPoint> must be zero Bv2.1_8.3.2 */
+ SUBTITLE_ENTRY_POINT_NON_ZERO,
+ /** Closed caption in reels must have <EntryPoint> Bv2.1_8.3.2 */
+ MISSING_CLOSED_CAPTION_ENTRY_POINT,
+ /** Closed caption MainSubtitle <EntryPoint> must be zero Bv2.1_8.3.2 */
+ CLOSED_CAPTION_ENTRY_POINT_NON_ZERO,
};
VerificationNote (Type type, Code code)