Use optional for ReelAsset _annotation_text. v1.8.6
authorCarl Hetherington <cth@carlh.net>
Mon, 17 Jan 2022 17:45:19 +0000 (18:45 +0100)
committerCarl Hetherington <cth@carlh.net>
Mon, 17 Jan 2022 19:16:52 +0000 (20:16 +0100)
commit0a5615c17edf6d9c51d9269c824d6caf71f710e5
tree469e07adb1e3a4971b5a622f97bff59b0ed5554d
parent59e22e6d9ff4fc180f79df64da2a27f44a982b51
Use optional for ReelAsset _annotation_text.

Not only is this tag optional in Interop and SMPTE, but it would
appear that if it is present but empty a DCP will not play back
on Sony SRX320 / LMT3000 systems (DoM bug #2124).

Here we use optional<>, as seems to make sense, and also refuse
to write empty tags (instead omitting the tag entirely).
23 files changed:
src/reel_asset.cc
src/reel_asset.h
test/reel_asset_test.cc
test/ref/DCP/dcp_test1/ASSETMAP.xml
test/ref/DCP/dcp_test1/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
test/ref/DCP/dcp_test1/pkl_6af1e0c1-c441-47f8-a502-3efd46b1fa4f.xml
test/ref/DCP/dcp_test2/ASSETMAP.xml
test/ref/DCP/dcp_test2/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
test/ref/DCP/dcp_test2/pkl_6af1e0c1-c441-47f8-a502-3efd46b1fa4f.xml
test/ref/DCP/dcp_test5/ASSETMAP.xml
test/ref/DCP/dcp_test5/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
test/ref/DCP/dcp_test5/pkl_5d51e8a1-b2a5-4da6-9b66-4615c3609440.xml
test/ref/DCP/dcp_test7/ASSETMAP
test/ref/DCP/dcp_test7/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
test/ref/DCP/dcp_test7/pkl_6af1e0c1-c441-47f8-a502-3efd46b1fa4f.xml
test/ref/DCP/encryption_test/ASSETMAP.xml
test/ref/DCP/encryption_test/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
test/ref/DCP/encryption_test/pkl_8ee8f7da-8da2-4adb-ae0e-31e8f4b91900.xml
test/ref/cpl_metadata_test1.xml
test/ref/cpl_metadata_test2.xml
test/ref/write_interop_subtitle_test3/ASSETMAP
test/ref/write_interop_subtitle_test3/pkl_e94b8a0d-27f7-408a-af16-78d3df419a91.xml
test/verify_test.cc