summaryrefslogtreecommitdiff
path: root/src/tools/dcpomatic_player.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-09-25 01:28:37 +0100
committerCarl Hetherington <cth@carlh.net>2018-09-25 01:28:37 +0100
commit3e19bf7df70928442644b225c876d51f9fa413da (patch)
tree009fc197a42bf21cfaff55bec6ccf05721c1acc0 /src/tools/dcpomatic_player.cc
parent8414829693900c3d6362a4f15d677bb7e1462c3e (diff)
Fix log display and auto-load KDMs from the configured directory.v2.13.55
Diffstat (limited to 'src/tools/dcpomatic_player.cc')
-rw-r--r--src/tools/dcpomatic_player.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/tools/dcpomatic_player.cc b/src/tools/dcpomatic_player.cc
index 07583ccaf..db9b21d92 100644
--- a/src/tools/dcpomatic_player.cc
+++ b/src/tools/dcpomatic_player.cc
@@ -315,6 +315,27 @@ public:
return;
}
+ /* The DCP has been examined and loaded */
+
+ optional<boost::filesystem::path> kdm_dir = Config::instance()->player_kdm_directory();
+ if (dcp->needs_kdm() && kdm_dir) {
+ /* Look for a KDM */
+ using namespace boost::filesystem;
+ for (directory_iterator i = directory_iterator(*kdm_dir); i != directory_iterator(); ++i) {
+ if (file_size(i->path()) < MAX_KDM_SIZE) {
+ try {
+ dcp::EncryptedKDM kdm(dcp::file_to_string(i->path()));
+ if (kdm.cpl_id() == dcp->cpl()) {
+ dcp->add_kdm (kdm);
+ dcp->examine (shared_ptr<Job>());
+ }
+ } catch (...) {
+ /* Hey well */
+ }
+ }
+ }
+ }
+
setup_from_dcp (dcp);
if (dcp->three_d()) {