summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2024-02-11 20:13:04 +0100
committerCarl Hetherington <cth@carlh.net>2024-02-11 23:31:39 +0100
commiteb04ac87ccfa046dd342ca7b9e6478c3bdcabbba (patch)
tree8a939c134853fd01922c99cbda27b3cb9373459a
parent411b2d5a2633140b66de493c446d6c80df114e20 (diff)
Don't add a font with an empty ID for ccaps either (#2762).
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.
-rw-r--r--src/lib/dcp_examiner.cc3
m---------test/data0
-rw-r--r--test/subtitle_font_id_test.cc11
3 files changed, 11 insertions, 3 deletions
diff --git a/src/lib/dcp_examiner.cc b/src/lib/dcp_examiner.cc
index d9c904720..72eb82860 100644
--- a/src/lib/dcp_examiner.cc
+++ b/src/lib/dcp_examiner.cc
@@ -237,9 +237,6 @@ DCPExaminer::DCPExaminer (shared_ptr<const DCPContent> content, bool tolerant)
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>("")});
- }
}
}
diff --git a/test/data b/test/data
-Subproject 704f7643393caa29d77ddba138bff3642b273c4
+Subproject 4cb08962ba07e99c442cb12091c0347d84d8fd8
diff --git a/test/subtitle_font_id_test.cc b/test/subtitle_font_id_test.cc
index 9575868a1..bc09a9cf1 100644
--- a/test/subtitle_font_id_test.cc
+++ b/test/subtitle_font_id_test.cc
@@ -23,6 +23,7 @@
#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>
@@ -291,3 +292,13 @@ BOOST_AUTO_TEST_CASE(use_first_loadfont_as_default)
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()) {}
+}
+