diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-02-07 20:14:19 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-02-07 20:14:19 +0000 |
| commit | 8bfe295dcc4e1753ee1c89310108bc6bc034cd61 (patch) | |
| tree | 289ccc6ecca26e97248a79a966921edc74b5e08a /src/lib/dcp_decoder.cc | |
| parent | 42a6035c187305bd4c541bb1ab87b242b58beb7e (diff) | |
Fix ignore/referencing logic.
Diffstat (limited to 'src/lib/dcp_decoder.cc')
| -rw-r--r-- | src/lib/dcp_decoder.cc | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/lib/dcp_decoder.cc b/src/lib/dcp_decoder.cc index 3379f8e90..14b791aa2 100644 --- a/src/lib/dcp_decoder.cc +++ b/src/lib/dcp_decoder.cc @@ -77,14 +77,7 @@ DCPDecoder::DCPDecoder (shared_ptr<const DCPContent> c, shared_ptr<Log> log, boo cpl = cpls().front (); } - if (!_decode_referenced) { - if (c->reference_video()) { - video->set_ignore(); - } - if (c->reference_audio()) { - audio->set_ignore(); - } - } + set_decode_referenced (false); _reels = cpl->reels (); @@ -93,6 +86,7 @@ DCPDecoder::DCPDecoder (shared_ptr<const DCPContent> c, shared_ptr<Log> log, boo get_readers (); } + bool DCPDecoder::pass () { @@ -299,9 +293,12 @@ DCPDecoder::seek (ContentTime t, bool accurate) } void -DCPDecoder::set_decode_referenced () +DCPDecoder::set_decode_referenced (bool r) { - _decode_referenced = true; + _decode_referenced = r; + + video->set_ignore (_dcp_content->reference_video() && !_decode_referenced); + audio->set_ignore (_dcp_content->reference_audio() && !_decode_referenced); } void |
