#include <dcp/reel_subtitle_asset.h>
#include <dcp/dcp.h>
#include <dcp/cpl.h>
-#include <dcp/signer.h>
+#include <dcp/certificate_chain.h>
#include <dcp/interop_subtitle_asset.h>
#include <dcp/smpte_subtitle_asset.h>
#include <boost/foreach.hpp>
}
/* Check that the signer is OK if we need one */
- if (_film->is_signed() && !Config::instance()->signer()->valid ()) {
+ if (_film->is_signed() && !Config::instance()->signer_chain()->valid ()) {
throw InvalidSignerError ();
}
void
Writer::write_frame_info (int frame, Eyes eyes, dcp::FrameInfo info) const
{
- FILE* file = fopen_boost (_film->info_file(), "ab");
+ FILE* file = fopen_boost (_film->info_file(), "r+b");
if (!file) {
throw OpenFileError (_film->info_file ());
}
}
/* Nothing to do: wait until something happens which may indicate that we do */
- LOG_TIMING (N_("writer sleeps with a queue of %1"), _queue.size());
+ LOG_TIMING (N_("writer-sleep queue=%1"), _queue.size());
_empty_condition.wait (lock);
- LOG_TIMING (N_("writer wakes with a queue of %1"), _queue.size());
+ LOG_TIMING (N_("writer-wake queue=%1"), _queue.size());
}
if (_finish && _queue.empty()) {
}
dcp::XMLMetadata meta;
+ meta.creator = Config::instance()->dcp_creator ();
+ if (meta.creator.empty ()) {
+ meta.creator = String::compose ("DCP-o-matic %1 %2", dcpomatic_version, dcpomatic_git_commit);
+ }
meta.issuer = Config::instance()->dcp_issuer ();
- meta.creator = String::compose ("DCP-o-matic %1 %2", dcpomatic_version, dcpomatic_git_commit);
+ if (meta.issuer.empty ()) {
+ meta.issuer = String::compose ("DCP-o-matic %1 %2", dcpomatic_version, dcpomatic_git_commit);
+ }
meta.set_issue_date_now ();
- shared_ptr<const dcp::Signer> signer;
+ cpl->set_metadata (meta);
+
+ shared_ptr<const dcp::CertificateChain> signer;
if (_film->is_signed ()) {
- signer = Config::instance()->signer ();
+ signer = Config::instance()->signer_chain ();
/* We did check earlier, but check again here to be on the safe side */
if (!signer->valid ()) {
throw InvalidSignerError ();
DCPOMATIC_ASSERT (false);
}
-
DCPOMATIC_ASSERT (false);
}