Player controls UI changes

WIP on controls

Chapters

working

Add previews variable

Add lists ids

WIP
This commit is contained in:
Arkadiusz Fal
2022-06-18 14:39:49 +02:00
parent 9c98cf9558
commit 321c265a11
60 changed files with 2524 additions and 1320 deletions

View File

@@ -17,20 +17,14 @@ extension PlayerModel {
func loadAvailableStreams(_ video: Video) {
availableStreams = []
let playerInstance = InstancesModel.forPlayer ?? InstancesModel.all.first
guard !playerInstance.isNil else {
guard let playerInstance = InstancesModel.forPlayer ?? InstancesModel.all.first else {
return
}
logger.info("loading streams from \(playerInstance!.description)")
logger.info("loading streams from \(playerInstance.description)")
fetchStreams(playerInstance!.anonymous.video(video.videoID), instance: playerInstance!, video: video) { _ in
InstancesModel.all.filter { $0 != playerInstance }.forEach { instance in
self.logger.info("loading streams from \(instance.description)")
self.fetchStreams(instance.anonymous.video(video.videoID), instance: instance, video: video)
}
}
fetchStreams(playerInstance.anonymous.video(video.videoID), instance: playerInstance, video: video)
}
private func fetchStreams(
@@ -60,8 +54,12 @@ extension PlayerModel {
stream.instance = instance
if instance.app == .invidious {
stream.audioAsset = InvidiousAPI.proxiedAsset(instance: instance, asset: stream.audioAsset)
stream.videoAsset = InvidiousAPI.proxiedAsset(instance: instance, asset: stream.videoAsset)
if let audio = stream.audioAsset {
stream.audioAsset = InvidiousAPI.proxiedAsset(instance: instance, asset: audio)
}
if let video = stream.videoAsset {
stream.videoAsset = InvidiousAPI.proxiedAsset(instance: instance, asset: video)
}
}
return stream