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 ();
get_readers ();
}
+
bool
DCPDecoder::pass ()
{
}
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
return _reels;
}
- void set_decode_referenced ();
+ void set_decode_referenced (bool r);
void set_forced_reduction (boost::optional<int> reduction);
bool pass ();
virtual ContentTime position () const = 0;
- void set_ignore () {
- _ignore = true;
+ void set_ignore (bool i) {
+ _ignore = i;
}
bool ignore () const {
}
if (decoder->video && _ignore_video) {
- decoder->video->set_ignore ();
+ decoder->video->set_ignore (true);
}
if (decoder->subtitle && _ignore_subtitle) {
- decoder->subtitle->set_ignore ();
+ decoder->subtitle->set_ignore (true);
}
shared_ptr<DCPDecoder> dcp = dynamic_pointer_cast<DCPDecoder> (decoder);
- if (dcp && _play_referenced) {
+ if (dcp) {
+ dcp->set_decode_referenced (_play_referenced);
if (_play_referenced) {
- dcp->set_decode_referenced ();
+ dcp->set_forced_reduction (_dcp_decode_reduction);
}
- dcp->set_forced_reduction (_dcp_decode_reduction);
}
shared_ptr<Piece> piece (new Piece (i, decoder, frc));
}
if (decoder->video) {
- decoder->video->set_ignore ();
+ decoder->video->set_ignore (true);
}
if (decoder->audio) {
- decoder->audio->set_ignore ();
+ decoder->audio->set_ignore (true);
}
_subs = 0;