#include "exceptions.h"
#include "frame_rate_change.h"
#include "text_content.h"
-#include "decrypted_ecinema_kdm.h"
#include <dcp/raw_convert.h>
#include <libcxml/cxml.h>
extern "C" {
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
text.push_back (shared_ptr<TextContent> (new TextContent (this, TEXT_OPEN_SUBTITLE, TEXT_UNKNOWN)));
_subtitle_stream = _subtitle_streams.front ();
}
-
-#ifdef DCPOMATIC_VARIANT_SWAROOP
- _encrypted = first_path.extension() == ".ecinema";
-#endif
}
if (examiner->has_video ()) {
set_video_frame_rate (24000.0 / 1001);
video->set_length (video->length() * 24.0 / 30);
}
-
-#ifdef DCPOMATIC_VARIANT_SWAROOP
- _id = examiner->id ();
-#endif
}
string
_filters = fc->_filters;
}
-#ifdef DCPOMATIC_VARIANT_SWAROOP
-void
-FFmpegContent::add_kdm (EncryptedECinemaKDM kdm)
-{
- ChangeSignaller<Content> cc (this, FFmpegContentProperty::KDM);
- boost::mutex::scoped_lock lm (_mutex);
- _kdm = kdm;
-
-}
-
-bool
-FFmpegContent::kdm_timing_window_valid () const
-{
- if (!_kdm) {
- return true;
- }
-
- DCPOMATIC_ASSERT (Config::instance()->decryption_chain()->key());
-
- DecryptedECinemaKDM decrypted (*_kdm, *Config::instance()->decryption_chain()->key());
-
- dcp::LocalTime now;
- return (!decrypted.not_valid_before() || *decrypted.not_valid_before() < now) &&
- (!decrypted.not_valid_after() || now < *decrypted.not_valid_after());
-}
-
-#endif