Carl Hetherington [Thu, 16 Mar 2023 18:51:27 +0000 (19:51 +0100)]
Specify number of channels in the data passed to SoundAssetWriter, and pad channels that aren't there.
Carl Hetherington [Mon, 6 Mar 2023 00:01:04 +0000 (01:01 +0100)]
Add Asset::rename_file().
Carl Hetherington [Mon, 6 Mar 2023 00:00:28 +0000 (01:00 +0100)]
Cleanup: fix indentation.
Carl Hetherington [Sun, 5 Mar 2023 22:32:50 +0000 (23:32 +0100)]
Fix default value of include_mca_subdescriptors in dcp.h
Carl Hetherington [Wed, 1 Mar 2023 18:44:25 +0000 (19:44 +0100)]
Add include_mca_subdescriptors flag to SoundAsset writer.
Carl Hetherington [Wed, 1 Mar 2023 18:41:09 +0000 (19:41 +0100)]
Add include_mca_subdescriptors to DCP::write_xml(), passing it through to the CPL.
Carl Hetherington [Tue, 28 Feb 2023 13:17:04 +0000 (14:17 +0100)]
Add include_mca_subdescriptors option to CPL::write_xml().
Carl Hetherington [Tue, 28 Feb 2023 11:08:47 +0000 (12:08 +0100)]
Cleanup: extract write_mca_subdescriptors().
Carl Hetherington [Mon, 27 Feb 2023 09:46:36 +0000 (10:46 +0100)]
Fix tests again on Windows.
Carl Hetherington [Mon, 27 Feb 2023 09:08:42 +0000 (10:08 +0100)]
Fix signed-ness warning on macOS.
Carl Hetherington [Sun, 26 Feb 2023 20:07:11 +0000 (21:07 +0100)]
Remove LIBDCP_VERSION in favour of dcp::version.
The former is only set at configure which is a bit confusing,
and I can't think of a reason to have both.
Carl Hetherington [Sun, 26 Feb 2023 20:06:58 +0000 (21:06 +0100)]
Fix warning.
Carl Hetherington [Sun, 26 Feb 2023 19:56:34 +0000 (20:56 +0100)]
Fix tests with different library versions.
Carl Hetherington [Sun, 26 Feb 2023 10:20:02 +0000 (11:20 +0100)]
Fix test references after IssueDate change.
Carl Hetherington [Sun, 11 Dec 2022 21:27:34 +0000 (22:27 +0100)]
Be explicit about the version of SMPTE 428-7 that is used for subtitles,
and default to writing the 2014 namespace.
Carl Hetherington [Sun, 11 Dec 2022 21:26:46 +0000 (22:26 +0100)]
Allow verification of 428-7-2014 subtitles.
Carl Hetherington [Sun, 11 Dec 2022 19:21:37 +0000 (20:21 +0100)]
Update comment with details about SMPTE 2010/2014 subtitle standards.
Carl Hetherington [Fri, 17 Feb 2023 20:27:28 +0000 (21:27 +0100)]
Don't crash if the descriptor's sampling rate denominator is 0.
Carl Hetherington [Fri, 17 Feb 2023 09:36:10 +0000 (10:36 +0100)]
Fix incorrect filename encoding on Windows (DoM #2459).
Carl Hetherington [Thu, 16 Feb 2023 20:56:22 +0000 (21:56 +0100)]
Change how whitespace in subtitles is handled.
Previously we would discard any whitespace subtitle content we found.
This had the side-effect of making a verification test fail (checking
that at least one subtitle is in each reel; blank subtitles are often
used to avoid this warning).
Here we take any subtitle content, whitespace or not, inside a
<Text> or <Image> node which I think is a little more correct.
Carl Hetherington [Mon, 13 Feb 2023 14:17:26 +0000 (15:17 +0100)]
Interop CPLs don't have MainPictureStoredArea (#2452).
Carl Hetherington [Sun, 12 Feb 2023 22:09:46 +0000 (23:09 +0100)]
Give a better error when a KDMFormatError is thrown (DoM #2446).
Carl Hetherington [Sun, 12 Feb 2023 22:09:29 +0000 (23:09 +0100)]
Throw xmlpp::internal_error also as KDMFormatError.
Carl Hetherington [Sun, 12 Feb 2023 18:38:53 +0000 (19:38 +0100)]
Add --no-asset-hash-check and --asset-hash-check-maximum-size (DoM #2444).
Carl Hetherington [Sun, 12 Feb 2023 18:37:26 +0000 (19:37 +0100)]
Terminate dcpverify correctly when an invalid option is passed.
Carl Hetherington [Sun, 12 Feb 2023 18:37:06 +0000 (19:37 +0100)]
Add another raw_convert().
Carl Hetherington [Sun, 12 Feb 2023 14:40:07 +0000 (15:40 +0100)]
Cleanup: use a local variable.
Carl Hetherington [Thu, 2 Feb 2023 00:03:40 +0000 (01:03 +0100)]
In Deluxe's "Specifications for Digital Cinema Source and DCP Content Delivery"
they say that subtitle <IssueDate> must be of the form yyyy-mm-ddThh:mm:ss
They don't explain it, and the standards don't say this (as far as I can see)
but as usual their QC fails <IssueDates> that don't meet this "spec" so here
we are.
See also:
https://dcpomatic.com/forum/viewtopic.php?t=2069
Carl Hetherington [Thu, 2 Feb 2023 00:03:27 +0000 (01:03 +0100)]
Check IssueDate for Deluxe complaint.
Carl Hetherington [Thu, 2 Feb 2023 00:02:50 +0000 (01:02 +0100)]
Add with_timezone parameter to ::to_string().
Carl Hetherington [Mon, 23 Jan 2023 23:54:52 +0000 (00:54 +0100)]
Only write the appropriate number of AudioChannelLabelSubDescriptors (DoM #2431).
Carl Hetherington [Mon, 23 Jan 2023 23:54:25 +0000 (00:54 +0100)]
Add channels parameter to simple_audio().
Carl Hetherington [Sun, 15 Jan 2023 20:15:16 +0000 (21:15 +0100)]
Add support for 20 as a MainSoundConfiguration.
Carl Hetherington [Thu, 19 Jan 2023 11:45:49 +0000 (12:45 +0100)]
Add some more operators to LocalTime.
Carl Hetherington [Thu, 19 Jan 2023 10:26:40 +0000 (11:26 +0100)]
Add a comment.
Carl Hetherington [Mon, 16 Jan 2023 20:16:54 +0000 (21:16 +0100)]
Add some new issuer access methods.
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.