summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-02-21 20:26:37 +0100
committerCarl Hetherington <cth@carlh.net>2021-02-23 20:09:39 +0100
commitf5fd225decd41e5716fcc5aaf972c3b05d114e0d (patch)
tree056d6635c2b9a6c500618aff610a6b438ebab344 /src/lib
parent61f31915024a097fe1b7cf3cb7b955457e8cd7b8 (diff)
Don't create empty SMPTE subtitles files with empty <SubtitleList>
Files like this fail validation against the XSD. Perhaps the XSD is wrong; for now though, create an empty 1-second-long subtitle in such files.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/reel_writer.cc25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/lib/reel_writer.cc b/src/lib/reel_writer.cc
index 4888a1567..136d2405e 100644
--- a/src/lib/reel_writer.cc
+++ b/src/lib/reel_writer.cc
@@ -790,7 +790,7 @@ ReelWriter::empty_text_asset (TextType type, optional<DCPTextTrack> track) const
s->set_reel_number (raw_convert<string> (_reel_index + 1));
asset = s;
} else {
- shared_ptr<dcp::SMPTESubtitleAsset> s (new dcp::SMPTESubtitleAsset ());
+ auto s = make_shared<dcp::SMPTESubtitleAsset>();
s->set_content_title_text (film()->name());
s->set_metadata (mxf_metadata());
if (type == TextType::OPEN_SUBTITLE && !lang.empty()) {
@@ -805,6 +805,29 @@ ReelWriter::empty_text_asset (TextType type, optional<DCPTextTrack> track) const
if (film()->encrypted()) {
s->set_key (film()->key());
}
+ s->add (
+ std::make_shared<dcp::SubtitleString>(
+ optional<std::string>(),
+ false,
+ false,
+ false,
+ dcp::Colour(),
+ 42,
+ 1.0,
+ dcp::Time(0, 0, 0, 0, 24),
+ dcp::Time(0, 0, 1, 0, 24),
+ 0.5,
+ dcp::HAlign::CENTER,
+ 0.5,
+ dcp::VAlign::CENTER,
+ dcp::Direction::LTR,
+ "",
+ dcp::Effect::NONE,
+ dcp::Colour(),
+ dcp::Time(),
+ dcp::Time()
+ )
+ );
asset = s;
}