_ratings.push_back (dcp::Rating("", *rating));
}
if (auto mastered_luminance = isdcf->optional_number_child<float>("MasteredLuminance")) {
- _luminance = dcp::Luminance(*mastered_luminance, dcp::Luminance::Unit::FOOT_LAMBERT);
+ if (*mastered_luminance > 0) {
+ _luminance = dcp::Luminance(*mastered_luminance, dcp::Luminance::Unit::FOOT_LAMBERT);
+ }
}
_studio = isdcf->optional_string_child("Studio");
_facility = isdcf->optional_string_child("Facility");
-Subproject commit a27d0404655bfb0a32cb0a8dfb4fce69d8118a21
+Subproject commit 49b6ee6d90d9fc543e829cbe9f071970965263a0
BOOST_REQUIRE (film->luminance() == dcp::Luminance(14, dcp::Luminance::Unit::FOOT_LAMBERT));
}
+
+/** Check that an empty <MasteredLuminance> tag results in the film's luminance being unset */
+BOOST_AUTO_TEST_CASE (metadata_loads_from_2_14_x_4)
+{
+ namespace fs = boost::filesystem;
+ auto dir = fs::path("build/test/metadata_loads_from_2_14_x_4");
+ fs::remove_all(dir);
+ auto film = make_shared<Film>(dir);
+ fs::copy_file("test/data/2.14.x.metadata.4.xml", dir / "metadata.xml");
+ auto notes = film->read_metadata(dir / "metadata.xml");
+
+ BOOST_REQUIRE (!film->luminance());
+}
+