summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-08-17 02:15:02 +0100
committerCarl Hetherington <cth@carlh.net>2018-08-17 02:15:02 +0100
commit645c667e29150190d6eb89e2237c4ec717c2d1b5 (patch)
tree74ec4188e3fb113087969e96624ab041359f65b3 /src
parent124a905a55dea0c0f8574f8fec8825f3373a9bae (diff)
Adjust for Interop <PackingList> not needing content.
Diffstat (limited to 'src')
-rw-r--r--src/dcp.cc24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/dcp.cc b/src/dcp.cc
index 232c1443..58195d4b 100644
--- a/src/dcp.cc
+++ b/src/dcp.cc
@@ -143,12 +143,26 @@ DCP::read (bool keep_going, ReadErrors* errors, bool ignore_incorrect_picture_mx
if (starts_with (p, "file://")) {
p = p.substr (7);
}
- optional<string> pkl_bool = i->optional_string_child("PackingList");
- if (pkl_bool && *pkl_bool == "true") {
- pkl_path = p;
- } else {
- paths.insert (make_pair (remove_urn_uuid (i->string_child ("Id")), p));
+ switch (*_standard) {
+ case INTEROP:
+ if (i->optional_node_child("PackingList")) {
+ pkl_path = p;
+ } else {
+ paths.insert (make_pair (remove_urn_uuid (i->string_child ("Id")), p));
+ }
+ break;
+ case SMPTE:
+ {
+ optional<string> pkl_bool = i->optional_string_child("PackingList");
+ if (pkl_bool && *pkl_bool == "true") {
+ pkl_path = p;
+ } else {
+ paths.insert (make_pair (remove_urn_uuid (i->string_child ("Id")), p));
+ }
+ break;
}
+ }
+
}
if (!pkl_path) {