diff options
| author | Carl Hetherington <cth@carlh.net> | 2020-05-08 22:44:50 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2020-05-08 22:44:50 +0200 |
| commit | 1a1ad378a86e4546c746ac5b89377f50d8580c15 (patch) | |
| tree | e3f3972f10729deec69ee3634dba6cbad06289ed /src/smpte_subtitle_asset.cc | |
| parent | 7fe06c648aa6e0262dd2d053c93e604de8963342 (diff) | |
Store and allow access to the raw XML that is read in from
subtitle assets so that it cab be verified without any
interference from being passed through libdcp.
Diffstat (limited to 'src/smpte_subtitle_asset.cc')
| -rw-r--r-- | src/smpte_subtitle_asset.cc | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/smpte_subtitle_asset.cc b/src/smpte_subtitle_asset.cc index 33a0c943..81a0aa6f 100644 --- a/src/smpte_subtitle_asset.cc +++ b/src/smpte_subtitle_asset.cc @@ -94,15 +94,15 @@ SMPTESubtitleAsset::SMPTESubtitleAsset (boost::filesystem::path file) _id = read_writer_info (info); if (!_key_id) { /* Not encrypted; read it in now */ - string s; - reader->ReadTimedTextResource (s); - xml->read_string (s); + reader->ReadTimedTextResource (_raw_xml); + xml->read_string (_raw_xml); parse_xml (xml); read_mxf_descriptor (reader, shared_ptr<DecryptionContext> (new DecryptionContext (optional<Key>(), SMPTE))); } } else { /* Plain XML */ try { + _raw_xml = dcp::file_to_string (file); xml.reset (new cxml::Document ("SubtitleReel")); xml->read_file (file); parse_xml (xml); @@ -278,11 +278,10 @@ SMPTESubtitleAsset::set_key (Key key) ); } - string s; shared_ptr<DecryptionContext> dec (new DecryptionContext (key, SMPTE)); - reader->ReadTimedTextResource (s, dec->context(), dec->hmac()); + reader->ReadTimedTextResource (_raw_xml, dec->context(), dec->hmac()); shared_ptr<cxml::Document> xml (new cxml::Document ("SubtitleReel")); - xml->read_string (s); + xml->read_string (_raw_xml); parse_xml (xml); read_mxf_descriptor (reader, dec); } |
