From b35baeb5ec29c2dee9d79a646bb9c3ad884a8db7 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 8 May 2017 00:32:55 +0100 Subject: [PATCH] Small refactoring. --- src/lib/player.cc | 33 +++++++++++++++------------------ src/lib/player.h | 1 + 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/src/lib/player.cc b/src/lib/player.cc index 1f5639f68..081174acc 100644 --- a/src/lib/player.cc +++ b/src/lib/player.cc @@ -650,16 +650,7 @@ Player::video (weak_ptr wp, ContentVideo video) ) ); - optional subtitles = subtitles_for_frame (time); - if (subtitles) { - _last_video->set_subtitle (subtitles.get ()); - } - - Video (_last_video, time); - - _last_video_time = time + one_video_frame (); - - _active_subtitles.clear_before (time); + emit_video (_last_video, time); } void @@ -950,20 +941,26 @@ Player::fill_video (DCPTimePeriod period) BOOST_FOREACH (DCPTimePeriod i, subtract(period, _no_video)) { for (DCPTime j = i.from; j < i.to; j += one_video_frame()) { if (_playlist->video_content_at(j) && _last_video) { - Video (shared_ptr (new PlayerVideo (*_last_video)), j); + emit_video (shared_ptr (new PlayerVideo (*_last_video)), j); } else { - shared_ptr black = black_player_video_frame (); - optional subtitles = subtitles_for_frame (j); - if (subtitles) { - black->set_subtitle (subtitles.get ()); - } - Video (black, j); + emit_video (black_player_video_frame(), j); } - _last_video_time = j; } } } +void +Player::emit_video (shared_ptr pv, DCPTime time) +{ + optional subtitles = subtitles_for_frame (time); + if (subtitles) { + pv->set_subtitle (subtitles.get ()); + } + Video (pv, time); + _last_video_time = time + one_video_frame(); + _active_subtitles.clear_before (time); +} + void Player::fill_audio (DCPTimePeriod period) { diff --git a/src/lib/player.h b/src/lib/player.h index 760b54a60..ea792d4da 100644 --- a/src/lib/player.h +++ b/src/lib/player.h @@ -118,6 +118,7 @@ private: boost::shared_ptr audio, DCPTime time, DCPTime discard_to ) const; boost::optional subtitles_for_frame (DCPTime time) const; + void emit_video (boost::shared_ptr pv, DCPTime time); boost::shared_ptr _film; boost::shared_ptr _playlist; -- 2.30.2