summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/smpte_subtitle_asset.cc1
-rw-r--r--test/smpte_subtitle_test.cc20
2 files changed, 21 insertions, 0 deletions
diff --git a/src/smpte_subtitle_asset.cc b/src/smpte_subtitle_asset.cc
index c1138f23..0ff1d7ef 100644
--- a/src/smpte_subtitle_asset.cc
+++ b/src/smpte_subtitle_asset.cc
@@ -337,6 +337,7 @@ SMPTESubtitleAsset::set_key (Key key)
auto xml = make_shared<cxml::Document>("SubtitleReel");
xml->read_string (xml_string);
parse_xml (xml);
+ read_mxf_descriptor(reader);
read_mxf_resources (reader, dec);
}
diff --git a/test/smpte_subtitle_test.cc b/test/smpte_subtitle_test.cc
index eca5cd1f..3bf9dc52 100644
--- a/test/smpte_subtitle_test.cc
+++ b/test/smpte_subtitle_test.cc
@@ -762,3 +762,23 @@ BOOST_AUTO_TEST_CASE(smpte_subtitle_standard_read_correctly)
BOOST_CHECK(test_2014.subtitle_standard() == dcp::SubtitleStandard::SMPTE_2014);
}
+
+BOOST_AUTO_TEST_CASE(smpte_subtitle_intrinsic_duration_read_correctly)
+{
+ dcp::SMPTESubtitleAsset ref("test/data/verify_incorrect_closed_caption_ordering3.xml");
+
+ dcp::Key key;
+ ref.set_key(key);
+
+ auto constexpr duration = 480U;
+
+ ref.set_intrinsic_duration(duration);
+
+ auto const path = boost::filesystem::path("build/test/smpte_subtitle_instrinsic_duration_read_correctly.mxf");
+ ref.write(path);
+
+ auto check = dcp::SMPTESubtitleAsset(path);
+ check.set_key(key);
+ BOOST_CHECK_EQUAL(check.intrinsic_duration(), duration);
+}
+