summaryrefslogtreecommitdiff
path: root/src/cpl.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2026-02-01 21:59:32 +0100
committerCarl Hetherington <cth@carlh.net>2026-02-02 00:36:54 +0100
commit56b5f7e06e89f136a9f2ef91f4e7a34d6c451730 (patch)
tree7115179ebf80da4fd988ad1891813d9d06125818 /src/cpl.h
parentf4582b67f10e5cdbe13ef3f3112c709e950d2190 (diff)
Reproduce MCA subdescriptors when writing XML without the assets being present.
This assumes that we don't read a CPL, modify the sound assets, then write it out again. Maybe we should make that possible (e.g. by invalidating the CPL's MCA subdescriptors list when changing sound).
Diffstat (limited to 'src/cpl.h')
-rw-r--r--src/cpl.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cpl.h b/src/cpl.h
index c7e41353..7bbb2d53 100644
--- a/src/cpl.h
+++ b/src/cpl.h
@@ -47,6 +47,7 @@
#include "key.h"
#include "language_tag.h"
#include "main_sound_configuration.h"
+#include "mca_sub_descriptor.h"
#include "picture_encoding.h"
#include "profile.h"
#include "rating.h"
@@ -367,7 +368,7 @@ private:
void maybe_write_composition_metadata_asset(xmlpp::Element* node) const;
void read_composition_metadata_asset(cxml::ConstNodePtr node, std::vector<dcp::VerificationNote>* notes);
- void write_mca_subdescriptors(xmlpp::Element* parent, std::shared_ptr<const SoundAsset> asset) const;
+ std::vector<MCASubDescriptor> create_mca_subdescriptors(std::shared_ptr<const SoundAsset> asset) const;
std::string _issuer;
std::string _creator;
@@ -381,6 +382,8 @@ private:
* or the one read in from the existing CPL.
*/
std::string _cpl_metadata_id = make_uuid();
+ boost::optional<Fraction> _cpl_metadata_edit_rate;
+ boost::optional<int64_t> _cpl_metadata_intrinsic_duration;
/** Human-readable name of the composition, without any metadata (i.e. no -FTR-EN-XX- etc.) */
boost::optional<std::string> _full_content_title_text;
boost::optional<std::string> _full_content_title_text_language;
@@ -403,6 +406,7 @@ private:
std::vector<std::string> _additional_subtitle_languages;
boost::optional<std::string> _sign_language_video_language;
boost::optional<std::string> _dolby_edr_image_transfer_function;
+ std::vector<MCASubDescriptor> _mca_sub_descriptors;
bool _read_composition_metadata = false;
std::vector<std::shared_ptr<Reel>> _reels;