summaryrefslogtreecommitdiff
path: root/src/wx/gl_video_view.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2019-11-23 10:42:16 +0100
committerCarl Hetherington <cth@carlh.net>2020-01-08 21:56:47 +0100
commit89e92b3e7effafd2ca3aa1e9300777f2d2fb6183 (patch)
treebb542303b25fd0a09be1df91319beb67e1609759 /src/wx/gl_video_view.cc
parentac69a0eb81e23a341545e05fa12a0e26070cb222 (diff)
Don't busy-wait when there's nothing to play.
Diffstat (limited to 'src/wx/gl_video_view.cc')
-rw-r--r--src/wx/gl_video_view.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/wx/gl_video_view.cc b/src/wx/gl_video_view.cc
index ddae9bb3c..a461939a7 100644
--- a/src/wx/gl_video_view.cc
+++ b/src/wx/gl_video_view.cc
@@ -334,13 +334,17 @@ try
}
draw (inter_position, inter_size);
- while (time_until_next_frame() < 5) {
+ while (true) {
+ optional<int> n = time_until_next_frame();
+ if (!n || *n > 5) {
+ break;
+ }
get_next_frame (true);
add_dropped ();
}
boost::this_thread::interruption_point ();
- dcpomatic_sleep_milliseconds (time_until_next_frame());
+ dcpomatic_sleep_milliseconds (time_until_next_frame().get_value_or(0));
}
/* XXX: leaks _context, but that seems preferable to deleting it here