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)));
}
property == SubtitleContentProperty::COLOUR ||
property == SubtitleContentProperty::OUTLINE ||
property == SubtitleContentProperty::OUTLINE_COLOUR ||
- property == FFmpegContentProperty::SUBTITLE_STREAM
+ property == FFmpegContentProperty::SUBTITLE_STREAM ||
+ property == VideoContentProperty::COLOUR_CONVERSION
) {
_have_valid_pieces = false;
property == VideoContentProperty::CROP ||
property == VideoContentProperty::SCALE ||
property == VideoContentProperty::FADE_IN ||
- property == VideoContentProperty::FADE_OUT ||
- property == VideoContentProperty::COLOUR_CONVERSION
+ property == VideoContentProperty::FADE_OUT
) {
Changed (frequent);
shared_ptr<PlayerVideo> (
new PlayerVideo (
i->image,
- content_video_to_dcp (piece, i->frame),
+ time,
piece->content->video->crop (),
- piece->content->video->fade (i->frame),
+ piece->content->video->fade (i->frame.index()),
image_size,
_video_container_size,
- i->eyes,
+ i->frame.eyes(),
i->part,
piece->content->video->colour_conversion ()
)
scoped_ptr<DCPDecoder> decoder;
try {
- decoder.reset (new DCPDecoder (j, _film->log(), false));
+ decoder.reset (new DCPDecoder (j, _film->log()));
} catch (...) {
return a;
}