From 5b68916d71fbaac6c84ffc37e98d4ad42d450961 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 17 Apr 2019 16:52:02 +0100 Subject: Fix errors when adding reels containing audio after referenced reels (#1528). --- src/lib/player.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/lib') diff --git a/src/lib/player.cc b/src/lib/player.cc index 6e6cd75d7..38c4beaae 100644 --- a/src/lib/player.cc +++ b/src/lib/player.cc @@ -613,8 +613,18 @@ Player::pass () switch (which) { case CONTENT: + { earliest_content->done = earliest_content->decoder->pass (); + shared_ptr dcp = dynamic_pointer_cast(earliest_content->content); + if (dcp && !_play_referenced && dcp->reference_audio()) { + /* We are skipping some referenced DCP audio content, so we need to update _last_audio_time + to `hide' the fact that no audio was emitted during the referenced DCP (though + we need to behave as though it was). + */ + _last_audio_time = dcp->end (_film); + } break; + } case BLACK: emit_video (black_player_video_frame(EYES_BOTH), _black.position()); _black.set_position (_black.position() + one_video_frame()); -- cgit v1.2.3