summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--osdep/macOS_mpv_helper.swift5
-rw-r--r--video/out/cocoa-cb/video_layer.swift5
2 files changed, 6 insertions, 4 deletions
diff --git a/osdep/macOS_mpv_helper.swift b/osdep/macOS_mpv_helper.swift
index 20407968e2..8ceada6d2e 100644
--- a/osdep/macOS_mpv_helper.swift
+++ b/osdep/macOS_mpv_helper.swift
@@ -128,7 +128,7 @@ class MPVHelper: NSObject {
return flags & UInt64(MPV_RENDER_UPDATE_FRAME.rawValue) > 0
}
- func drawRender(_ surface: NSSize, skip: Bool = false) {
+ func drawRender(_ surface: NSSize, _ ctx: CGLContextObj, skip: Bool = false) {
deinitLock.lock()
if mpvRenderContext != nil {
var i: GLint = 0
@@ -154,6 +154,9 @@ class MPVHelper: NSObject {
glClearColor(0, 0, 0, 1)
glClear(GLbitfield(GL_COLOR_BUFFER_BIT))
}
+
+ if !skip { CGLFlushDrawable(ctx) }
+
deinitLock.unlock()
}
diff --git a/video/out/cocoa-cb/video_layer.swift b/video/out/cocoa-cb/video_layer.swift
index ccc84f8fa8..69a9620409 100644
--- a/video/out/cocoa-cb/video_layer.swift
+++ b/video/out/cocoa-cb/video_layer.swift
@@ -110,8 +110,7 @@ class VideoLayer: CAOpenGLLayer {
}
updateSurfaceSize()
- mpv.drawRender(surfaceSize!)
- CGLFlushDrawable(ctx)
+ mpv.drawRender(surfaceSize!, ctx)
if needsICCUpdate {
needsICCUpdate = false
@@ -244,7 +243,7 @@ class VideoLayer: CAOpenGLLayer {
if isUpdate && needsFlip {
CGLSetCurrentContext(cglContext!)
if mpv.isRenderUpdateFrame() {
- mpv.drawRender(NSZeroSize, skip: true)
+ mpv.drawRender(NSZeroSize, cglContext!, skip: true)
}
}
displayLock.unlock()