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