From 82cddde15f4fd83fab7f92dcf03a19b32b26daa0 Mon Sep 17 00:00:00 2001 From: advplyr Date: Tue, 22 Jul 2025 14:16:35 -0500 Subject: [PATCH 1/2] Fix track URL used for transcodes on Android #1635 --- .../java/com/audiobookshelf/app/data/PlaybackSession.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/android/app/src/main/java/com/audiobookshelf/app/data/PlaybackSession.kt b/android/app/src/main/java/com/audiobookshelf/app/data/PlaybackSession.kt index 46ea3cdc..2a4b8b30 100644 --- a/android/app/src/main/java/com/audiobookshelf/app/data/PlaybackSession.kt +++ b/android/app/src/main/java/com/audiobookshelf/app/data/PlaybackSession.kt @@ -192,7 +192,12 @@ class PlaybackSession( // As of v2.22.0 tracks use a different endpoint // See: https://github.com/advplyr/audiobookshelf/pull/4263 if (checkIsServerVersionGte("2.22.0")) { - return Uri.parse("$serverAddress/public/session/$id/track/${audioTrack.index}") + return if (isDirectPlay) { + Uri.parse("$serverAddress/public/session/$id/track/${audioTrack.index}") + } else { + // Transcode uses HlsRouter on server + Uri.parse("$serverAddress${audioTrack.contentUrl}") + } } return Uri.parse("$serverAddress${audioTrack.contentUrl}?token=${DeviceManager.token}") } From a53a96ecf5b2bcbdb2fff82bd6dfb3aac49111e7 Mon Sep 17 00:00:00 2001 From: advplyr Date: Tue, 22 Jul 2025 14:46:31 -0500 Subject: [PATCH 2/2] Update web player track index to fallback to 1 --- plugins/capacitor/AbsAudioPlayer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/capacitor/AbsAudioPlayer.js b/plugins/capacitor/AbsAudioPlayer.js index f16b882b..e43d09e3 100644 --- a/plugins/capacitor/AbsAudioPlayer.js +++ b/plugins/capacitor/AbsAudioPlayer.js @@ -255,7 +255,7 @@ class AbsAudioPlayerWeb extends WebPlugin { if (this.currentTrack.contentUrl?.startsWith('/hls')) { sessionTrackUrl = this.currentTrack.contentUrl } else { - sessionTrackUrl = `/public/session/${this.playbackSession.id}/track/${this.currentTrack.index}` + sessionTrackUrl = `/public/session/${this.playbackSession.id}/track/${this.currentTrack.index || 1}` } this.player.src = `${serverHost}${sessionTrackUrl}`