From 383627a0b3bc5eec4d603d961d232d90bd5e75de Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sat, 23 Mar 2019 08:28:47 +0000 Subject: [PATCH] libdcp API fixes. --- src/lib/player.cc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lib/player.cc b/src/lib/player.cc index 38c4beaae..50bcef0ec 100644 --- a/src/lib/player.cc +++ b/src/lib/player.cc @@ -467,11 +467,11 @@ static void maybe_add_asset (list& a, shared_ptr r, Frame reel_trim_start, Frame reel_trim_end, DCPTime from, int const ffr) { DCPOMATIC_ASSERT (r); - r->set_entry_point (r->entry_point() + reel_trim_start); - r->set_duration (r->duration() - reel_trim_start - reel_trim_end); - if (r->duration() > 0) { + r->set_entry_point (r->entry_point().get_value_or(0) + reel_trim_start); + r->set_duration (r->actual_duration() - reel_trim_start - reel_trim_end); + if (r->actual_duration() > 0) { a.push_back ( - ReferencedReelAsset(r, DCPTimePeriod(from, from + DCPTime::from_frames(r->duration(), ffr))) + ReferencedReelAsset(r, DCPTimePeriod(from, from + DCPTime::from_frames(r->actual_duration(), ffr))) ); } } @@ -508,13 +508,13 @@ Player::get_reel_assets () int64_t offset_from_end = 0; BOOST_FOREACH (shared_ptr k, decoder->reels()) { /* Assume that main picture duration is the length of the reel */ - offset_from_end += k->main_picture()->duration(); + offset_from_end += k->main_picture()->actual_duration(); } BOOST_FOREACH (shared_ptr k, decoder->reels()) { /* Assume that main picture duration is the length of the reel */ - int64_t const reel_duration = k->main_picture()->duration(); + int64_t const reel_duration = k->main_picture()->actual_duration(); /* See doc/design/trim_reels.svg */ Frame const reel_trim_start = min(reel_duration, max(int64_t(0), trim_start - offset_from_start)); -- 2.30.2