summaryrefslogtreecommitdiff
path: root/src/lib/dcp_encoder.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-12-20 23:41:52 +0100
committerCarl Hetherington <cth@carlh.net>2020-12-22 02:37:53 +0100
commitddcd4f3ba0af3e9d49dbb68127317cd0d871a248 (patch)
tree1091683b8dcaf82cd517b844be1d76f290f88f50 /src/lib/dcp_encoder.cc
parentbf4446523dd891049cabf1bcd68d20def57bc731 (diff)
Pass fonts from content around as FontData.
i.e. as a block of memory rather than a file. Also, get the fonts from the decoder rather than the content. Together, these changes allow us to use fonts from SMPTE DCPs added as content. Before, fonts would be messed up in those cases (#1885).
Diffstat (limited to 'src/lib/dcp_encoder.cc')
-rw-r--r--src/lib/dcp_encoder.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/dcp_encoder.cc b/src/lib/dcp_encoder.cc
index 1c5b00dd4..c530492cf 100644
--- a/src/lib/dcp_encoder.cc
+++ b/src/lib/dcp_encoder.cc
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2012-2018 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2020 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
@@ -46,6 +46,7 @@
using std::string;
using std::cout;
using std::list;
+using std::vector;
using boost::shared_ptr;
using boost::weak_ptr;
using boost::dynamic_pointer_cast;
@@ -103,13 +104,13 @@ DCPEncoder::go ()
}
if (_non_burnt_subtitles) {
- list<shared_ptr<Font> > fonts = _player->get_subtitle_fonts ();
+ vector<FontData> 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 ();
+ FontData first = fonts.front ();
fonts.clear ();
fonts.push_back (first);
}