diff options
author | Kacper Michajłow <kasper93@gmail.com> | 2023-10-06 20:32:45 +0200 |
---|---|---|
committer | Dudemanguy <random342@airmail.cc> | 2023-10-07 17:50:50 +0000 |
commit | 44c398c3e133379e01f06c89fd78b6692694849c (patch) | |
tree | c9aac577cf53ba4a7a995bb79bc3c8dc7878812e /video/out/vo.h | |
parent | 9d8dfc7b49380b8c03546ed4fad2385c42438a50 (diff) | |
download | mpv-44c398c3e133379e01f06c89fd78b6692694849c.tar.bz2 mpv-44c398c3e133379e01f06c89fd78b6692694849c.tar.xz |
Revert "video: remove another redundant wakeup"
vo_still_displaying() is racey with vo_request_wakeup_on_done() and above
that it doesn't work as expected. VO can run out of work and go to sleep
for 1000s, while the play thread still returns on vo_still_displaying()
check, because of a check `now < frame_end` so it never advances and go
to sleep itself.
This fixes dead lock that we have when image parameters changes during
playback.
This reverts commit 0c9ac5835be70ae26e4aa875e833fe2c7b3b3bf3.
Fixes: #12575
Diffstat (limited to 'video/out/vo.h')
-rw-r--r-- | video/out/vo.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/video/out/vo.h b/video/out/vo.h index e0b24d4cf7..ca120672f6 100644 --- a/video/out/vo.h +++ b/video/out/vo.h @@ -495,7 +495,6 @@ bool vo_is_ready_for_frame(struct vo *vo, int64_t next_pts); void vo_queue_frame(struct vo *vo, struct vo_frame *frame); void vo_wait_frame(struct vo *vo); bool vo_still_displaying(struct vo *vo); -void vo_request_wakeup_on_done(struct vo *vo); bool vo_has_frame(struct vo *vo); void vo_redraw(struct vo *vo); bool vo_want_redraw(struct vo *vo); |