summaryrefslogtreecommitdiff
path: root/src/dcp.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-05-12 12:35:07 +0200
committerCarl Hetherington <cth@carlh.net>2020-05-12 13:12:48 +0200
commitc871f79f49087582c6ea7a42e79fd5fd3968bf00 (patch)
tree53a194dc5753493e2c5b90e4b9bf2000dcc962fb /src/dcp.cc
parent25b9ff016477a8fda6f0368235275b92dda90c93 (diff)
Add a note when verifying if the DCP refers to assets
that are not mentioned in its ASSETMAP (i.e. a VF).
Diffstat (limited to 'src/dcp.cc')
-rw-r--r--src/dcp.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/dcp.cc b/src/dcp.cc
index 09db9523..2929b5d8 100644
--- a/src/dcp.cc
+++ b/src/dcp.cc
@@ -256,8 +256,17 @@ DCP::read (list<dcp::VerificationNote>* notes, bool ignore_incorrect_picture_mxf
}
}
- BOOST_FOREACH (shared_ptr<CPL> i, cpls ()) {
- i->resolve_refs (other_assets);
+ resolve_refs (other_assets);
+
+ /* While we've got the ASSETMAP lets look and see if this DCP refers to things that are not in its ASSETMAP */
+ if (notes) {
+ BOOST_FOREACH (shared_ptr<CPL> i, cpls()) {
+ BOOST_FOREACH (shared_ptr<const ReelMXF> j, i->reel_mxfs()) {
+ if (!j->asset_ref().resolved() && paths.find(j->asset_ref().id()) == paths.end()) {
+ notes->push_back (VerificationNote(VerificationNote::VERIFY_WARNING, VerificationNote::EXTERNAL_ASSET));
+ }
+ }
+ }
}
}