diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-07-09 20:10:09 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-07-09 20:10:09 +0100 |
| commit | fa2c49210c9fcf0f26205927aec0aceb13ca69ce (patch) | |
| tree | 3f4c060d5876929d58e3b02b5220121e558e16c4 /src/lib/dcp_encoder.cc | |
| parent | 35928d882377e35db4eba43fb0f5882e81fa1a29 (diff) | |
Don't write multiple <LoadFont> tags to Interop subtitles (#1273).
Diffstat (limited to 'src/lib/dcp_encoder.cc')
| -rw-r--r-- | src/lib/dcp_encoder.cc | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/lib/dcp_encoder.cc b/src/lib/dcp_encoder.cc index 3a4a793a8..f1e819083 100644 --- a/src/lib/dcp_encoder.cc +++ b/src/lib/dcp_encoder.cc @@ -94,7 +94,18 @@ DCPEncoder::go () } if (_non_burnt_subtitles) { - _writer->write (_player->get_subtitle_fonts ()); + list<shared_ptr<Font> > fonts = _player->get_subtitle_fonts (); + + if (fonts.size() > 1 && _film->interop()) { + /* Interop will ignore second and subsequent <LoadFont>s so don't even + write them as they upset some validators. + */ + shared_ptr<Font> first = fonts.front (); + fonts.clear (); + fonts.push_back (first); + } + + _writer->write (fonts); } while (!_player->pass ()) {} |
