mirror of https://github.com/mpv-player/mpv
mac/option: make option helper vo struct independent
This commit is contained in:
parent
90c534a821
commit
6defd49aa1
|
@ -20,7 +20,6 @@ import Cocoa
|
|||
typealias swift_wakeup_cb_fn = (@convention(c) (UnsafeMutableRawPointer?) -> Void)?
|
||||
|
||||
class OptionHelper: NSObject {
|
||||
var vo: UnsafeMutablePointer<vo>
|
||||
var optsCachePtr: UnsafeMutablePointer<m_config_cache>
|
||||
var macOptsCachePtr: UnsafeMutablePointer<m_config_cache>
|
||||
|
||||
|
@ -35,11 +34,9 @@ class OptionHelper: NSObject {
|
|||
var opts: mp_vo_opts { get { return optsPtr.pointee } }
|
||||
var macOpts: macos_opts { get { return macOptsPtr.pointee } }
|
||||
|
||||
init(_ vo: UnsafeMutablePointer<vo>) {
|
||||
self.vo = vo
|
||||
|
||||
guard let cache = m_config_cache_alloc(vo, vo.pointee.global, Application.getVoSubConf()),
|
||||
let macCache = m_config_cache_alloc(vo, vo.pointee.global, Application.getMacOSConf()) else
|
||||
init(_ taParent: UnsafeMutableRawPointer, _ global: OpaquePointer?) {
|
||||
guard let cache = m_config_cache_alloc(taParent, global, Application.getVoSubConf()),
|
||||
let macCache = m_config_cache_alloc(taParent, global, Application.getMacOSConf()) else
|
||||
{
|
||||
// will never be hit, mp_get_config_group asserts for invalid groups
|
||||
exit(1)
|
||||
|
|
|
@ -35,11 +35,12 @@ class CocoaCB: Common {
|
|||
let newlog = mp_log_new(UnsafeMutablePointer<MPContext>(mpvHandle), mp_client_get_log(mpvHandle), "cocoacb")
|
||||
libmpv = LibmpvHelper(mpvHandle, newlog)
|
||||
super.init(newlog)
|
||||
option = OptionHelper(UnsafeMutablePointer(mpvHandle), mp_client_get_global(mpvHandle))
|
||||
layer = GLLayer(cocoaCB: self)
|
||||
}
|
||||
|
||||
func preinit(_ vo: UnsafeMutablePointer<vo>) {
|
||||
option = OptionHelper(vo)
|
||||
self.vo = vo
|
||||
input = InputHelper(vo.pointee.input_ctx, option)
|
||||
|
||||
if backendState == .uninitialized {
|
||||
|
@ -62,7 +63,7 @@ class CocoaCB: Common {
|
|||
}
|
||||
|
||||
func reconfig(_ vo: UnsafeMutablePointer<vo>) {
|
||||
option?.vo = vo
|
||||
self.vo = vo
|
||||
if backendState == .needsInit {
|
||||
DispatchQueue.main.sync { self.initBackend(vo) }
|
||||
} else if option?.opts.auto_window_resize ?? true {
|
||||
|
|
|
@ -22,6 +22,7 @@ class Common: NSObject {
|
|||
var option: OptionHelper?
|
||||
var input: InputHelper?
|
||||
var log: LogHelper
|
||||
var vo: UnsafeMutablePointer<vo>?
|
||||
let queue: DispatchQueue = DispatchQueue(label: "io.mpv.queue")
|
||||
|
||||
@objc var window: Window?
|
||||
|
@ -483,11 +484,11 @@ class Common: NSObject {
|
|||
events |= ev
|
||||
eventsLock.unlock()
|
||||
|
||||
guard let vout = option?.vo else {
|
||||
guard let vo = vo else {
|
||||
log.sendWarning("vo nil in flagEvents")
|
||||
return
|
||||
}
|
||||
vo_wakeup(vout)
|
||||
vo_wakeup(vo)
|
||||
}
|
||||
|
||||
func checkEvents() -> Int {
|
||||
|
|
|
@ -27,7 +27,8 @@ class MacCommon: Common {
|
|||
@objc init(_ vo: UnsafeMutablePointer<vo>) {
|
||||
let newlog = mp_log_new(vo, vo.pointee.log, "mac")
|
||||
super.init(newlog)
|
||||
option = OptionHelper(vo)
|
||||
self.vo = vo
|
||||
option = OptionHelper(vo, vo.pointee.global)
|
||||
input = InputHelper(vo.pointee.input_ctx, option)
|
||||
timer = PreciseTimer(common: self)
|
||||
|
||||
|
@ -38,7 +39,7 @@ class MacCommon: Common {
|
|||
}
|
||||
|
||||
@objc func config(_ vo: UnsafeMutablePointer<vo>) -> Bool {
|
||||
option?.vo = vo
|
||||
self.vo = vo
|
||||
|
||||
DispatchQueue.main.sync {
|
||||
let previousActiveApp = getActiveApp()
|
||||
|
|
Loading…
Reference in New Issue