libdcp.git
3 years agofixup! macOS / boost 1.74 build fixes. mac
Carl Hetherington [Tue, 20 Oct 2020 22:29:37 +0000 (00:29 +0200)]
fixup! macOS / boost 1.74 build fixes.

3 years agomacOS / boost 1.74 build fixes.
Carl Hetherington [Tue, 20 Oct 2020 22:20:33 +0000 (00:20 +0200)]
macOS / boost 1.74 build fixes.

3 years agoMove a bind.hpp include out of a header.
Carl Hetherington [Tue, 20 Oct 2020 20:09:32 +0000 (22:09 +0200)]
Move a bind.hpp include out of a header.

3 years agoFix crash when loading DCPs whose ASSETMAP contains files that are
Carl Hetherington [Sat, 10 Oct 2020 16:58:05 +0000 (18:58 +0200)]
Fix crash when loading DCPs whose ASSETMAP contains files that are
not mentioned in any PKL (#1855).

3 years agoMissing error checking on writing KDMs as XML.
Carl Hetherington [Tue, 6 Oct 2020 09:26:14 +0000 (11:26 +0200)]
Missing error checking on writing KDMs as XML.

3 years agoWe should not carry on if files don't open in tests.
Carl Hetherington [Tue, 6 Oct 2020 09:26:03 +0000 (11:26 +0200)]
We should not carry on if files don't open in tests.

3 years agoFix install of .xsd files to be more robust.
Carl Hetherington [Sun, 27 Sep 2020 19:04:25 +0000 (21:04 +0200)]
Fix install of .xsd files to be more robust.

3 years ago<ContentVersion> is optional in Interop so we can't assume it's there.
Carl Hetherington [Sun, 27 Sep 2020 18:20:23 +0000 (20:20 +0200)]
<ContentVersion> is optional in Interop so we can't assume it's there.

3 years agoLoad language tags from on-disk files rather than embedding them
Carl Hetherington [Sun, 27 Sep 2020 17:32:15 +0000 (19:32 +0200)]
Load language tags from on-disk files rather than embedding them
into a .cc.

The .cc method causes compile times (and memory requirements) increase
enormously with some compilers.

3 years agoDeclare language tag lists as const.
Carl Hetherington [Sat, 26 Sep 2020 09:26:50 +0000 (11:26 +0200)]
Declare language tag lists as const.

3 years agoMissing virtual destructor.
Carl Hetherington [Sat, 26 Sep 2020 08:54:04 +0000 (10:54 +0200)]
Missing virtual destructor.

3 years agoFix thinko.
Carl Hetherington [Fri, 25 Sep 2020 20:36:47 +0000 (22:36 +0200)]
Fix thinko.

3 years agoHide unused audio channels a bit more clearly, not giving them
Carl Hetherington [Wed, 23 Sep 2020 20:32:45 +0000 (22:32 +0200)]
Hide unused audio channels a bit more clearly, not giving them
names any more.  Add dcp::used_audio_channels().

3 years agoDon't fail to write CPL if no content version has been set up.
Carl Hetherington [Wed, 23 Sep 2020 18:15:35 +0000 (20:15 +0200)]
Don't fail to write CPL if no content version has been set up.

3 years agoFix crashes when static linking due to tricky lifetime crash
Carl Hetherington [Mon, 21 Sep 2020 20:33:43 +0000 (22:33 +0200)]
Fix crashes when static linking due to tricky lifetime
management of ASDCP::DefaultSMPTEDict().

3 years agoBetter error locations in XML.
Carl Hetherington [Sun, 20 Sep 2020 23:04:30 +0000 (01:04 +0200)]
Better error locations in XML.

3 years agoAdapt for changes in parent branch, and test churn.
Carl Hetherington [Sun, 20 Sep 2020 22:53:55 +0000 (00:53 +0200)]
Adapt for changes in parent branch, and test churn.

3 years agoVerify MCA tags.
Carl Hetherington [Tue, 8 Sep 2020 18:42:55 +0000 (20:42 +0200)]
Verify MCA tags.

3 years agoAdd another test.
Carl Hetherington [Mon, 7 Sep 2020 21:46:32 +0000 (23:46 +0200)]
Add another test.

3 years agoSupport MCA sound channel tags in MXF/CPL.
Carl Hetherington [Sun, 6 Sep 2020 18:10:13 +0000 (20:10 +0200)]
Support MCA sound channel tags in MXF/CPL.

3 years agoAdd another .xsd.
Carl Hetherington [Thu, 3 Sep 2020 18:42:47 +0000 (20:42 +0200)]
Add another .xsd.

3 years agoAdd extra parameter to Interop subtitles seen in the wild.
Carl Hetherington [Thu, 3 Sep 2020 10:10:38 +0000 (12:10 +0200)]
Add extra parameter to Interop subtitles seen in the wild.

3 years agoAdd namespaces and tweak CPL namespace so Xerces checks CompositionMetadataAsset.
Carl Hetherington [Thu, 3 Sep 2020 10:10:27 +0000 (12:10 +0200)]
Add namespaces and tweak CPL namespace so Xerces checks CompositionMetadataAsset.

3 years agoMissing note type when filtering out missing asset errors.
Carl Hetherington [Thu, 3 Sep 2020 10:09:53 +0000 (12:09 +0200)]
Missing note type when filtering out missing asset errors.

3 years agoAdd some new verification tests.
Carl Hetherington [Thu, 3 Sep 2020 10:09:39 +0000 (12:09 +0200)]
Add some new verification tests.

3 years agoRemove stdout noise from tests.
Carl Hetherington [Thu, 3 Sep 2020 10:09:11 +0000 (12:09 +0200)]
Remove stdout noise from tests.

3 years agoAccept missing MainSoundConfiguration and MainSoundSampleRate, for better or for...
Carl Hetherington [Thu, 3 Sep 2020 10:06:49 +0000 (12:06 +0200)]
Accept missing MainSoundConfiguration and MainSoundSampleRate, for better or for worse.

3 years agoRun dcpverify on everything in the libdcp-test-private metadata set.
Carl Hetherington [Thu, 3 Sep 2020 10:05:55 +0000 (12:05 +0200)]
Run dcpverify on everything in the libdcp-test-private metadata set.

3 years agoTidy up test output slightly.
Carl Hetherington [Thu, 3 Sep 2020 10:05:42 +0000 (12:05 +0200)]
Tidy up test output slightly.

3 years agoHide an expected error from asdcplib.
Carl Hetherington [Thu, 3 Sep 2020 10:05:05 +0000 (12:05 +0200)]
Hide an expected error from asdcplib.

3 years agoCatch cxml errors when verifying.
Carl Hetherington [Thu, 3 Sep 2020 10:04:50 +0000 (12:04 +0200)]
Catch cxml errors when verifying.

3 years agoAdd --ignore-missing-assets and --quiet to dcpverify.
Carl Hetherington [Thu, 3 Sep 2020 10:02:16 +0000 (12:02 +0200)]
Add --ignore-missing-assets and --quiet to dcpverify.

3 years agoAdd ASDCPErrorSuspender to hide errors from asdcplib where we expect them.
Carl Hetherington [Thu, 3 Sep 2020 10:01:34 +0000 (12:01 +0200)]
Add ASDCPErrorSuspender to hide errors from asdcplib where we expect them.

3 years agoUse EditRate::as_string().
Carl Hetherington [Thu, 3 Sep 2020 10:00:37 +0000 (12:00 +0200)]
Use EditRate::as_string().

3 years agoSupport CPL metadata.
Carl Hetherington [Thu, 27 Aug 2020 20:59:12 +0000 (22:59 +0200)]
Support CPL metadata.

3 years agoAdd some new channels to the enum.
Carl Hetherington [Thu, 27 Aug 2020 20:53:56 +0000 (22:53 +0200)]
Add some new channels to the enum.

3 years agoAllow LanguageTag to be constructed from a tag string.
Carl Hetherington [Thu, 27 Aug 2020 20:48:00 +0000 (22:48 +0200)]
Allow LanguageTag to be constructed from a tag string.

3 years agoUse vector for the Ratings list.
Carl Hetherington [Thu, 27 Aug 2020 22:05:54 +0000 (00:05 +0200)]
Use vector for the Ratings list.

3 years agoUse a vector<ContentVersion> instead of just one, to support the
Carl Hetherington [Thu, 27 Aug 2020 22:05:46 +0000 (00:05 +0200)]
Use a vector<ContentVersion> instead of just one, to support the
new metadata.

3 years agoTidy up a bit; vertical white space, group metadata together,
Carl Hetherington [Wed, 26 Aug 2020 21:24:58 +0000 (23:24 +0200)]
Tidy up a bit; vertical white space, group metadata together,
order accessors the same as members, getter before setter.

3 years agoAdd ContentVersion class.
Carl Hetherington [Wed, 26 Aug 2020 21:02:10 +0000 (23:02 +0200)]
Add ContentVersion class.

3 years agoAdd new LanguageTag class.
Carl Hetherington [Sun, 23 Aug 2020 20:06:29 +0000 (22:06 +0200)]
Add new LanguageTag class.

The scripts/update-language-subtags script will download the RFC 5646
registry and write it to src/language_tag_lists.cc.  This may need
to be re-run if the subtags change.

3 years agoAdd a new exception for problems with LanguageTag.
Carl Hetherington [Sun, 23 Aug 2020 20:06:00 +0000 (22:06 +0200)]
Add a new exception for problems with LanguageTag.

3 years agoSkip post-test checks if not all unit tests are run.
Carl Hetherington [Wed, 19 Aug 2020 19:09:20 +0000 (21:09 +0200)]
Skip post-test checks if not all unit tests are run.

3 years agoRemove XMLMetadata.
Carl Hetherington [Wed, 19 Aug 2020 16:54:41 +0000 (18:54 +0200)]
Remove XMLMetadata.

3 years agoRemove XMLMetadata use from tests.
Carl Hetherington [Wed, 19 Aug 2020 16:52:45 +0000 (18:52 +0200)]
Remove XMLMetadata use from tests.

3 years agoRemove XMLMetadata from DCP::write_xml and DCP::write_assetmap.
Carl Hetherington [Wed, 19 Aug 2020 15:04:28 +0000 (17:04 +0200)]
Remove XMLMetadata from DCP::write_xml and DCP::write_assetmap.

3 years agoStop using XMLMetadata in CPL. It's always felt a bit clumsy, and
Carl Hetherington [Wed, 19 Aug 2020 14:36:09 +0000 (16:36 +0200)]
Stop using XMLMetadata in CPL.  It's always felt a bit clumsy, and
with the CPL metadata extension having a method like set_metadata()
in CPL will be confusing.

3 years agoAvoid copying a large amount of stuff when running tests.
Carl Hetherington [Fri, 18 Sep 2020 21:40:39 +0000 (23:40 +0200)]
Avoid copying a large amount of stuff when running tests.

3 years agoPrevent DCP::assets() from returning duplicates. combine
Carl Hetherington [Thu, 17 Sep 2020 12:00:21 +0000 (14:00 +0200)]
Prevent DCP::assets() from returning duplicates.

3 years agoAdd dcp::combine().
Carl Hetherington [Wed, 9 Sep 2020 21:55:49 +0000 (23:55 +0200)]
Add dcp::combine().

3 years agoFix crash with one verification error and no notes list.
Carl Hetherington [Thu, 10 Sep 2020 23:01:07 +0000 (01:01 +0200)]
Fix crash with one verification error and no notes list.

3 years agoAdd Interop closed caption XSD for verification.
Carl Hetherington [Thu, 10 Sep 2020 22:36:00 +0000 (00:36 +0200)]
Add Interop closed caption XSD for verification.

3 years agoAdd set_font_file()
Carl Hetherington [Thu, 10 Sep 2020 21:37:32 +0000 (23:37 +0200)]
Add set_font_file()

3 years agoAdd font_filenames()
Carl Hetherington [Thu, 10 Sep 2020 21:37:23 +0000 (23:37 +0200)]
Add font_filenames()

3 years agoAdd EqualityOptions option to ignore differences in LoadFont nodes.
Carl Hetherington [Thu, 10 Sep 2020 21:37:16 +0000 (23:37 +0200)]
Add EqualityOptions option to ignore differences in LoadFont nodes.

3 years agoUse Data::write() to clean things up slightly.
Carl Hetherington [Thu, 10 Sep 2020 20:16:43 +0000 (22:16 +0200)]
Use Data::write() to clean things up slightly.

3 years agoRename fonts_with_load_ids() -> font_data()
Carl Hetherington [Thu, 10 Sep 2020 20:08:27 +0000 (22:08 +0200)]
Rename fonts_with_load_ids() -> font_data()

3 years agoMessage formatting tweaks.
Carl Hetherington [Wed, 9 Sep 2020 21:54:21 +0000 (23:54 +0200)]
Message formatting tweaks.

3 years agoMissing namespace.
Carl Hetherington [Wed, 9 Sep 2020 21:54:09 +0000 (23:54 +0200)]
Missing namespace.

3 years agoAdd some detail to a verification warning.
Carl Hetherington [Wed, 9 Sep 2020 21:54:05 +0000 (23:54 +0200)]
Add some detail to a verification warning.

3 years agoMove make_simple() into test.{cc,h}
Carl Hetherington [Wed, 9 Sep 2020 21:18:28 +0000 (23:18 +0200)]
Move make_simple() into test.{cc,h}

3 years agoFix comment typo.
Carl Hetherington [Wed, 9 Sep 2020 21:10:38 +0000 (23:10 +0200)]
Fix comment typo.

3 years agoUse the <Id> read in when the Reel was created from XML (if appropriate)
Carl Hetherington [Wed, 9 Sep 2020 20:41:52 +0000 (22:41 +0200)]
Use the <Id> read in when the Reel was created from XML (if appropriate)
when writing it out again, rather than creating a new one each time.

Also there is the associated test churn here from removing a call
to make_uuid().

3 years agoAdd SubtitleString::unset_font.
Carl Hetherington [Tue, 25 Aug 2020 21:12:22 +0000 (23:12 +0200)]
Add SubtitleString::unset_font.

3 years agoSlightly nicer errors from dcpkdm.
Carl Hetherington [Wed, 12 Aug 2020 22:45:42 +0000 (00:45 +0200)]
Slightly nicer errors from dcpkdm.

3 years agoFix off-by-one in display of month numbers in dcpkdm.
Carl Hetherington [Wed, 12 Aug 2020 22:25:54 +0000 (00:25 +0200)]
Fix off-by-one in display of month numbers in dcpkdm.

3 years agoBump libcxml.
Carl Hetherington [Tue, 28 Jul 2020 11:02:51 +0000 (13:02 +0200)]
Bump libcxml.

3 years agoFix some unused variable warnings.
Carl Hetherington [Mon, 27 Jul 2020 09:04:34 +0000 (11:04 +0200)]
Fix some unused variable warnings.

3 years agoFix up some tests.
Carl Hetherington [Sun, 12 Jul 2020 13:37:13 +0000 (15:37 +0200)]
Fix up some tests.

3 years agoMove atmos_pcm.mxf in the test repo.
Carl Hetherington [Sun, 12 Jul 2020 13:17:17 +0000 (15:17 +0200)]
Move atmos_pcm.mxf in the test repo.

3 years agoAllow creation of ATMOS sync on channel 14.
Carl Hetherington [Fri, 10 Jul 2020 22:12:50 +0000 (00:12 +0200)]
Allow creation of ATMOS sync on channel 14.

3 years agoFix parameters when running tests with valgrind.
Carl Hetherington [Fri, 10 Jul 2020 22:12:02 +0000 (00:12 +0200)]
Fix parameters when running tests with valgrind.

3 years agoHopefully make all tests stable enough to be run with --random,
Carl Hetherington [Sat, 11 Jul 2020 19:11:48 +0000 (21:11 +0200)]
Hopefully make all tests stable enough to be run with --random,
stopping test reference churn.

3 years agoAdd xmllint to the tools check.
Carl Hetherington [Fri, 3 Jul 2020 20:54:44 +0000 (22:54 +0200)]
Add xmllint to the tools check.

3 years agoShow CPL IDs in dcpinfo.
Carl Hetherington [Fri, 19 Jun 2020 18:42:17 +0000 (20:42 +0200)]
Show CPL IDs in dcpinfo.

3 years agoFormatting fix.
Carl Hetherington [Fri, 19 Jun 2020 18:42:13 +0000 (20:42 +0200)]
Formatting fix.

3 years agoFix test now that Atmos asset ID is correctly read from the MXF.
Carl Hetherington [Fri, 19 Jun 2020 11:28:21 +0000 (11:28 +0000)]
Fix test now that Atmos asset ID is correctly read from the MXF.

3 years agoFix missing Key ID when writing details of encrypted Atmos assets to CPL.
Carl Hetherington [Fri, 19 Jun 2020 11:15:13 +0000 (13:15 +0200)]
Fix missing Key ID when writing details of encrypted Atmos assets to CPL.

3 years agoAdd and use new write_to_cpl_mxf().
Carl Hetherington [Fri, 19 Jun 2020 11:14:38 +0000 (13:14 +0200)]
Add and use new write_to_cpl_mxf().

3 years agoRename write_to_cpl_base -> write_to_cpl_asset.
Carl Hetherington [Fri, 19 Jun 2020 11:14:03 +0000 (13:14 +0200)]
Rename write_to_cpl_base -> write_to_cpl_asset.

3 years agoHeader guard.
Carl Hetherington [Fri, 19 Jun 2020 11:12:16 +0000 (13:12 +0200)]
Header guard.

3 years agoMissing set up of AtmosVersion when writing Atmos assets.
Carl Hetherington [Fri, 19 Jun 2020 11:12:12 +0000 (13:12 +0200)]
Missing set up of AtmosVersion when writing Atmos assets.

3 years agoAdd wrapper for AtmosAssetWriter::write to write a frame.
Carl Hetherington [Fri, 19 Jun 2020 11:11:49 +0000 (13:11 +0200)]
Add wrapper for AtmosAssetWriter::write to write a frame.

3 years agoFix a whole load of missing setup for AtmosAssets, most notably
Carl Hetherington [Fri, 19 Jun 2020 11:10:45 +0000 (13:10 +0200)]
Fix a whole load of missing setup for AtmosAssets, most notably
the ID.

3 years agoI believe atmos_id is a unique identifier, so create it in the
Carl Hetherington [Fri, 19 Jun 2020 11:09:09 +0000 (13:09 +0200)]
I believe atmos_id is a unique identifier, so create it in the
same way that all the others are created.

3 years agoAllow specification of the JPEG2000 comment string.
Carl Hetherington [Tue, 16 Jun 2020 23:04:05 +0000 (01:04 +0200)]
Allow specification of the JPEG2000 comment string.

3 years agoTidy up and fix some small memory leaks.
Carl Hetherington [Tue, 16 Jun 2020 22:58:04 +0000 (00:58 +0200)]
Tidy up and fix some small memory leaks.

3 years agoClean up strange use of c_str().
Carl Hetherington [Tue, 16 Jun 2020 22:55:58 +0000 (00:55 +0200)]
Clean up strange use of c_str().

3 years agoRun verification tests with a space in the XSD path to trigger an old bug.
Carl Hetherington [Thu, 11 Jun 2020 17:21:16 +0000 (19:21 +0200)]
Run verification tests with a space in the XSD path to trigger an old bug.

3 years agoFix failure to verify when the XSD/DTD path has a space in it.
Carl Hetherington [Thu, 11 Jun 2020 14:49:33 +0000 (16:49 +0200)]
Fix failure to verify when the XSD/DTD path has a space in it.

With spaces in the path we ended up with spaces in the string
passed to setExternalSchemaLocation which screws everything up.
It turns out we can remove the URIs from that string, which seems
to move the resolution between file and URI to the LocalFileResolver,
which may now be asked to resolve either a file or a URI.

Maybe I've missed something obvious here.

3 years agoAdd some missing .xsd files to the install target.
Carl Hetherington [Thu, 11 Jun 2020 09:19:17 +0000 (11:19 +0200)]
Add some missing .xsd files to the install target.

3 years agoBump openjpeg for Windows ccache build fixes.
Carl Hetherington [Thu, 11 Jun 2020 08:51:09 +0000 (10:51 +0200)]
Bump openjpeg for Windows ccache build fixes.

3 years agoDon't build benchmarks with cdist.
Carl Hetherington [Mon, 1 Jun 2020 22:17:44 +0000 (00:17 +0200)]
Don't build benchmarks with cdist.

3 years agoAdd very simple benchmark for rgb_to_xyz.
Carl Hetherington [Sun, 31 May 2020 19:49:41 +0000 (21:49 +0200)]
Add very simple benchmark for rgb_to_xyz.

3 years agoAdd add_days to LocalTime.
Carl Hetherington [Wed, 20 May 2020 20:09:55 +0000 (22:09 +0200)]
Add add_days to LocalTime.

3 years agoMake add_minutes() work correctly with milliseconds.
Carl Hetherington [Tue, 12 May 2020 10:41:23 +0000 (12:41 +0200)]
Make add_minutes() work correctly with milliseconds.

3 years agoMove some tests and rename one set.
Carl Hetherington [Tue, 12 May 2020 10:38:33 +0000 (12:38 +0200)]
Move some tests and rename one set.

3 years agoAdd a proper implementation of add_months() and a test for the
Carl Hetherington [Tue, 12 May 2020 10:35:41 +0000 (12:35 +0200)]
Add a proper implementation of add_months() and a test for the
case when it fails by giving erroneous dates like 30th February.

3 years agoAdd a note when verifying if the DCP refers to assets
Carl Hetherington [Tue, 12 May 2020 10:35:07 +0000 (12:35 +0200)]
Add a note when verifying if the DCP refers to assets
that are not mentioned in its ASSETMAP (i.e. a VF).