Previously this was all changed so that for subs we add the default
font in a cleaner way (in
db22f81ccce9e1a5f205e6d8b3c0631fc039a173).
I can't see why we shouldn't treat ccaps the same way, and indeed
not doing it causes an error as shown by the included test.
for (auto const& font: asset->font_data()) {
_fonts.push_back({reel_index, asset->id(), make_shared<dcpomatic::Font>(font.first, font.second)});
}
- if (asset->font_data().empty()) {
- _fonts.push_back({reel_index, asset->id(), make_shared<dcpomatic::Font>("")});
- }
}
}
-Subproject commit 704f7643393caa29d77ddba138bff3642b273c46
+Subproject commit 4cb08962ba07e99c442cb12091c0347d84d8fd89
#include "lib/dcp_content.h"
#include "lib/film.h"
#include "lib/font.h"
+#include "lib/player.h"
#include "lib/text_content.h"
#include "lib/util.h"
#include <dcp/cpl.h>
BOOST_REQUIRE_EQUAL(subtitle->font_data().size(), 1U);
BOOST_CHECK(subtitle->font_data().begin()->second == dcp::ArrayData("test/data/Inconsolata-VF.ttf"));
}
+
+
+BOOST_AUTO_TEST_CASE(no_error_with_ccap_that_mentions_no_font)
+{
+ auto dcp = make_shared<DCPContent>("test/data/ccap_only");
+ auto film = new_test_film2("no_error_with_ccap_that_mentions_no_font", { dcp });
+ auto player = Player(film, film->playlist());
+ while (!player.pass()) {}
+}
+