summaryrefslogtreecommitdiff
path: root/src/dcp.cc
AgeCommit message (Collapse)Author
4 daysEXTERNAL_ASSET: note -> asset_id.Carl Hetherington
2026-03-22Clarify ID in verification note.Carl Hetherington
2026-03-20Allow build with static xmlsec1.Carl Hetherington
2026-01-31Fix failure to write XML for a VF DCP.Carl Hetherington
This would break e.g. the DoM editor when trying to edit VFs.
2025-12-20Derive verification note type from the code...v1.10.45Carl Hetherington
...rather than having to specify it each time.
2025-12-18Add can_be_read() to DCP.Carl Hetherington
2025-12-09Add DCP::cpl_summaries().v1.10.42Carl Hetherington
DCP-o-matic needs to know some basic CPL details as quickly as possible, and this is faster than doing read() and then cpls().
2025-12-08Use a ScopeGuard.Carl Hetherington
2025-12-08Use remove_parameters in one more place.Carl Hetherington
2025-12-08Move remove_parameters() out to a static method.Carl Hetherington
2025-12-08Extract read_assetmap().Carl Hetherington
2025-11-09Allow saving of CPL/PKL with original filenames.v1.10.38Carl Hetherington
2025-03-27Introduce and use dcp::Profile.v1.10.18Carl Hetherington
This replaces the specific flags passed to DCP::write(), is a property of the CPL (where it seems to belong) and allows us to write what I hear is the correct metadata for this mythical Bv2.0 that somebody invented.
2025-03-10Fix assertion failure on seeing a SMPTE DCP with a PKL type other than ↵v1.10.14Carl Hetherington
application/mxf I'm not sure how this can happen, but it's been reported.
2025-01-14Add GroupID support for PKLs (DoM #2943).v1.10.5Carl Hetherington
2024-09-25Merge remote-tracking branch 'origin/main' into v1.9.xv1.9.22Carl Hetherington
2024-09-23Allow but give an error when seeing a strange PKL namespace.v1.8.110Carl Hetherington
DoM bug #2868 reports that Resolve made a DCP with the PKL namespace http://www.smpte-ra.org/schemas/2067-2/2016/PKL This seems wrong (google suggests that this is the namespace for IMF PKLs) but let's accept it and log an error instead of throwing an exception.
2024-08-17{,Interop,SMPTE}SubtitleAsset -> {,Interop,SMPTE}TextAsset.Carl Hetherington
2024-08-17Reel{,Interop,SMPTE}SubtitleAsset -> Reel{,Interop,SMPTE}TextAsset.Carl Hetherington
2024-04-22Support MPEG2 decompression.Carl Hetherington
2024-04-18Rename classes.Carl Hetherington
sed -i "s/\<PictureAsset/J2KPictureAsset/g" src/*.{cc,h} sed -i "s/\<dcp::PictureAsset/dcp::J2KPictureAsset/g" src/*.{cc,h} test/*.{cc,h} tools/*.cc examples/*.cc sed -i "s/\<MonoPictureAsset/MonoJ2KPictureAsset/g" src/*.{cc,h} tools/*.cc test/*.{cc,h} sed -i "s/\<dcp::MonoPictureAsset/dcp::MonoJ2KPictureAsset/g" src/*.{cc,h} test/*.{cc,h} tools/*.cc examples/*.cc sed -i "s/\<StereoPictureAsset/StereoJ2KPictureAsset/g" src/*.{cc,h} tools/*.cc sed -i "s/\<dcp::StereoPictureAsset/dcp::StereoJ2KPictureAsset/g" src/*.{cc,h} test/*.{cc,h} tools/*.cc examples/*.cc sed -i "s/\<MonoPictureFrame/MonoJ2KPictureFrame/g" src/*.{cc,h} tools/*.cc test/*.{cc,h} sed -i "s/\<dcp::MonoPictureFrame/dcp::MonoJ2KPictureFrame/g" src/*.{cc,h} test/*.{cc,h} tools/*.cc examples/*.cc sed -i "s/\<StereoPictureFrame/StereoJ2KPictureFrame/g" src/*.{cc,h} tools/*.cc sed -i "s/\<dcp::StereoPictureFrame/dcp::StereoJ2KPictureFrame/g" src/*.{cc,h} test/*.{cc,h} tools/*.cc examples/*.cc
2024-04-18Fix includes.Carl Hetherington
sed -i "s/#include \"stereo_picture_asset_writer.h\"/#include \"stereo_j2k_picture_asset_writer.h\""/g src/*.{cc,h} sed -i "s/#include \"mono_picture_asset_writer.h\"/#include \"mono_j2k_picture_asset_writer.h\""/g src/*.{cc,h} examples/*.cc sed -i "s/#include \"stereo_picture_asset_reader.h\"/#include \"stereo_j2k_picture_asset_reader.h\""/g src/*.{cc,h} sed -i "s/#include \"mono_picture_asset_reader.h\"/#include \"mono_j2k_picture_asset_reader.h\""/g src/*.{cc,h} test/*.cc examples/*.cc sed -i "s/#include \"stereo_picture_asset.h\"/#include \"stereo_j2k_picture_asset.h\""/g src/*.{cc,h} test/*.cc examples/*.cc sed -i "s/#include \"mono_picture_asset.h\"/#include \"mono_j2k_picture_asset.h\""/g src/*.{cc,h} examples/*.cc sed -i "s/#include \"picture_asset_writer.h\"/#include \"j2k_picture_asset_writer.h\""/g src/*.{cc,h} test/*.cc sed -i "s/#include \"mono_picture_asset_writer.h\"/#include \"mono_j2k_picture_asset_writer.h\""/g src/*.{cc,h} test/*.cc tools/*.cc sed -i "s/#include \"picture_asset.h\"/#include \"j2k_picture_asset.h\""/g src/*.{cc,h} tools/*.cc sed -i "s/#include \"mono_picture_asset.h\"/#include \"mono_j2k_picture_asset.h\""/g src/*.{cc,h} test/*.cc tools/*.cc sed -i "s/#include \"mono_picture_frame.h\"/#include \"mono_j2k_picture_frame.h\""/g src/*.{cc,h} test/*.cc examples/*.cc sed -i "s/#include \"stereo_picture_frame.h\"/#include \"stereo_j2k_picture_frame.h\""/g src/*.{cc,h} sed -i "s/#include \"picture_asset_writer_common.cc\"/#include \"j2k_picture_asset_writer_common.cc\""/g src/*.{cc,h}
2024-04-18Merge remote-tracking branch 'origin/main' into v1.9.xCarl Hetherington
2024-04-17Make some not-so-important CPL read errors non-fatal (DoM #2797).v1.8.99Carl Hetherington
2024-03-20Replace xmlpp::Node::add_child with cxml::add_child.Carl Hetherington
2023-10-09Add wrappers around boost::filesystem methods that handle theCarl Hetherington
required mangling of long filenames on Windows. Also wrap lots of missing places (e.g. calls to asdcplib, libxml++, libcxml etc.) in dcp::filesystem::fix_long_path(). The idea is to keep paths un-mangled until they we call some filesystem-related API and mangle them at that point. Otherwise we end up serialising mangled names, which seems like it will not end well. Should fix DoM #2623.
2023-07-25Cleanup: pass EqualityOptions as const&Carl Hetherington
This exposes a useless assignment of export_differing_subtitles, which I've removed (and altered the comment accordingly).
2023-06-29When reading a DCP set up asset hashes from the CPL/PKL, not by digesting ↵Carl Hetherington
the actual asset. Previously when reading a DCP we would recalculate asset hashes. This meant that corrupted DCPs could be loaded in and their hashes re-written (if nobody checked the new hashes against the ones in the PKL/CPL). It seems better to take the hashes from the metadata. Then if the assets are corrupted and the DCP is re-written the PKL/CPL hashes will be preserved, showing rather than hiding the corruption.
2023-06-27Add verifier check for the actual asset file's ID not being the same as the ↵Carl Hetherington
one in the asset map.
2023-06-27Cleanup: better variable names.Carl Hetherington
2023-06-27Cleanup: const.Carl Hetherington
2023-04-14Replace slightly weird add_font_assets() API.Carl Hetherington
2023-04-14Cleanup: use a find_if().Carl Hetherington
2023-03-01Add include_mca_subdescriptors to DCP::write_xml(), passing it through to ↵Carl Hetherington
the CPL.
2022-04-30Rename PKL::write to PKL::write_xml for consistency.v1.8.17Carl Hetherington
2022-04-26Add move constructor/operator=.dcp-editor3Carl Hetherington
2022-04-25Tidy up write_xml() API a little.Carl Hetherington
2022-04-25Update PKL assets before writing it.Carl Hetherington
2022-04-25Move AssetMap handling out to a separate class.Carl Hetherington
2022-04-24Tidying.Carl Hetherington
2022-04-20Simplify the implementation of DCP::add.Carl Hetherington
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-14Ignore parameters in PKL type strings when checking them.Carl Hetherington
2021-04-14Fix/hide some warnings.Carl Hetherington
2021-04-12Specify CPL standard on construction.Carl Hetherington
Then choose which standard DCP should use based on the CPL(s).
2021-03-18Improve errors when verifying a non-DCP directory.Carl Hetherington
2021-01-26Rename ReelMXF -> ReelFileAsset.Carl Hetherington
2021-01-24Tidying.Carl Hetherington
2021-01-23Tidying.Carl Hetherington
2021-01-21Some more use of enum class.Carl Hetherington