diff options
| author | Carl Hetherington <cth@carlh.net> | 2019-09-08 01:11:55 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2019-09-08 01:11:55 +0100 |
| commit | 9e2f6b6df1e54d3d13bfa9332a1c2c03f63428db (patch) | |
| tree | 6bef9b4776f183c12e304367978518c7aee11fe3 /src | |
| parent | cd4e040a1828b83809b555a99b529fcb0f395656 (diff) | |
Write empty files when exporting subtitles and finding none.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/subtitle_encoder.cc | 19 |
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; } } |
