#include "md5_digester.h"
#include <libcxml/cxml.h>
#include <dcp/cpl.h>
-#include <dcp/signer.h>
+#include <dcp/certificate_chain.h>
#include <dcp/util.h>
#include <dcp/local_time.h>
#include <dcp/decrypted_kdm.h>
using boost::optional;
using boost::is_any_of;
using dcp::Size;
-using dcp::Signer;
+using dcp::CertificateChain;
#define LOG_GENERAL(...) log()->log (String::compose (__VA_ARGS__), Log::TYPE_GENERAL);
#define LOG_GENERAL_NC(...) log()->log (__VA_ARGS__, Log::TYPE_GENERAL);
/* Split the raw name up into words */
vector<string> words;
- split (words, raw_name, is_any_of (" "));
+ split (words, raw_name, is_any_of (" _-"));
string fixed_name;
if (!dm.territory.empty ()) {
d << "_" << dm.territory;
- if (!dm.rating.empty ()) {
+ if (dm.rating.empty ()) {
+ d << "-NR";
+ } else {
d << "-" << dm.rating;
}
}
{
_three_d = t;
signal_changed (THREE_D);
+
+ if (_three_d && _isdcf_metadata.two_d_version_of_three_d) {
+ _isdcf_metadata.two_d_version_of_three_d = false;
+ signal_changed (ISDCF_METADATA);
+ }
}
void
void
Film::examine_and_add_content (shared_ptr<Content> c)
{
- if (dynamic_pointer_cast<FFmpegContent> (c)) {
+ if (dynamic_pointer_cast<FFmpegContent> (c) && !_directory.empty ()) {
run_ffprobe (c->path(0), file ("ffprobe.log"), _log);
}
void
Film::playlist_content_changed (boost::weak_ptr<Content> c, int p, bool frequent)
{
+ _dirty = true;
+
if (p == VideoContentProperty::VIDEO_FRAME_RATE) {
set_video_frame_rate (_playlist->best_dcp_frame_rate ());
} else if (p == AudioContentProperty::AUDIO_STREAMS) {
) const
{
shared_ptr<const dcp::CPL> cpl (new dcp::CPL (cpl_file));
- shared_ptr<const dcp::Signer> signer = Config::instance()->signer();
+ shared_ptr<const dcp::CertificateChain> signer = Config::instance()->signer_chain ();
if (!signer->valid ()) {
throw InvalidSignerError ();
}