summaryrefslogtreecommitdiff
path: root/src/lib/writer.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-12-08 22:22:30 +0100
committerCarl Hetherington <cth@carlh.net>2020-12-08 23:23:54 +0100
commit4ba4258d1a3c89aa1ec4bdcfacb3ceec18adb6b7 (patch)
tree96ae477548fe7df84fd16fe466251cf3c67e3338 /src/lib/writer.cc
parent3239ce7c2cde98a6d70777f7e408b356a5f01a94 (diff)
In a DCP with any subs/ccaps, make sure every reel has them (#1340).
Diffstat (limited to 'src/lib/writer.cc')
-rw-r--r--src/lib/writer.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/writer.cc b/src/lib/writer.cc
index 0b85a7f32..fcf084c56 100644
--- a/src/lib/writer.cc
+++ b/src/lib/writer.cc
@@ -95,6 +95,7 @@ Writer::Writer (weak_ptr<const Film> weak_film, weak_ptr<Job> j, bool text_only)
, _repeat_written (0)
, _pushed_to_disk (0)
, _text_only (text_only)
+ , _have_subtitles (false)
{
shared_ptr<Job> job = _job.lock ();
@@ -590,7 +591,7 @@ Writer::finish (boost::filesystem::path output_dcp)
/* Add reels */
BOOST_FOREACH (ReelWriter& i, _reels) {
- cpl->add (i.create_reel(_reel_assets, _fonts, output_dcp));
+ cpl->add (i.create_reel(_reel_assets, _fonts, output_dcp, _have_subtitles, _have_closed_captions));
}
/* Add metadata */
@@ -769,11 +770,13 @@ Writer::write (PlayerText text, TextType type, optional<DCPTextTrack> track, DCP
switch (type) {
case TEXT_OPEN_SUBTITLE:
reel = &_subtitle_reel;
+ _have_subtitles = true;
break;
case TEXT_CLOSED_CAPTION:
DCPOMATIC_ASSERT (track);
DCPOMATIC_ASSERT (_caption_reels.find(*track) != _caption_reels.end());
reel = &_caption_reels[*track];
+ _have_closed_captions.insert (*track);
break;
default:
DCPOMATIC_ASSERT (false);