Initial functionality of player items queue

Fix environment objects

Hide video player placeholder on tvOS

Queue improvements
This commit is contained in:
Arkadiusz Fal
2021-10-05 22:20:09 +02:00
parent d6b3c6637d
commit 70c089e696
44 changed files with 1711 additions and 689 deletions

View File

@@ -2,42 +2,20 @@ import AVKit
import SwiftUI
final class PlayerViewController: NSViewController {
var video: Video!
var api: InvidiousAPI!
var player = AVPlayer()
var playerModel: PlayerModel!
var playback: PlaybackModel!
var playerView = AVPlayerView()
var resolution: Stream.ResolutionSetting!
override func viewDidDisappear() {
playerView.player?.replaceCurrentItem(with: nil)
playerView.player = nil
playerModel.player = nil
playerModel = nil
// TODO: pause on disappear settings
super.viewDidDisappear()
}
override func loadView() {
playerModel = PlayerModel(playback: playback, api: api, resolution: resolution)
guard playerModel.player.isNil else {
return
}
playerModel.player = player
playerView.player = playerModel.player
playerView.allowsPictureInPicturePlayback = true
playerView.showsFullScreenToggleButton = true
view = playerView
DispatchQueue.main.async {
self.playerModel.loadVideo(self.video)
}
}
}