diff options
| author | Carl Hetherington <cth@carlh.net> | 2019-11-23 10:42:16 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2020-01-08 21:56:47 +0100 |
| commit | 89e92b3e7effafd2ca3aa1e9300777f2d2fb6183 (patch) | |
| tree | bb542303b25fd0a09be1df91319beb67e1609759 /src/wx/gl_video_view.cc | |
| parent | ac69a0eb81e23a341545e05fa12a0e26070cb222 (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.cc | 8 |
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 |
