diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-09-25 01:28:37 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-09-25 01:28:37 +0100 |
| commit | 3e19bf7df70928442644b225c876d51f9fa413da (patch) | |
| tree | 009fc197a42bf21cfaff55bec6ccf05721c1acc0 /src/tools/dcpomatic_player.cc | |
| parent | 8414829693900c3d6362a4f15d677bb7e1462c3e (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.cc | 21 |
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()) { |
