Don't clobber the current _player_video when the butler returns AGAIN. Fixes some...
authorCarl Hetherington <cth@carlh.net>
Thu, 23 Apr 2020 18:48:11 +0000 (20:48 +0200)
committerCarl Hetherington <cth@carlh.net>
Thu, 23 Apr 2020 18:48:11 +0000 (20:48 +0200)
src/wx/video_view.cc

index b9c45631edf1f6d583ac429e7473f8063288b773..b0e16737c9c91ebbe88c4b4c8777869c1c0aef9d 100644 (file)
@@ -73,10 +73,11 @@ VideoView::get_next_frame (bool non_blocking)
 
        do {
                Butler::Error e;
-               _player_video = butler->get_video (!non_blocking, &e);
-               if (!_player_video.first && e == Butler::AGAIN) {
+               pair<shared_ptr<PlayerVideo>, dcpomatic::DCPTime> pv = butler->get_video (!non_blocking, &e);
+               if (!pv.first && e == Butler::AGAIN) {
                        return false;
                }
+               _player_video = pv;
        } while (
                _player_video.first &&
                _three_d &&