mirror of
https://github.com/yattee/yattee.git
synced 2025-08-09 20:24:06 +00:00
PiP improvements
This commit is contained in:
@@ -1,23 +1,51 @@
|
||||
import AVFoundation
|
||||
import Foundation
|
||||
import UIKit
|
||||
#if os(macOS)
|
||||
import AppKit
|
||||
#else
|
||||
import UIKit
|
||||
#endif
|
||||
|
||||
final class PlayerLayerView: UIView {
|
||||
var playerLayer = AVPlayerLayer()
|
||||
#if os(macOS)
|
||||
final class PlayerLayerView: NSView {
|
||||
var player: PlayerModel! { didSet {
|
||||
wantsLayer = true
|
||||
}}
|
||||
|
||||
override init(frame: CGRect) {
|
||||
super.init(frame: frame)
|
||||
override init(frame frameRect: NSRect) {
|
||||
super.init(frame: frameRect)
|
||||
}
|
||||
|
||||
layer.addSublayer(playerLayer)
|
||||
override func makeBackingLayer() -> CALayer {
|
||||
player.avPlayerBackend.playerLayer
|
||||
}
|
||||
|
||||
required init?(coder: NSCoder) {
|
||||
super.init(coder: coder)
|
||||
}
|
||||
}
|
||||
#else
|
||||
final class PlayerLayerView: UIView {
|
||||
var player: PlayerModel!
|
||||
|
||||
@available(*, unavailable)
|
||||
required init?(coder _: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
override init(frame: CGRect) {
|
||||
super.init(frame: frame)
|
||||
}
|
||||
|
||||
override func layoutSubviews() {
|
||||
super.layoutSubviews()
|
||||
playerLayer.frame = bounds
|
||||
private var layerAdded = false
|
||||
|
||||
@available(*, unavailable)
|
||||
required init?(coder _: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
|
||||
override func layoutSubviews() {
|
||||
if !layerAdded {
|
||||
layerAdded = true
|
||||
layer.addSublayer(player.avPlayerBackend.playerLayer)
|
||||
}
|
||||
player.avPlayerBackend.playerLayer.frame = bounds
|
||||
super.layoutSubviews()
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user