diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-02-21 20:26:37 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-02-23 20:09:39 +0100 |
| commit | f5fd225decd41e5716fcc5aaf972c3b05d114e0d (patch) | |
| tree | 056d6635c2b9a6c500618aff610a6b438ebab344 /src | |
| parent | 61f31915024a097fe1b7cf3cb7b955457e8cd7b8 (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')
| -rw-r--r-- | src/lib/reel_writer.cc | 25 |
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; } |
