Add FilmViewer::time_until_next_frame.
[dcpomatic.git] / src / wx / film_viewer.cc
index 178311ac9bb0f78859c71e9569c2e524831a5eb5..373e6d717246d956f982242d83103ce1cbc405fb 100644 (file)
@@ -157,8 +157,7 @@ FilmViewer::set_film (shared_ptr<Film> film)
 
        _film = film;
        _video_position = DCPTime ();
-       _player_video.first.reset ();
-       _player_video.second = DCPTime ();
+       _video_view->clear ();
 
        _video_view->set_image (shared_ptr<Image>());
        _closed_captions_dialog->clear ();
@@ -406,11 +405,11 @@ FilmViewer::slow_refresh ()
 bool
 FilmViewer::quick_refresh ()
 {
-       if (!_player_video.first) {
+       if (!_video_view->_player_video.first) {
                return false;
        }
 
-       if (!_player_video.first->reset_metadata (_film, _player->video_container_size(), _film->frame_size())) {
+       if (!_video_view->_player_video.first->reset_metadata (_film, _player->video_container_size(), _film->frame_size())) {
                return false;
        }
 
@@ -634,3 +633,11 @@ FilmViewer::set_pad_black (bool p)
 {
        _pad_black = p;
 }
+
+/* XXX_b: comment */
+int
+FilmViewer::time_until_next_frame () const
+{
+       DCPTime const next = position() + one_video_frame();
+       return max ((next.seconds() - time().seconds()) * 1000, 1.0);
+}