summaryrefslogtreecommitdiff
path: root/test/verify_test.cc
AgeCommit message (Collapse)Author
2022-09-03Properly support ContentKind scope attribute.v1.8.26Carl Hetherington
2022-05-04Make some tests repeatable across platforms.Carl Hetherington
2022-05-04Allow tests to be run on Windows.Carl Hetherington
2022-04-25Tidy up write_xml() API a little.Carl Hetherington
2022-04-21Fix unsigned/signed warning on macOS.Carl Hetherington
2022-04-12Add and use new File class.merged-to-mainCarl Hetherington
It was always a bit troubling that fopen_boost wasn't exception safe, and this also fixes a leak where load_ratings_list would never close the ratings file.
2022-03-24Add verify test to check for erroneous <EntryPoint> and <Duration>v1.8.132215-markersCarl Hetherington
tags inside <MainMarkers>
2022-03-24Remove <EntryPoint> and <Duration> from <ReelMarkerAsset> tags.Carl Hetherington
They should not be there: "EntryPoint" ... "This element shall only be present when the Asset refers to an external resource such as a Track File". Fixes DoM bug #2215.
2022-03-20Nearly pretty-print subtitle XML (though not in <Text> nodes).v1.8.12Carl Hetherington
This is an attempt to fix DoM bug #2205.
2022-01-17Use optional for ReelAsset _annotation_text.v1.8.6Carl Hetherington
Not only is this tag optional in Interop and SMPTE, but it would appear that if it is present but empty a DCP will not play back on Sony SRX320 / LMT3000 systems (DoM bug #2124). Here we use optional<>, as seems to make sense, and also refuse to write empty tags (instead omitting the tag entirely).
2021-11-09Fix off-by-one in verification of closed caption line length.v1.8.5Carl Hetherington
2021-10-24Order subtitles in the XML according to their vertical position (DoM bug #2106).v1.8.4Carl Hetherington
2021-10-24Allow specification of valign when writing verify tests.Carl Hetherington
2021-10-13Basic implementation of <Space> tag in subtitles.v1.8.3Carl Hetherington
2021-10-08Fix problems when adding KDMs to a VF, before adding the OV.v1.8.2Carl Hetherington
If we have a KDM which contains keys for all the assets referred to by a VF (even the ones in the OV) we would previously throw an exception because we tried to give the KDM to the resolved assets when it was given to the Reel. Here we change things so that the addition of KDMs to assets can be deferred if the asset is not yet resolved.
2021-10-03Make the former dcst namespace default for SMPTE subtitles.Carl Hetherington
In DoM bug #2061 it is reported that Easy DCP gives the error "XML Document has default root namespace prefix: dcst. Default namespace should not use prefix for root or root namespace child nodes." with SMPTE subtitle files written by DCP-o-matic, and that the correct fix is to make the former dcst: namespace the default and then remove the dcst: qualifiers from everything. I'm not sure I agree with the error; AFAICS the subtitle files written by previous versions did not have a default root namespace prefix, since it was specified by xmlns:dcst and not just xmlns alone, so I think they were valid. However, using a default NS also seems fine, slightly simplifies the code and produces more compact subtitle files, so we change that here. It should also stop Easy DCP complaining, which is always marginally preferable to sticking to our guns and getting the blame for it.
2021-08-11Improve message on verify test failure.Carl Hetherington
2021-08-11Add verify check for empty <Text> nodes in timed text.Carl Hetherington
2021-08-04Add a belt-and-braces check.Carl Hetherington
2021-08-04Fix tests after previous commit.Carl Hetherington
2021-06-02Improve output when a test fails.Carl Hetherington
2021-06-02Reduce test flakyness a bit.Carl Hetherington
2021-05-27Sort notes when checking verifications.Carl Hetherington
So that the lists in the tests don't have to be in the right order.
2021-04-22Don't give an error on verifying Interop DCPs with possibly-incorrectlyCarl Hetherington
marked 3D assets. This also adds a warning into the verification output. I don't know if this is actually a standard violation but they have been seen in the wild made by "reputable" DCP creation software. DoM bug #1976.
2021-04-14Improve handling of image subtitle IDs in XML (DoM bug #1965)Carl Hetherington
When reading/writing the XML for image subtitles, we assumed that the content of the <Image> tag is just the ID of the PNG in the MXF, without any prefix. DoM bug #1965 mentions a DCP where this is not the case, and SMPTE 429-5-2009 has an example where there is urn:uuid: in the XML. This change makes DoM write this urn:uuid: prefix, and accept it if it's present (but not complain if it's not). If the urn:uuid: _is_ required in the field, it's a bit surprising that nobody has complained up to this point. Maybe nobody noticed, or nobody reported it.
2021-04-12Split ReelClosedCaptionAsset into Interop and SMPTE parts.Carl Hetherington
2021-04-12C++11 tidying.Carl Hetherington
2021-04-12Specify CPL standard on construction.Carl Hetherington
Then choose which standard DCP should use based on the CPL(s).
2021-04-12Split ReelSubtitleAsset into Interop and SMPTE classes.Carl Hetherington
2021-04-09Add check for Bv2.1 10.4.3 - container duration vs reel duration in timed text.Carl Hetherington
2021-04-08Verify that SMPTE subtitle IDs are handled properly (DoM #1962).Carl Hetherington
2021-04-06Don't try to verify encrypted JPEG2000 bitstreams.Carl Hetherington
2021-04-06Hide dump_notes() again.Carl Hetherington
2021-04-06Call verify_j2k when verifying DCPs.Carl Hetherington
2021-03-26Write MCA tags based on the specified sound field.Carl Hetherington
I had previously assumed that one should write MCA information into the sound MXF based on what channels actually contain sound rather than silence. However a previous example of a stereo DCP gives a verification error in EasyDCP (see DoM bug #1935) which is solved by adding MCA tags for each channel in the specified sound field (e.g. at least 6 tags for a file which is marked as 5.1) even if the audio is really stereo. This commit removes the "active channels" stuff and makes sure that if we say a file is 5.1 we write at least 6 MCA tags (and similarly for 7.1).
2021-03-15Fix various bugs in subtitle/ccap verification.Carl Hetherington
Check that subtitles don't overlap reel boundaries, and fix a few tests that trip this check. Fix confusion when calculating subtitle timings during verification where the picture asset frame rate was being used rather than the subtitle asset's edit rate. Do the subtitle timing verification for Interop as well as SMPTE subtitles. Take <StartTime> tags into account when checking subtitles, even though Bv2.1 says they should be set to 0. Rename Time::as_editable_units to Time::as_editable_units_ceil and add a _floor variant, then use that to round down when checking reel boundary overlaps.
2021-02-20Don't give a verification error if there are closed caption tracks with ↵Carl Hetherington
different languages (DoM bug #1907).
2021-02-06Basic analysis (verification) of J2K codestreams.Carl Hetherington
2021-02-06Don't use flat_red.j2c for the simple DCP test as it's only 8-bit.Carl Hetherington
2021-02-06Rename j2k.{cc,h} => j2k_transcode.{cc,h}Carl Hetherington
2021-01-22Assorted c++11 cleanups.Carl Hetherington
2021-01-21Some more use of enum class.Carl Hetherington
2021-01-21Use enum class for the things in types.hCarl Hetherington
2021-01-20Cleanup: more test naming tweaks.Carl Hetherington
2021-01-20Tidy up some test names.Carl Hetherington
2021-01-19Tidy up parameters in VerificationNote.Carl Hetherington
2021-01-19Cleanup: now have using namespace boost::filesystem.Carl Hetherington
2021-01-19Fix tests to actually check the results in several cases.Carl Hetherington
2021-01-19Cleanup: tidy enum names for verification codes.Carl Hetherington
2021-01-19Cleanup: more use of prepare_directory().Carl Hetherington