From 8bfe295dcc4e1753ee1c89310108bc6bc034cd61 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 7 Feb 2018 20:14:19 +0000 Subject: Fix ignore/referencing logic. --- src/lib/dcp_decoder.cc | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'src/lib/dcp_decoder.cc') 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 c, shared_ptr 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 c, shared_ptr 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 -- cgit v1.2.3