diff options
| author | Carl Hetherington <cth@carlh.net> | 2023-02-13 15:17:26 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2023-02-13 15:17:26 +0100 |
| commit | 8b86c990e526e55e273cc408377f13e64a27fb26 (patch) | |
| tree | 43e87616b3469a0c66eec21acbe52108cf8fbc54 | |
| parent | 16de10ded1501e59a95ca1efa6e6e8ab0c7283a4 (diff) | |
Interop CPLs don't have MainPictureStoredArea (#2452).v1.8.58
| -rw-r--r-- | src/cpl.cc | 10 | ||||
| -rw-r--r-- | test/cpl_test.cc | 7 |
2 files changed, 13 insertions, 4 deletions
@@ -297,10 +297,12 @@ CPL::read_composition_metadata_asset (cxml::ConstNodePtr node) _main_sound_sample_rate = raw_convert<int>(sr_bits[0]); } - _main_picture_stored_area = dcp::Size ( - node->node_child("MainPictureStoredArea")->number_child<int>("Width"), - node->node_child("MainPictureStoredArea")->number_child<int>("Height") - ); + if (_standard == dcp::Standard::SMPTE) { + _main_picture_stored_area = dcp::Size ( + node->node_child("MainPictureStoredArea")->number_child<int>("Width"), + node->node_child("MainPictureStoredArea")->number_child<int>("Height") + ); + } _main_picture_active_area = dcp::Size ( node->node_child("MainPictureActiveArea")->number_child<int>("Width"), diff --git a/test/cpl_test.cc b/test/cpl_test.cc index cc51c12c..25b3306b 100644 --- a/test/cpl_test.cc +++ b/test/cpl_test.cc @@ -69,3 +69,10 @@ BOOST_AUTO_TEST_CASE(cpl_content_kind_test3) } +BOOST_AUTO_TEST_CASE(interop_cpl_with_metadata_test) +{ + dcp::CPL cpl(private_test / "CPL_f383c150-5021-4110-9aae-64da6c1ffbdb.xml"); + /* The main thing is that the CPL read doesn't throw, but let's just check one thing for luck */ + BOOST_CHECK_EQUAL(cpl.annotation_text().get_value_or(""), "EyeLeader2sec_XSN_F-133_XX-XX_MOS_4K_20230124_EYE_IOP_OV"); +} + |
