continue;
}
- shared_ptr<Decoder> decoder = decoder_factory (i, _film->log(), _fast);
+ shared_ptr<Decoder> decoder = decoder_factory (i, _film->log());
FrameRateChange frc (i->active_video_frame_rate(), _film->video_frame_rate());
if (!decoder) {
decoder->audio->set_ignore ();
}
+ if (decoder->audio && _fast) {
+ decoder->audio->set_fast ();
+ }
+
+ shared_ptr<DCPDecoder> dcp = dynamic_pointer_cast<DCPDecoder> (decoder);
+ if (dcp && _play_referenced) {
+ dcp->set_decode_referenced ();
+ }
+
_pieces.push_back (shared_ptr<Piece> (new Piece (i, decoder, frc)));
}
scoped_ptr<DCPDecoder> decoder;
try {
- decoder.reset (new DCPDecoder (j, _film->log(), false));
+ decoder.reset (new DCPDecoder (j, _film->log()));
} catch (...) {
return a;
}