mirror of
https://github.com/yattee/yattee.git
synced 2025-10-17 21:08:16 +00:00
Fixes for MPV in macOS
This commit is contained in:
34
macOS/AppleAVPlayerViewController.swift
Normal file
34
macOS/AppleAVPlayerViewController.swift
Normal file
@@ -0,0 +1,34 @@
|
||||
import AVKit
|
||||
import SwiftUI
|
||||
|
||||
final class AppleAVPlayerViewController: NSViewController {
|
||||
var playerModel: PlayerModel!
|
||||
var playerView = AVPlayerView()
|
||||
var pictureInPictureDelegate = PictureInPictureDelegate()
|
||||
|
||||
var aspectRatio: Double? {
|
||||
let ratio = Double(playerView.videoBounds.width) / Double(playerView.videoBounds.height)
|
||||
|
||||
if !ratio.isFinite {
|
||||
return VideoPlayerView.defaultAspectRatio
|
||||
}
|
||||
|
||||
return [ratio, 1.0].max()!
|
||||
}
|
||||
|
||||
override func viewDidDisappear() {
|
||||
super.viewDidDisappear()
|
||||
}
|
||||
|
||||
override func loadView() {
|
||||
playerView.player = playerModel.avPlayerBackend.avPlayer
|
||||
pictureInPictureDelegate.playerModel = playerModel
|
||||
|
||||
playerView.allowsPictureInPicturePlayback = true
|
||||
playerView.showsFullScreenToggleButton = true
|
||||
|
||||
playerView.pictureInPictureDelegate = pictureInPictureDelegate
|
||||
|
||||
view = playerView
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user