Carl Hetherington [Mon, 16 Jan 2023 06:39:25 +0000 (07:39 +0100)]
Fix tests.
Carl Hetherington [Sun, 15 Jan 2023 22:13:49 +0000 (23:13 +0100)]
Check that Interop subtitle files have at least one subtitle.
It was reported on the forum that files without any <Font> or
<Subtitle> tags fail validation on EasyDCP 3.0.1 and crash
Qubemaster Pro 3.0.15.
Carl Hetherington [Sun, 8 Jan 2023 13:19:00 +0000 (14:19 +0100)]
Remove a test directory before running.
Carl Hetherington [Sat, 7 Jan 2023 23:22:55 +0000 (00:22 +0100)]
Compare LoadFont URIs and asset paths correctly (DoM #2402).
Carl Hetherington [Sat, 7 Jan 2023 23:28:02 +0000 (00:28 +0100)]
Cleanup: use std::find_if
Carl Hetherington [Sat, 7 Jan 2023 23:25:59 +0000 (00:25 +0100)]
Cleanup: improve loop variable names.
Carl Hetherington [Sun, 1 Jan 2023 20:27:16 +0000 (21:27 +0100)]
Cleanup: rename AssetMap::path -> file for consistency.
Carl Hetherington [Sun, 1 Jan 2023 20:19:51 +0000 (21:19 +0100)]
Cleanup: rename PKL::asset_list -> assets for consistency.
Carl Hetherington [Sun, 1 Jan 2023 20:14:30 +0000 (21:14 +0100)]
Check for multiple asset IDs in an ASSETMAP during verify.
Carl Hetherington [Sun, 1 Jan 2023 20:14:18 +0000 (21:14 +0100)]
Add DCP::asset_map().
Carl Hetherington [Sun, 1 Jan 2023 20:14:04 +0000 (21:14 +0100)]
Add AssetMap::assets().
Carl Hetherington [Sun, 1 Jan 2023 19:57:45 +0000 (20:57 +0100)]
Cleanup: extract verify_assetmap().
Carl Hetherington [Sun, 1 Jan 2023 19:57:31 +0000 (20:57 +0100)]
Cleanup: const correctness.
Carl Hetherington [Sat, 31 Dec 2022 21:47:05 +0000 (22:47 +0100)]
Check for multiple asset IDs in a PKL during verify.
Carl Hetherington [Sat, 31 Dec 2022 21:46:15 +0000 (22:46 +0100)]
Cleanup: using ordering.
Carl Hetherington [Sat, 31 Dec 2022 20:59:29 +0000 (21:59 +0100)]
Cleanup: extract verify_pkl().
Carl Hetherington [Sat, 31 Dec 2022 20:59:03 +0000 (21:59 +0100)]
Cleanup: const correctness.
Carl Hetherington [Tue, 3 Jan 2023 20:20:52 +0000 (21:20 +0100)]
Cleanup: remove dead code.
Carl Hetherington [Fri, 30 Dec 2022 17:12:33 +0000 (18:12 +0100)]
Change the behaviour of LocalTime::operator== to make the same time in different time zones equal.
Previously different offsets would mean that the times compared as
not-equal.
Carl Hetherington [Fri, 30 Dec 2022 17:11:50 +0000 (18:11 +0100)]
Fix LocalTime::operator< and operator> to handle offset gracefully.
Carl Hetherington [Fri, 30 Dec 2022 17:10:28 +0000 (18:10 +0100)]
Add dcp::LocalTime::millisecond().
Carl Hetherington [Fri, 30 Dec 2022 16:31:32 +0000 (17:31 +0100)]
Fix some embarassing bugs in dcp::LocalTime comparisons.
Carl Hetherington [Tue, 27 Dec 2022 00:06:17 +0000 (01:06 +0100)]
Cleanup: extract verify_cpl().
Carl Hetherington [Mon, 26 Dec 2022 23:57:06 +0000 (00:57 +0100)]
Cleanup: extract verify_reel()
Carl Hetherington [Sun, 25 Dec 2022 21:59:54 +0000 (22:59 +0100)]
Remove out-of-date comment.
Carl Hetherington [Fri, 23 Dec 2022 19:20:47 +0000 (20:20 +0100)]
Fix windows build.
Carl Hetherington [Fri, 23 Dec 2022 19:14:59 +0000 (20:14 +0100)]
Add File::open_error().
Carl Hetherington [Fri, 23 Dec 2022 19:14:53 +0000 (20:14 +0100)]
Whitespace fix.
Carl Hetherington [Thu, 22 Dec 2022 12:11:01 +0000 (13:11 +0100)]
Cleanup: remove randomly-added using.
Carl Hetherington [Thu, 22 Dec 2022 00:59:11 +0000 (01:59 +0100)]
Write OriginalFileName tags in PKL (DoM #2394).
Without these it EasyDCP gives errors like
"Id field in PKL must match uuid in asset"
"Each Id used in the PKL files must be unique or reference the same file"
which seem wrong but, as usual, here we are.
Carl Hetherington [Tue, 20 Dec 2022 23:12:41 +0000 (00:12 +0100)]
Set plaintext offset to 0 when writing J2K frames (DoM #2391)
Without this the EasyDCP verifier gives errors like
"sum of individual components is larger than the file size"
This change results in there being no plaintext metadata in each
encoded frame. It looks like the DCP-2000 was fixed in around
2010 to not crash with plaintext metadata, and the asdcplib tools
at some point started defaulting to this behaviour also.
Carl Hetherington [Thu, 22 Dec 2022 19:55:25 +0000 (20:55 +0100)]
Re-make expired test certificate chain.
Carl Hetherington [Thu, 22 Dec 2022 20:08:51 +0000 (21:08 +0100)]
Support some different headers in private_key_fingerprint()
Carl Hetherington [Thu, 22 Dec 2022 19:54:47 +0000 (20:54 +0100)]
Store not_valid_{before,after} when reading encrypted KDMs.
Carl Hetherington [Thu, 22 Dec 2022 15:55:40 +0000 (16:55 +0100)]
Cleanup: use std::vector and some auto.
Carl Hetherington [Thu, 22 Dec 2022 15:36:41 +0000 (16:36 +0100)]
Give a better error from chain_valid() when a certificate has some problem (e.g. it has expired).
Carl Hetherington [Wed, 21 Dec 2022 11:27:06 +0000 (12:27 +0100)]
Relax the COC component number verification error (DoM #2395).
A DCP is seen in the wild with 1 here and it doesn't seem unreasonable
that there should be a COC for each component.
Carl Hetherington [Tue, 20 Dec 2022 18:20:26 +0000 (19:20 +0100)]
Add detail to the invalid COC component number error.
Carl Hetherington [Tue, 20 Dec 2022 11:21:59 +0000 (12:21 +0100)]
It's not easy to install Python 3 on Ubuntu 16.04, so work around the difference instead of blocking it.
Carl Hetherington [Mon, 19 Dec 2022 11:34:09 +0000 (12:34 +0100)]
More adventures in strings and python versions. Stop allowing Python 2 to run this script.
Carl Hetherington [Mon, 19 Dec 2022 09:34:43 +0000 (10:34 +0100)]
Can't use the encoding parameter to Popen as it's Python 3.6+ only.
Carl Hetherington [Sat, 17 Dec 2022 21:16:38 +0000 (22:16 +0100)]
Another attempt to fix UTF-8/byte SNAFUs in wscript.
Carl Hetherington [Fri, 16 Dec 2022 09:50:14 +0000 (10:50 +0100)]
Fix ./waf dist
Carl Hetherington [Thu, 15 Dec 2022 23:01:47 +0000 (00:01 +0100)]
Verify that main picture active area is valid (even, and not too big) (#2392).
Carl Hetherington [Thu, 15 Dec 2022 23:01:21 +0000 (00:01 +0100)]
Throw exceptions when setting odd values for picture active area.
Carl Hetherington [Thu, 15 Dec 2022 22:52:43 +0000 (23:52 +0100)]
Tidy up find_cpl() and add find_pkl().
Carl Hetherington [Thu, 15 Dec 2022 22:51:21 +0000 (23:51 +0100)]
Some more details when verification results fail.
Carl Hetherington [Thu, 15 Dec 2022 22:51:06 +0000 (23:51 +0100)]
Add delete_lines_after to the Editor.
Carl Hetherington [Thu, 15 Dec 2022 22:49:51 +0000 (23:49 +0100)]
Add some line spacing in the editor.
Carl Hetherington [Thu, 15 Dec 2022 21:13:30 +0000 (22:13 +0100)]
Tidy the Editor class up a little.
Carl Hetherington [Thu, 1 Dec 2022 20:47:43 +0000 (21:47 +0100)]
Add some more setters.
Carl Hetherington [Thu, 1 Dec 2022 20:47:38 +0000 (21:47 +0100)]
Add missing operator.
Carl Hetherington [Thu, 1 Dec 2022 20:47:21 +0000 (21:47 +0100)]
Add new LocalTime constructor.
Carl Hetherington [Thu, 1 Dec 2022 20:47:09 +0000 (21:47 +0100)]
Add assert to make sure we're not comparing times wrongly.
Carl Hetherington [Thu, 1 Dec 2022 20:22:44 +0000 (21:22 +0100)]
Add LocalTime::add().
Carl Hetherington [Tue, 29 Nov 2022 10:55:26 +0000 (11:55 +0100)]
Add UTCOffset class.
Carl Hetherington [Tue, 13 Dec 2022 10:17:20 +0000 (11:17 +0100)]
Missing header guard.
Carl Hetherington [Mon, 12 Dec 2022 16:33:39 +0000 (17:33 +0100)]
Add missing initialisation calls to example.
Carl Hetherington [Sun, 4 Dec 2022 23:47:35 +0000 (00:47 +0100)]
Remove old jpeg option reference in cscript.
Carl Hetherington [Sun, 4 Dec 2022 23:34:52 +0000 (00:34 +0100)]
Fix use of atleast_version which these days does nothing.
Carl Hetherington [Sun, 4 Dec 2022 23:28:54 +0000 (00:28 +0100)]
Fix reading of git tags for .pc file versioning.
Carl Hetherington [Sun, 4 Dec 2022 22:32:09 +0000 (23:32 +0100)]
Support building either with our patched OpenJPEG, or 2.5.0.
Either has a way to specify the number of guard bits.
Carl Hetherington [Sun, 4 Dec 2022 21:57:59 +0000 (22:57 +0100)]
Remove support for building with OpenJPEG 1.x.
Carl Hetherington [Sun, 4 Dec 2022 19:30:48 +0000 (20:30 +0100)]
Fix some ambiguous shared_ptrs, seen on Arch Linux.
Carl Hetherington [Sat, 3 Dec 2022 22:20:18 +0000 (23:20 +0100)]
Filter some more potential filename contents on Windows.
Carl Hetherington [Sun, 27 Nov 2022 22:11:32 +0000 (23:11 +0100)]
Add make_kdm.cc example.
Carl Hetherington [Sun, 27 Nov 2022 21:55:01 +0000 (22:55 +0100)]
Tidy up examples/wscript.
Carl Hetherington [Thu, 24 Nov 2022 22:57:38 +0000 (23:57 +0100)]
Tidy up some operators, made possible by the previous-but-one commit.
Carl Hetherington [Thu, 24 Nov 2022 08:54:03 +0000 (09:54 +0100)]
Add equality option for vertical subtitle position.
Carl Hetherington [Wed, 23 Nov 2022 23:53:22 +0000 (00:53 +0100)]
Some missing const correctness.
Carl Hetherington [Thu, 20 Oct 2022 21:55:24 +0000 (23:55 +0200)]
Add a couple of Z position tests.
Carl Hetherington [Thu, 20 Oct 2022 21:17:40 +0000 (23:17 +0200)]
Add Z position to subtitles; existing tests pass.
Carl Hetherington [Sat, 29 Oct 2022 10:11:00 +0000 (12:11 +0200)]
Cleanup: use std::make_shared.
Carl Hetherington [Wed, 5 Oct 2022 22:03:59 +0000 (00:03 +0200)]
Fix YUV->RGB for Rec. 2020.
Carl Hetherington [Tue, 11 Oct 2022 22:40:01 +0000 (00:40 +0200)]
Fix copy/paste error causing a crash when verifying encrypted 3D DCPs.
Carl Hetherington [Tue, 11 Oct 2022 20:43:43 +0000 (22:43 +0200)]
Some dcpverify output tidying.
Carl Hetherington [Tue, 11 Oct 2022 20:43:32 +0000 (22:43 +0200)]
Add a progress bar.
Carl Hetherington [Tue, 11 Oct 2022 20:38:14 +0000 (22:38 +0200)]
Cleanup: use some lambdas.
Carl Hetherington [Mon, 3 Oct 2022 22:14:24 +0000 (00:14 +0200)]
Missing bracket in error message.
Carl Hetherington [Mon, 26 Sep 2022 17:44:32 +0000 (19:44 +0200)]
Better subtitle comparisons in tests.
Carl Hetherington [Mon, 26 Sep 2022 17:43:47 +0000 (19:43 +0200)]
Don't try to create non-existent DCPs when searching for CPLs (DoM #2344).
Carl Hetherington [Mon, 19 Sep 2022 22:05:43 +0000 (00:05 +0200)]
Bump waf in asdcplib.
Carl Hetherington [Mon, 19 Sep 2022 21:57:45 +0000 (23:57 +0200)]
Bump waf here and in libcxml for Python 3.10 support.
Carl Hetherington [Tue, 6 Sep 2022 10:44:28 +0000 (12:44 +0200)]
Add a new test.
Carl Hetherington [Sat, 3 Sep 2022 20:29:47 +0000 (22:29 +0200)]
Use ratingID rather than the Descriptor Label for metadata.
It's not clear whether this is right, but it certainly seems a lot
closer (e.g. for MPAA PG-13 the label was "Parents Strongly Cautioned",
which is definitely not what we want).
Carl Hetherington [Fri, 2 Sep 2022 23:52:14 +0000 (01:52 +0200)]
Properly support ContentKind scope attribute.
Carl Hetherington [Fri, 2 Sep 2022 23:38:40 +0000 (01:38 +0200)]
Cleanup: some missing full stops.
Carl Hetherington [Fri, 2 Sep 2022 20:43:19 +0000 (22:43 +0200)]
Replace ContentKind enum with a class.
Carl Hetherington [Wed, 17 Aug 2022 23:42:19 +0000 (01:42 +0200)]
Throw a KDMFormatError if cxml throws an error when reading KDM XML.
Carl Hetherington [Mon, 15 Aug 2022 15:34:29 +0000 (17:34 +0200)]
Tolerate missing FullContentTitleText (DoM bug #2295).
Carl Hetherington [Mon, 15 Aug 2022 14:54:40 +0000 (16:54 +0200)]
Stop assuming that the presence of FullContentTitleText means that there was CPL metadata.
Carl Hetherington [Wed, 10 Aug 2022 20:14:07 +0000 (22:14 +0200)]
Fix undefined memory warning during tests.
Carl Hetherington [Wed, 10 Aug 2022 20:13:58 +0000 (22:13 +0200)]
Fix script for Fedora.
Carl Hetherington [Fri, 15 Jul 2022 08:57:02 +0000 (10:57 +0200)]
Fix thinko in previous commit.
Carl Hetherington [Thu, 14 Jul 2022 21:51:21 +0000 (23:51 +0200)]
Close assets on destruction even if finalize() is not called.
Carl Hetherington [Thu, 14 Jul 2022 21:50:56 +0000 (23:50 +0200)]
Allow tests to be run on Fedora.
Carl Hetherington [Thu, 14 Jul 2022 21:30:47 +0000 (23:30 +0200)]
Update comment to reflect strange aspects of subtitle alignment standards.
Carl Hetherington [Tue, 21 Jun 2022 09:45:13 +0000 (11:45 +0200)]
Add another warning to LIBDCP_DISABLE_WARNINGS
Carl Hetherington [Mon, 20 Jun 2022 11:02:43 +0000 (13:02 +0200)]
Bump asdcplib for build fix.
Carl Hetherington [Fri, 3 Jun 2022 13:11:50 +0000 (15:11 +0200)]
Make an error a little more detailed.