From 9e2f6b6df1e54d3d13bfa9332a1c2c03f63428db Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sun, 8 Sep 2019 01:11:55 +0100 Subject: [PATCH] Write empty files when exporting subtitles and finding none. --- src/lib/subtitle_encoder.cc | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/lib/subtitle_encoder.cc b/src/lib/subtitle_encoder.cc index 43c68bc22..cc31c792b 100644 --- a/src/lib/subtitle_encoder.cc +++ b/src/lib/subtitle_encoder.cc @@ -84,10 +84,25 @@ SubtitleEncoder::go () while (!_player->pass()) {} + int reel = 0; for (vector, boost::filesystem::path> >::iterator i = _assets.begin(); i != _assets.end(); ++i) { - if (i->first) { - i->first->write (i->second); + if (!i->first) { + /* No subtitles arrived for this asset; make an empty one so we write something to the output */ + if (_film->interop()) { + shared_ptr s (new dcp::InteropSubtitleAsset()); + s->set_movie_title (_film->name()); + s->set_reel_number (raw_convert(reel + 1)); + i->first = s; + } else { + shared_ptr s (new dcp::SMPTESubtitleAsset()); + s->set_content_title_text (_film->name()); + s->set_reel_number (reel + 1); + i->first = s; + } } + + i->first->write (i->second); + ++reel; } } -- 2.30.2