Fix:iOS fallback to transcoding #553

This commit is contained in:
advplyr 2023-02-19 11:47:05 -06:00
parent 28989f536a
commit 8d4c322bce
3 changed files with 9 additions and 5 deletions

View file

@ -238,6 +238,7 @@ public class AbsAudioPlayer: CAPPlugin {
@objc func onPlaybackFailed() {
if (PlayerHandler.getPlayMethod() == PlayMethod.directplay.rawValue) {
let session = PlayerHandler.getPlaybackSession()
let playWhenReady = PlayerHandler.getPlayWhenReady()
let libraryItemId = session?.libraryItemId ?? ""
let episodeId = session?.episodeId ?? nil
logger.log("Forcing Transcode")
@ -247,7 +248,7 @@ public class AbsAudioPlayer: CAPPlugin {
do {
guard let self = self else { return }
try session.save()
PlayerHandler.startPlayback(sessionId: session.id, playWhenReady: self.initialPlayWhenReady, playbackRate: PlayerSettings.main().playbackRate)
PlayerHandler.startPlayback(sessionId: session.id, playWhenReady: playWhenReady, playbackRate: PlayerSettings.main().playbackRate)
self.sendPlaybackSession(session: try session.asDictionary())
self.sendMetadata()
} catch(let exception) {

View file

@ -30,7 +30,7 @@ class AudioPlayer: NSObject {
private var playerContext = 0
private var playerItemContext = 0
private var playWhenReady: Bool
internal var playWhenReady: Bool
private var initialPlaybackRate: Float
internal var audioPlayer: AVQueuePlayer

View file

@ -54,6 +54,10 @@ class PlayerHandler {
self.player?.getCurrentTime()
}
public static func getPlayWhenReady() -> Bool {
self.player?.playWhenReady ?? false
}
public static func setPlaybackSpeed(speed: Float) {
self.player?.setPlaybackRate(speed)
}
@ -88,9 +92,8 @@ class PlayerHandler {
public static func getPlaybackSession() -> PlaybackSession? {
guard let player = player else { return nil }
guard player.isInitialized() else { return nil }
return Database.shared.getPlaybackSession(id: player.getPlaybackSessionId())
return player.getPlaybackSession()
}
public static func seekForward(amount: Double) {