summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2019-11-26 00:37:42 +0100
committerCarl Hetherington <cth@carlh.net>2020-01-08 21:56:47 +0100
commitb1589146e73ad97d3f29e9d5cafe61e5424796a4 (patch)
treed9be907006d7f41bdad0438644cb84f964f1be24
parentc967096b5061e4bbb3a275d4daf04a2b9c084468 (diff)
Some comments.
-rw-r--r--src/wx/film_viewer.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc
index 3a593fc55..9c3a9c81e 100644
--- a/src/wx/film_viewer.cc
+++ b/src/wx/film_viewer.cc
@@ -322,6 +322,9 @@ FilmViewer::start ()
idle_handler ();
}
+ /* Take the video view's idea of position as our `playhead' and start the
+ audio stream (which is the timing reference) there.
+ */
if (_audio.isStreamOpen()) {
_audio.setStreamTime (_video_view->position().seconds());
_audio.startStream ();
@@ -468,8 +471,14 @@ FilmViewer::seek (DCPTime t, bool accurate)
_butler->seek (t, accurate);
if (!_playing) {
+ /* We're not playing, so let the GUI thread get on and
+ come back later to get the next frame after the seek.
+ */
request_idle_display_next_frame ();
} else {
+ /* We're going to start playing again straight away
+ so wait for the seek to finish.
+ */
while (!_video_view->display_next_frame(false)) {}
}