diff options
author | Dudemanguy <random342@airmail.cc> | 2024-01-26 22:56:50 -0600 |
---|---|---|
committer | Dudemanguy <random342@airmail.cc> | 2024-01-26 22:56:50 -0600 |
commit | 99d387bbc81e36f60da26d63b96736e2461bcd2e (patch) | |
tree | 68a1212d78f702e6622edc5762a134a43a0b9ed5 | |
parent | e9076896cda821b74eab08d2128790c0d03ea906 (diff) | |
download | mpv-99d387bbc81e36f60da26d63b96736e2461bcd2e.tar.bz2 mpv-99d387bbc81e36f60da26d63b96736e2461bcd2e.tar.xz |
vo: ensure a dropped frame is always freed
7b8a30fc8132203bc93d35ac887682d2044ad5a9 made it possible for a VO to
have direct ownership of frame objects since the it may be beneficial
for the frame to follow the lifecycle of that particular VO instead
(i.e. the wayland compositor for dmabuf-wayland). But when frames are
dropped, this always has to be unconditionally freed since the VO isn't
aware of it. Fixes #13364.
-rw-r--r-- | video/out/vo.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/video/out/vo.c b/video/out/vo.c index 7581d9680e..1a385f8285 100644 --- a/video/out/vo.c +++ b/video/out/vo.c @@ -1003,7 +1003,7 @@ static bool render_frame(struct vo *vo) wakeup_core(vo); done: - if (!vo->driver->frame_owner) + if (!vo->driver->frame_owner || in->dropped_frame) talloc_free(frame); mp_mutex_unlock(&in->lock); |