summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorder richter <der.richter@gmx.de>2024-02-28 16:19:30 +0100
committerder richter <der.richter@gmx.de>2024-02-29 16:40:52 +0100
commit15c48f3dc122be4b29701355cc48eb63cf8e3029 (patch)
tree9aa0b3d903fe9227b5ae681a6a224e47351e77bf /video
parent7758f6f50e103ffecea7f02cf8cc148790b86bb6 (diff)
downloadmpv-15c48f3dc122be4b29701355cc48eb63cf8e3029.tar.bz2
mpv-15c48f3dc122be4b29701355cc48eb63cf8e3029.tar.xz
cocoa-cb: render on main queue instead of dedicated queue
initially we drew on a dedicated render queue to circumvent certain bottlenecks on the main queue, like concurrent events that could lead to late drawing. though due to the way cocoa works we need to draw an the main queue otherwise we get undefined behaviour that could lead to crashes. Fixes #10276
Diffstat (limited to 'video')
-rw-r--r--video/out/mac/gl_layer.swift4
1 files changed, 1 insertions, 3 deletions
diff --git a/video/out/mac/gl_layer.swift b/video/out/mac/gl_layer.swift
index d0d3a6de16..f39ac15ba1 100644
--- a/video/out/mac/gl_layer.swift
+++ b/video/out/mac/gl_layer.swift
@@ -82,8 +82,6 @@ class GLLayer: CAOpenGLLayer {
enum Draw: Int { case normal = 1, atomic, atomicEnd }
var draw: Draw = .normal
- let queue: DispatchQueue = DispatchQueue(label: "io.mpv.queue.draw")
-
var needsICCUpdate: Bool = false {
didSet {
if needsICCUpdate == true {
@@ -239,7 +237,7 @@ class GLLayer: CAOpenGLLayer {
func update(force: Bool = false) {
if force { forceDraw = true }
- queue.async {
+ DispatchQueue.main.async {
if self.forceDraw || !self.inLiveResize {
self.needsFlip = true
self.display()