mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-08-11 09:13:49 -04:00
Fix server crash when transcode requests are made to the direct play endpoint #4555
This commit is contained in:
parent
e510174f12
commit
794f0ef42a
@ -4,6 +4,7 @@ const Logger = require('../Logger')
|
||||
const Database = require('../Database')
|
||||
const { toNumber, isUUID } = require('../utils/index')
|
||||
const { getAudioMimeTypeFromExtname, encodeUriPath } = require('../utils/fileUtils')
|
||||
const { PlayMethod } = require('../utils/constants')
|
||||
|
||||
const ShareManager = require('../managers/ShareManager')
|
||||
|
||||
@ -299,6 +300,18 @@ class SessionController {
|
||||
return res.sendStatus(404)
|
||||
}
|
||||
|
||||
// Redirect transcode requests to the HLS router
|
||||
// Handles bug introduced in android v0.10.0-beta where transcode requests are made to this endpoint
|
||||
if (playbackSession.playMethod === PlayMethod.TRANSCODE && audioTrack.contentUrl) {
|
||||
Logger.debug(`[SessionController] Redirecting transcode request to "${audioTrack.contentUrl}"`)
|
||||
return res.redirect(audioTrack.contentUrl)
|
||||
}
|
||||
|
||||
if (!audioTrack.metadata?.path) {
|
||||
Logger.error(`[SessionController] Invalid audio track "${audioTrack.index}" for session "${req.params.id}"`)
|
||||
return res.sendStatus(500)
|
||||
}
|
||||
|
||||
const user = await Database.userModel.getUserById(playbackSession.userId)
|
||||
Logger.debug(`[SessionController] Serving audio track ${audioTrack.index} for session "${req.params.id}" belonging to user "${user.username}"`)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user