Fixes for MPV in macOS

This commit is contained in:
Arkadiusz Fal
2022-02-27 21:31:17 +01:00
parent d32b38c352
commit 79118ff7e2
54 changed files with 695 additions and 249 deletions

View File

@@ -2,10 +2,10 @@ import SwiftUI
#if !os(macOS)
struct MPVPlayerView: UIViewControllerRepresentable {
@EnvironmentObject<PlayerModel> private var player
@State private var controller = MPVViewController()
@EnvironmentObject<PlayerModel> private var player
func makeUIViewController(context _: Context) -> some UIViewController {
player.mpvBackend.controller = controller
player.mpvBackend.client = controller.client
@@ -17,15 +17,23 @@ import SwiftUI
}
#else
struct MPVPlayerView: NSViewRepresentable {
let layer: VideoLayer
@State private var client = MPVClient()
@State private var layer = VideoLayer()
@EnvironmentObject<PlayerModel> private var player
func makeNSView(context _: Context) -> some NSView {
let vview = VideoView()
client.layer = layer
layer.client = client
vview.layer = layer
vview.wantsLayer = true
let view = MPVOGLView()
return vview
view.layer = client.layer
view.wantsLayer = true
player.mpvBackend.client = client
return view
}
func updateNSView(_: NSViewType, context _: Context) {}