diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-04-22 21:56:38 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-04-22 21:56:38 +0200 |
| commit | 5e1ce36be463bfc48663d4697860340649060d01 (patch) | |
| tree | b05b203e023a3ec1932f2a73ff4ea9d5dcfd7ffd /src/asset_factory.cc | |
| parent | ba27603d5b53231607bc8fe41b201d8811b22b4f (diff) | |
Don't give an error on verifying Interop DCPs with possibly-incorrectly
marked 3D assets.
This also adds a warning into the verification output.
I don't know if this is actually a standard violation but they
have been seen in the wild made by "reputable" DCP creation software.
DoM bug #1976.
Diffstat (limited to 'src/asset_factory.cc')
| -rw-r--r-- | src/asset_factory.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/asset_factory.cc b/src/asset_factory.cc index e02281d2..bab65678 100644 --- a/src/asset_factory.cc +++ b/src/asset_factory.cc @@ -54,7 +54,7 @@ using namespace dcp; shared_ptr<Asset> -dcp::asset_factory (boost::filesystem::path path, bool ignore_incorrect_picture_mxf_type) +dcp::asset_factory (boost::filesystem::path path, bool ignore_incorrect_picture_mxf_type, bool* found_threed_marked_as_twod) { /* XXX: asdcplib does not appear to support discovery of read MXFs standard (Interop / SMPTE) @@ -74,7 +74,11 @@ dcp::asset_factory (boost::filesystem::path path, bool ignore_incorrect_picture_ } catch (dcp::MXFFileError& e) { if (ignore_incorrect_picture_mxf_type && e.number() == ASDCP::RESULT_SFORMAT) { /* Tried to load it as mono but the error says it's stereo; try that instead */ - return make_shared<StereoPictureAsset>(path); + auto stereo = make_shared<StereoPictureAsset>(path); + if (stereo && found_threed_marked_as_twod) { + *found_threed_marked_as_twod = true; + } + return stereo; } else { throw; } |
