+ /** Not all subtitle assets specify the same _<Language>_ tag [Bv2.1_7.2.2] */
+ MISMATCHED_SUBTITLE_LANGUAGES,
+ /** Some SMPTE subtitle XML has no _<StartTime>_ tag [Bv2.1_7.2.3]
+ * file contains the asset filename
+ */
+ MISSING_SUBTITLE_START_TIME,
+ /** Some SMPTE subtitle XML has a non-zero _<StartTime>_ tag [Bv2.1_7.2.3]
+ * file contains the asset filename
+ */
+ INVALID_SUBTITLE_START_TIME,
+ /** The first subtitle or closed caption happens before 4s into the first reel [Bv2.1_7.2.4] */
+ INVALID_SUBTITLE_FIRST_TEXT_TIME,
+ /** At least one subtitle is less than the minimum of 15 frames suggested by [Bv2.1_7.2.5] */
+ INVALID_SUBTITLE_DURATION,
+ /** At least one pair of subtitles are separated by less than the the minimum of 2 frames suggested by [Bv2.1_7.2.5] */
+ INVALID_SUBTITLE_SPACING,
+ /** A subtitle lasts for longer than the reel which contains it */
+ SUBTITLE_OVERLAPS_REEL_BOUNDARY,
+ /** There are more than 3 subtitle lines in at least one place [Bv2.1_7.2.7] */
+ INVALID_SUBTITLE_LINE_COUNT,
+ /** There are more than 52 characters in at least one subtitle line [Bv2.1_7.2.7] */
+ NEARLY_INVALID_SUBTITLE_LINE_LENGTH,
+ /** There are more than 79 characters in at least one subtitle line [Bv2.1_7.2.7] */
+ INVALID_SUBTITLE_LINE_LENGTH,
+ /** There are more than 3 closed caption lines in at least one place [Bv2.1_7.2.6] */
+ INVALID_CLOSED_CAPTION_LINE_COUNT,
+ /** There are more than 32 characters in at least one closed caption line [Bv2.1_7.2.6] */
+ INVALID_CLOSED_CAPTION_LINE_LENGTH,
+ /** The audio sampling rate must be 48kHz [Bv2.1_7.3]
+ * note contains the invalid frame rate
+ * file contains the asset filename
+ */
+ INVALID_SOUND_FRAME_RATE,
+ /** The CPL has no _<AnnotationText>_ tag [Bv2.1_8.1]
+ * note contains the CPL ID
+ * file contains the CPL filename
+ */
+ MISSING_CPL_ANNOTATION_TEXT,
+ /** The _<AnnotationText>_ is not the same as the _<ContentTitleText>_ [Bv2.1_8.1]
+ * note contains the CPL ID
+ * file contains the CPL filename
+ */
+ MISMATCHED_CPL_ANNOTATION_TEXT,
+ VALID_CPL_ANNOTATION_TEXT,
+ /** At least one asset in a reel does not have the same duration as the others */
+ MISMATCHED_ASSET_DURATION,
+ /** If one reel has a _MainSubtitle_, all must have them */
+ MISSING_MAIN_SUBTITLE_FROM_SOME_REELS,
+ /** If one reel has at least one _ClosedCaption_, all reels must have the same number of _ClosedCaptions_ */
+ MISMATCHED_CLOSED_CAPTION_ASSET_COUNTS,
+ /** MainSubtitle in reels must have _<EntryPoint>_ [Bv2.1_8.3.2]
+ * note contains the asset ID
+ */
+ MISSING_SUBTITLE_ENTRY_POINT,
+ /** MainSubtitle _<EntryPoint>_ must be zero [Bv2.1_8.3.2]
+ * note contains the asset ID
+ */
+ INCORRECT_SUBTITLE_ENTRY_POINT,
+ /** Closed caption in reels must have _<EntryPoint>_ [Bv2.1_8.3.2]
+ * note contains the asset ID
+ */
+ MISSING_CLOSED_CAPTION_ENTRY_POINT,
+ /** Closed caption _MainSubtitle_ _<EntryPoint>_ must be zero [Bv2.1_8.3.2]
+ * note contains the asset ID
+ */
+ INCORRECT_CLOSED_CAPTION_ENTRY_POINT,
+ /** _<Hash>_ must be present for assets in CPLs
+ * note contains the asset ID
+ */
+ MISSING_HASH,
+ /** If _ContentKind_ is Feature there must be a FFEC marker */
+ MISSING_FFEC_IN_FEATURE,
+ /** If _ContentKind_ is Feature there must be a FFMC marker */
+ MISSING_FFMC_IN_FEATURE,
+ /** There should be a FFOC marker */
+ MISSING_FFOC,
+ /** There should be a LFOC marker */
+ MISSING_LFOC,
+ /** The FFOC marker should be 1
+ * note contains the incorrect value.
+ */
+ INCORRECT_FFOC,
+ /** The LFOC marker should be the last frame in the reel
+ * note contains the incorrect value
+ */
+ INCORRECT_LFOC,
+ /** There must be a _<CompositionMetadataAsset>_
+ * note contains the CPL ID
+ * file contains the CPL filename
+ */
+ MISSING_CPL_METADATA,
+ /** CPL metadata should contain _<VersionNumber>_ of 1, at least
+ * note contains the CPL ID
+ * file contains the CPL filename
+ */
+ MISSING_CPL_METADATA_VERSION_NUMBER,
+ /** There must be an _<ExtensionMetadata>_ in _<CompositionMetadataAsset>_ [Bv2.1_8.6.3]
+ * note contains the CPL ID
+ * file contains the CPL filename
+ */
+ MISSING_EXTENSION_METADATA,
+ /** _<ExtensionMetadata>_ does not have the correct form [Bv2.1_8.6.3]
+ * note contains details of what's wrong
+ * file contains the CPL filename
+ */
+ INVALID_EXTENSION_METADATA,
+ /** A CPL containing encrypted content is not signed [Bv2.1_8.7]
+ * note contains the CPL ID
+ * file contains the CPL filename
+ */
+ UNSIGNED_CPL_WITH_ENCRYPTED_CONTENT,
+ /** A PKL containing encrypted content is not signed [Bv2.1_8.7]
+ * note contains the PKL ID
+ * file contains the PKL filename
+ */
+ UNSIGNED_PKL_WITH_ENCRYPTED_CONTENT,
+ /** If a PKL has one CPL its _<ContentTitleText>_ must be the same as the PKL's _<AnnotationText>_
+ * note contains the PKL ID
+ * file contains the PKL filename
+ */
+ MISMATCHED_PKL_ANNOTATION_TEXT_WITH_CPL,
+ MATCHING_PKL_ANNOTATION_TEXT_WITH_CPL,
+ /** All content is encrypted */
+ ALL_ENCRYPTED,
+ /** No content is encrypted */
+ NONE_ENCRYPTED,
+ /** Some, but not all content, is encrypted */
+ PARTIALLY_ENCRYPTED,
+ /** General error during JPEG2000 codestream verification
+ * frame contains the frame index (counted from 0)
+ * note contains details
+ */
+ INVALID_JPEG2000_CODESTREAM,
+ /** Invalid number of guard bits in a 2K JPEG2000 stream (should be 1) [Bv2.1_10.2.1]
+ * note contains the number of guard bits
+ */
+ INVALID_JPEG2000_GUARD_BITS_FOR_2K,
+ /** Invalid number of guard bits in a 4K JPEG2000 stream (should be 2) [Bv2.1_10.2.1]
+ * note contains the number of guard bits
+ */
+ INVALID_JPEG2000_GUARD_BITS_FOR_4K,
+ /** JPEG2000 tile size is not the same as the image size [Bv2.1_10.2.1] */
+ INVALID_JPEG2000_TILE_SIZE,
+ /** JPEG2000 code block width is not 32 [Bv2.1_10.2.1]
+ * note contains the code block width
+ */
+ INVALID_JPEG2000_CODE_BLOCK_WIDTH,
+ /** JPEG2000 code block height is not 32 [Bv2.1_10.2.1]
+ * note contains the code block height
+ */
+ INVALID_JPEG2000_CODE_BLOCK_HEIGHT,
+ /** There must be no POC markers in a 2K codestream [Bv2.1_10.2.1]
+ * note contains the number of POC markers found
+ */
+ INCORRECT_JPEG2000_POC_MARKER_COUNT_FOR_2K,
+ /** There must be exactly one POC marker in a 4K codestream [Bv2.1_10.2.1]
+ * note contains the number of POC markers found
+ */
+ INCORRECT_JPEG2000_POC_MARKER_COUNT_FOR_4K,
+ /** A POC marker has incorrect content [Bv2.1_10.2.1]
+ * note contains details
+ */
+ INCORRECT_JPEG2000_POC_MARKER,
+ /** A POC marker was found outside the main head [Bv2.1_10.2.1] */
+ INVALID_JPEG2000_POC_MARKER_LOCATION,
+ /** Invalid number of tile parts for 2K JPEG2000 stream (should be 3) [Bv2.1_10.2.1]
+ * note contains the number of tile parts
+ */
+ INVALID_JPEG2000_TILE_PARTS_FOR_2K,
+ /** Invalid number of tile parts for 4K JPEG2000 stream (should be 6) [Bv2.1_10.2.1]
+ * note contains the number of tile parts
+ */
+ INVALID_JPEG2000_TILE_PARTS_FOR_4K,
+ /** No TLM marker was found [Bv2.1_10.2.1] */
+ MISSING_JPEG200_TLM_MARKER,
+ /** The MXF _ResourceID_ of a timed text resource was not the same as that of the contained XML essence [Bv2.1_10.4.3] */
+ MISMATCHED_TIMED_TEXT_RESOURCE_ID,
+ /** The AssetID of a timed text MXF is the same as its _ResourceID_ or that of the contained XML essence [Bv2.1_10.4.2] */
+ INCORRECT_TIMED_TEXT_ASSET_ID,
+ /** The ContainerDuration of a timed text MXF is not the same as the _Duration_ in its reel [Bv2.1_10.4.3]
+ * note contains the reel duration, followed by a space, followed by the MXF duration
+ * file contains the asset filename
+ */
+ MISMATCHED_TIMED_TEXT_DURATION,
+ /** Something could not be verified because content is encrypted and no key is available */
+ MISSED_CHECK_OF_ENCRYPTED,
+ /** Some timed-text XML has an empty <_Text_> node */
+ EMPTY_TEXT,
+ /** Some closed captions do not have the same vertical alignment within a <_Subtitle_> node */
+ MISMATCHED_CLOSED_CAPTION_VALIGN,
+ /** Some closed captions are not listed in the XML in the order of their vertical position */
+ INCORRECT_CLOSED_CAPTION_ORDERING,
+ /** Some <MainMarkers> asset has an <EntryPoint> that should not be there */
+ UNEXPECTED_ENTRY_POINT,
+ /** Some <MainMarkers> asset has an <Duration> that should not be there */
+ UNEXPECTED_DURATION,
+ /** A <ContentKind> has been specified with either no scope or the SMPTE 429-7 scope, but which is not one of those allowed */
+ INVALID_CONTENT_KIND,
+ VALID_CONTENT_KIND,
+ /** Either the width or height of a <MainPictureActiveArea> in a CPL is either not an even number, or bigger than the corresponding asset dimension.
+ * note contains details of what is wrong
+ * file contains the CPL filename
+ */
+ INVALID_MAIN_PICTURE_ACTIVE_AREA,
+ VALID_MAIN_PICTURE_ACTIVE_AREA,
+ /** A PKL has more than one asset with the same ID
+ * note contains the PKL ID
+ * file contains the PKL filename
+ */
+ DUPLICATE_ASSET_ID_IN_PKL,
+ /** An ASSETMAP has more than one asset with the same ID
+ * note contains the ASSETMAP ID
+ * file contains the ASSETMAP filename
+ */
+ DUPLICATE_ASSET_ID_IN_ASSETMAP,
+ /** An Interop subtitle asset has no subtitles
+ * note contains the asset ID
+ * file contains the asset filename
+ */
+ MISSING_SUBTITLE,
+ /** A SMPTE subtitle asset as an <IssueDate> which is not of the form yyyy-mm-ddThh:mm:ss
+ * I can find no reference in a standard to this being required, but the Deluxe delivery
+ * specifications require it and their QC will fail DCPs that don't have it.
+ * note contains the incorrect <IssueDate>
+ */
+ INVALID_SUBTITLE_ISSUE_DATE,
+ /** The sound assets in the CPL do not have the same audio channel count.
+ * file contains the filename of the first asset to differ
+ */
+ MISMATCHED_SOUND_CHANNEL_COUNTS,
+ /** The CPL contains a MainSoundConfiguration tag which does not describe the number of
+ * channels in the audio assets.
+ * note contains details of what is wrong
+ * file contains the CPL filename
+ */
+ INVALID_MAIN_SOUND_CONFIGURATION,
+ /** An interop subtitle file has a <LoadFont> node which refers to a font file that is not found.
+ * note contains the <LoadFont> ID
+ */
+ MISSING_FONT,
+ /** A tile part in a JPEG2000 frame is too big.
+ * frame contains the frame index (counted from 0)
+ * component contains the component index (0, 1 or 2)
+ * size contains the invalid size in bytes.
+ */
+ INVALID_JPEG2000_TILE_PART_SIZE,
+ /** A subtitle XML root node has more than one namespace (xmlns) declaration.
+ * note contains the asset ID
+ */
+ INCORRECT_SUBTITLE_NAMESPACE_COUNT,
+ /** A subtitle or closed caption file has a <Font> tag which refers to a font that is not
+ * first introduced with a <LoadFont>.
+ * id contains the ID of the <Font> tag.
+ */
+ MISSING_LOAD_FONT_FOR_FONT,
+ /** A SMPTE subtitle asset has at least one <Text> element but no <LoadFont>
+ * id contains the ID of the subtitle asset.
+ */
+ MISSING_LOAD_FONT,
+ /** An ID in an asset map does not match the ID obtained from reading the actual file.
+ * id contains the ID from the asset map.
+ * other_id contains the ID from the file.
+ */
+ MISMATCHED_ASSET_MAP_ID,
+ /** The <LabelText> inside a <ContentVersion> is empty
+ * note contains the CPL ID
+ * file contains the CPL filename
+ */
+ EMPTY_CONTENT_VERSION_LABEL_TEXT,
+ VALID_CONTENT_VERSION_LABEL_TEXT,