summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2019-09-08 01:11:55 +0100
committerCarl Hetherington <cth@carlh.net>2019-09-08 01:11:55 +0100
commit9e2f6b6df1e54d3d13bfa9332a1c2c03f63428db (patch)
tree6bef9b4776f183c12e304367978518c7aee11fe3 /src
parentcd4e040a1828b83809b555a99b529fcb0f395656 (diff)
Write empty files when exporting subtitles and finding none.
Diffstat (limited to 'src')
-rw-r--r--src/lib/subtitle_encoder.cc19
1 files 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<pair<shared_ptr<dcp::SubtitleAsset>, 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<dcp::InteropSubtitleAsset> s (new dcp::InteropSubtitleAsset());
+ s->set_movie_title (_film->name());
+ s->set_reel_number (raw_convert<string>(reel + 1));
+ i->first = s;
+ } else {
+ shared_ptr<dcp::SMPTESubtitleAsset> 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;
}
}