summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/dcp_content.cc7
-rw-r--r--src/wx/content_menu.cc2
2 files changed, 7 insertions, 2 deletions
diff --git a/src/lib/dcp_content.cc b/src/lib/dcp_content.cc
index 9d4ee6388..a5b5f37e1 100644
--- a/src/lib/dcp_content.cc
+++ b/src/lib/dcp_content.cc
@@ -58,6 +58,9 @@ DCPContent::DCPContent (shared_ptr<const Film> f, cxml::ConstNodePtr node, int v
_has_subtitles = node->bool_child ("HasSubtitles");
_directory = node->string_child ("Directory");
_encrypted = node->bool_child ("Encrypted");
+ if (node->optional_node_child ("KDM")) {
+ _kdm = dcp::EncryptedKDM (node->string_child ("KDM"));
+ }
_kdm_valid = node->bool_child ("KDMValid");
}
@@ -126,7 +129,9 @@ DCPContent::as_xml (xmlpp::Node* node) const
node->add_child("HasSubtitles")->add_child_text (_has_subtitles ? "1" : "0");
node->add_child("Encrypted")->add_child_text (_encrypted ? "1" : "0");
node->add_child("Directory")->add_child_text (_directory.string ());
- /* XXX: KDM */
+ if (_kdm) {
+ node->add_child("KDM")->add_child_text (_kdm->as_xml ());
+ }
node->add_child("KDMValid")->add_child_text (_kdm_valid ? "1" : "0");
}
diff --git a/src/wx/content_menu.cc b/src/wx/content_menu.cc
index b396ceb41..741fc8283 100644
--- a/src/wx/content_menu.cc
+++ b/src/wx/content_menu.cc
@@ -249,7 +249,7 @@ ContentMenu::kdm ()
wxFileDialog* d = new wxFileDialog (_parent, _("Select KDM"));
if (d->ShowModal() == wxID_OK) {
- dcp->add_kdm (dcp::EncryptedKDM (wx_to_std (d->GetPath ())));
+ dcp->add_kdm (dcp::EncryptedKDM (dcp::file_to_string (wx_to_std (d->GetPath ()))));
shared_ptr<Film> film = _film.lock ();
assert (film);
film->examine_content (dcp);