diff options
| author | Carl Hetherington <cth@carlh.net> | 2019-08-30 23:16:21 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2019-08-30 23:16:21 +0100 |
| commit | 1f88a38a2a607c21988a403e76f315444c4be36b (patch) | |
| tree | 2b14f959784faf33eec61172552d9c50b72a0f65 /src/lib/dcp_content.cc | |
| parent | 77d2514fee2919c32e4db92b8f75369754d17fb5 (diff) | |
Make player more tolerant of some DCP errors.
Diffstat (limited to 'src/lib/dcp_content.cc')
| -rw-r--r-- | src/lib/dcp_content.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/lib/dcp_content.cc b/src/lib/dcp_content.cc index dc1a463c5..95f293b4d 100644 --- a/src/lib/dcp_content.cc +++ b/src/lib/dcp_content.cc @@ -198,7 +198,7 @@ DCPContent::examine (shared_ptr<const Film> film, shared_ptr<Job> job) } Content::examine (film, job); - shared_ptr<DCPExaminer> examiner (new DCPExaminer (shared_from_this ())); + shared_ptr<DCPExaminer> examiner (new DCPExaminer(shared_from_this(), film->tolerant())); if (examiner->has_video()) { { @@ -478,7 +478,7 @@ DCPContent::reels (shared_ptr<const Film> film) const if (reel_lengths.empty ()) { /* Old metadata with no reel lengths; get them here instead */ try { - scoped_ptr<DCPExaminer> examiner (new DCPExaminer (shared_from_this())); + scoped_ptr<DCPExaminer> examiner (new DCPExaminer(shared_from_this(), film->tolerant())); reel_lengths = examiner->reel_lengths (); } catch (...) { /* Could not examine the DCP; guess reels */ @@ -625,7 +625,7 @@ DCPContent::can_reference_audio (shared_ptr<const Film> film, string& why_not) c { shared_ptr<DCPDecoder> decoder; try { - decoder.reset (new DCPDecoder (film, shared_from_this(), false)); + decoder.reset (new DCPDecoder (film, shared_from_this(), false, film->tolerant(), shared_ptr<DCPDecoder>())); } catch (dcp::DCPReadError &) { /* We couldn't read the DCP, so it's probably missing */ return false; @@ -660,7 +660,7 @@ DCPContent::can_reference_text (shared_ptr<const Film> film, TextType type, stri { shared_ptr<DCPDecoder> decoder; try { - decoder.reset (new DCPDecoder (film, shared_from_this(), false)); + decoder.reset (new DCPDecoder (film, shared_from_this(), false, film->tolerant(), shared_ptr<DCPDecoder>())); } catch (dcp::DCPReadError &) { /* We couldn't read the DCP, so it's probably missing */ return false; |
