using std::max;
using std::min;
using std::string;
+using std::list;
using boost::shared_ptr;
using dcp::raw_convert;
: dcp_directory (p.leaf().string())
{
dcp::DCP dcp (p);
- dcp.read ();
+ list<dcp::VerificationNote> notes;
+ dcp.read (¬es);
+ if (!notes.empty()) {
+ throw dcp::DCPReadError(dcp::note_to_string(notes.front()));
+ }
cpl_id = dcp.cpls().front()->id();
cpl_annotation_text = dcp.cpls().front()->annotation_text();
encrypted = false;
BOOST_FOREACH (shared_ptr<dcp::CPL> j, dcp.cpls()) {
- BOOST_FOREACH (shared_ptr<const dcp::ReelAsset> k, j->reel_assets()) {
- shared_ptr<const dcp::ReelMXF> mxf = boost::dynamic_pointer_cast<const dcp::ReelMXF> (k);
- if (mxf && mxf->key_id()) {
+ BOOST_FOREACH (shared_ptr<const dcp::ReelMXF> k, j->reel_mxfs()) {
+ if (k->key_id()) {
encrypted = true;
}
}