diff --git a/client/players/AudioTrack.js b/client/players/AudioTrack.js index 1296fd44..157b12b0 100644 --- a/client/players/AudioTrack.js +++ b/client/players/AudioTrack.js @@ -1,5 +1,5 @@ export default class AudioTrack { - constructor(track, sessionId, routerBasePath) { + constructor(track, sessionId, userToken, routerBasePath) { this.index = track.index || 0 this.startOffset = track.startOffset || 0 // Total time of all previous tracks this.duration = track.duration || 0 @@ -10,7 +10,11 @@ export default class AudioTrack { this.sessionId = sessionId this.routerBasePath = routerBasePath || '' - this.sessionTrackUrl = `/public/session/${sessionId}/track/${this.index}` + if (this.contentUrl?.startsWith('/hls')) { + this.sessionTrackUrl = `${this.contentUrl}?token=${userToken}` + } else { + this.sessionTrackUrl = `/public/session/${sessionId}/track/${this.index}` + } } /** diff --git a/client/players/PlayerHandler.js b/client/players/PlayerHandler.js index 5c5f281f..0da91d5a 100644 --- a/client/players/PlayerHandler.js +++ b/client/players/PlayerHandler.js @@ -37,6 +37,9 @@ export default class PlayerHandler { get isPlayingLocalItem() { return this.libraryItem && this.player instanceof LocalAudioPlayer } + get userToken() { + return this.ctx.$store.getters['user/getToken'] + } get playerPlaying() { return this.playerState === 'PLAYING' } @@ -223,7 +226,7 @@ export default class PlayerHandler { console.log('[PlayerHandler] Preparing Session', session) - var audioTracks = session.audioTracks.map((at) => new AudioTrack(at, session.id, this.ctx.$config.routerBasePath)) + var audioTracks = session.audioTracks.map((at) => new AudioTrack(at, session.id, this.userToken, this.ctx.$config.routerBasePath)) this.ctx.playerLoading = true this.isHlsTranscode = true