summaryrefslogtreecommitdiffstats
path: root/video/out/cocoa-cb/video_layer.swift
diff options
context:
space:
mode:
Diffstat (limited to 'video/out/cocoa-cb/video_layer.swift')
-rw-r--r--video/out/cocoa-cb/video_layer.swift30
1 files changed, 12 insertions, 18 deletions
diff --git a/video/out/cocoa-cb/video_layer.swift b/video/out/cocoa-cb/video_layer.swift
index 2e347ba22e..c600b06b6c 100644
--- a/video/out/cocoa-cb/video_layer.swift
+++ b/video/out/cocoa-cb/video_layer.swift
@@ -61,7 +61,15 @@ class VideoLayer: CAOpenGLLayer {
super.init()
autoresizingMask = [.layerWidthSizable, .layerHeightSizable]
backgroundColor = NSColor.black.cgColor
- contentsScale = cocoaCB.window.backingScaleFactor
+
+ CGLCreateContext(copyCGLPixelFormat(forDisplayMask: 0), nil, &cglContext)
+ var i: GLint = 1
+ CGLSetParameter(cglContext!, kCGLCPSwapInterval, &i)
+ CGLSetCurrentContext(cglContext!)
+
+ mpv.initRender()
+ mpv.setRenderUpdateCallback(updateCallback, context: self)
+ mpv.setRenderControlCallback(cocoaCB.controlCallback, context: cocoaCB)
}
override init(layer: Any) {
@@ -74,12 +82,6 @@ class VideoLayer: CAOpenGLLayer {
fatalError("init(coder:) has not been implemented")
}
- func setUpRender() {
- mpv.initRender()
- mpv.setRenderUpdateCallback(updateCallback, context: self)
- mpv.setRenderControlCallback(cocoaCB.controlCallback, context: cocoaCB)
- }
-
override func canDraw(inCGLContext ctx: CGLContextObj,
pixelFormat pf: CGLPixelFormatObj,
forLayerTime t: CFTimeInterval,
@@ -177,23 +179,15 @@ class VideoLayer: CAOpenGLLayer {
if err != kCGLNoError || pix == nil {
let errS = String(cString: CGLErrorString(err))
- print("Couldn't create CGL pixel format: \(errS) (\(err.rawValue))")
+ mpv.sendError("Couldn't create CGL pixel format: \(errS) (\(err.rawValue))")
exit(1)
}
return pix!
}
override func copyCGLContext(forPixelFormat pf: CGLPixelFormatObj) -> CGLContextObj {
- let ctx = super.copyCGLContext(forPixelFormat: pf)
- var i: GLint = 1
- CGLSetParameter(ctx, kCGLCPSwapInterval, &i)
- CGLSetCurrentContext(ctx)
- cglContext = ctx
-
- if let app = NSApp as? Application {
- app.initMPVCore()
- }
- return ctx
+ contentsScale = cocoaCB.window.backingScaleFactor
+ return cglContext!
}
let updateCallback: mpv_render_update_fn = { (ctx) in