X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fsmpte_subtitle_asset.cc;h=81a0aa6f42093f26b7737a361b17a1ba53ce70d4;hb=1a1ad378a86e4546c746ac5b89377f50d8580c15;hp=33a0c943536d5d79b7928bdeeb3033a15579984e;hpb=7fe06c648aa6e0262dd2d053c93e604de8963342;p=libdcp.git 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 (new DecryptionContext (optional(), 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 dec (new DecryptionContext (key, SMPTE)); - reader->ReadTimedTextResource (s, dec->context(), dec->hmac()); + reader->ReadTimedTextResource (_raw_xml, dec->context(), dec->hmac()); shared_ptr xml (new cxml::Document ("SubtitleReel")); - xml->read_string (s); + xml->read_string (_raw_xml); parse_xml (xml); read_mxf_descriptor (reader, dec); }