- content.reset (new DCPSubtitleContent (film, path));
- } else if (ext == ".mxf" && dcp::SMPTESubtitleAsset::valid_mxf (path)) {
- content.reset (new DCPSubtitleContent (film, path));
- } else if (ext == ".mxf" && VideoMXFContent::valid_mxf (path)) {
- content.reset (new VideoMXFContent (film, path));
- } else if (ext == ".mxf" && AtmosMXFContent::valid_mxf (path)) {
- content.reset (new AtmosMXFContent (film, path));
+ cxml::Document doc;
+ doc.read_file (path);
+ if (doc.root_name() == "DCinemaSecurityMessage") {
+ throw KDMAsContentError ();
+ }
+ single = make_shared<DCPSubtitleContent>(path);
+ } else if (ext == ".mxf" && dcp::SMPTESubtitleAsset::valid_mxf(path)) {
+ single = make_shared<DCPSubtitleContent>(path);
+ } else if (ext == ".mxf" && VideoMXFContent::valid_mxf(path)) {
+ single = make_shared<VideoMXFContent>(path);
+ } else if (ext == ".mxf" && AtmosMXFContent::valid_mxf(path)) {
+ single = make_shared<AtmosMXFContent>(path);