*/
av_dict_set (&options, "analyzeduration", raw_convert<string> (5 * 60 * 1000000).c_str(), 0);
av_dict_set (&options, "probesize", raw_convert<string> (5 * 60 * 1000000).c_str(), 0);
+#ifdef DCPOMATIC_VARIANT_SWAROOP
if (_ffmpeg_content->kdm()) {
DecryptedECinemaKDM kdm (_ffmpeg_content->kdm().get(), Config::instance()->decryption_chain()->key().get());
av_dict_set (&options, "decryption_key", kdm.key().hex().c_str(), 0);
}
+#endif
int e = avformat_open_input (&_format_context, 0, 0, &options);
if (e < 0) {
FFmpegContent::FFmpegContent (boost::filesystem::path p)
: Content (p)
+#ifdef DCPOMATIC_VARIANT_SWAROOP
, _encrypted (false)
+#endif
{
}
_color_trc = get_optional_enum<AVColorTransferCharacteristic>(node, "ColorTransferCharacteristic");
_colorspace = get_optional_enum<AVColorSpace>(node, "Colorspace");
_bits_per_pixel = node->optional_number_child<int> ("BitsPerPixel");
+#ifdef DCPOMATIC_VARIANT_SWAROOP
_encrypted = node->optional_bool_child("Encrypted").get_value_or(false);
+#endif
}
FFmpegContent::FFmpegContent (vector<shared_ptr<Content> > c)
_color_trc = ref->_color_trc;
_colorspace = ref->_colorspace;
_bits_per_pixel = ref->_bits_per_pixel;
+#ifdef DCPOMATIC_VARIANT_SWAROOP
_encrypted = ref->_encrypted;
+#endif
}
void
if (_bits_per_pixel) {
node->add_child("BitsPerPixel")->add_child_text (raw_convert<string> (*_bits_per_pixel));
}
+#ifdef DCPOMATIC_VARIANT_SWAROOP
if (_encrypted) {
node->add_child("Encypted")->add_child_text ("1");
}
+#endif
}
void
_subtitle_stream = _subtitle_streams.front ();
}
+#ifdef DCPOMATIC_VARIANT_SWAROOP
_encrypted = first_path.extension() == ".ecinema";
+#endif
}
if (examiner->has_video ()) {
void
write_files (
- list<ScreenKDM> screen_kdms,
+ list<shared_ptr<ScreenKDM> > screen_kdms,
bool zip,
boost::filesystem::path output,
dcp::NameFormat container_name_format,
values['e'] = dcp::LocalTime(valid_to).date() + " " + dcp::LocalTime(valid_to).time_of_day(true, false);
try {
- list<ScreenKDM> screen_kdms = film->make_kdms (
+ list<shared_ptr<ScreenKDM> > screen_kdms = film->make_kdms (
screens, cpl, valid_from, valid_to, formulation, disable_forensic_marking_picture, disable_forensic_marking_audio
);
values['e'] = dcp::LocalTime(valid_to).date() + " " + dcp::LocalTime(valid_to).time_of_day(true, false);
try {
- list<ScreenKDM> screen_kdms;
+ list<shared_ptr<ScreenKDM> > screen_kdms;
BOOST_FOREACH (shared_ptr<Screen> i, screens) {
if (!i->recipient) {
continue;
}
screen_kdms.push_back (
- ScreenKDM (
- i,
- kdm_from_dkdm (
- dkdm,
- i->recipient.get(),
- i->trusted_device_thumbprints(),
- dcp::LocalTime(valid_from, i->cinema->utc_offset_hour(), i->cinema->utc_offset_minute()),
- dcp::LocalTime(valid_to, i->cinema->utc_offset_hour(), i->cinema->utc_offset_minute()),
- formulation,
- disable_forensic_marking_picture,
- disable_forensic_marking_audio
+ shared_ptr<ScreenKDM>(
+ new DCPScreenKDM(
+ i,
+ kdm_from_dkdm(
+ dkdm,
+ i->recipient.get(),
+ i->trusted_device_thumbprints(),
+ dcp::LocalTime(valid_from, i->cinema->utc_offset_hour(), i->cinema->utc_offset_minute()),
+ dcp::LocalTime(valid_to, i->cinema->utc_offset_hour(), i->cinema->utc_offset_minute()),
+ formulation,
+ disable_forensic_marking_picture,
+ disable_forensic_marking_audio
+ )
)
)
);