mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-07-10 11:21:36 +00:00
Merge branch 'master' into mf/rssInboundManager
This commit is contained in:
commit
646f66d610
6 changed files with 14 additions and 15 deletions
|
|
@ -259,7 +259,6 @@ class LibraryItemController {
|
||||||
|
|
||||||
// Check if library item media has a cover path
|
// Check if library item media has a cover path
|
||||||
if (!libraryItem.media.coverPath || !await fs.pathExists(libraryItem.media.coverPath)) {
|
if (!libraryItem.media.coverPath || !await fs.pathExists(libraryItem.media.coverPath)) {
|
||||||
Logger.debug(`[LibraryItemController] getCover: Library item "${req.params.id}" has no cover path`)
|
|
||||||
return res.sendStatus(404)
|
return res.sendStatus(404)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -280,12 +279,6 @@ class LibraryItemController {
|
||||||
return CacheManager.handleCoverCache(res, libraryItem.id, libraryItem.media.coverPath, options)
|
return CacheManager.handleCoverCache(res, libraryItem.id, libraryItem.media.coverPath, options)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GET: api/items/:id/stream
|
|
||||||
openStream(req, res) {
|
|
||||||
// this.streamManager.openStreamApiRequest(res, req.user, req.libraryItem)
|
|
||||||
res.sendStatus(500)
|
|
||||||
}
|
|
||||||
|
|
||||||
// POST: api/items/:id/play
|
// POST: api/items/:id/play
|
||||||
startPlaybackSession(req, res) {
|
startPlaybackSession(req, res) {
|
||||||
if (!req.libraryItem.media.numTracks && req.libraryItem.mediaType !== 'video') {
|
if (!req.libraryItem.media.numTracks && req.libraryItem.mediaType !== 'video') {
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ class SearchController {
|
||||||
|
|
||||||
let results = null
|
let results = null
|
||||||
if (podcast) results = await PodcastFinder.findCovers(query.title)
|
if (podcast) results = await PodcastFinder.findCovers(query.title)
|
||||||
else results = await BookFinder.findCovers(query.provider || 'google', query.title, query.author || null)
|
else results = await BookFinder.findCovers(query.provider || 'google', query.title, query.author || '')
|
||||||
res.json({
|
res.json({
|
||||||
results
|
results
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -234,7 +234,7 @@ class BookFinder {
|
||||||
if (!books.length && maxFuzzySearches > 0) {
|
if (!books.length && maxFuzzySearches > 0) {
|
||||||
// normalize title and author
|
// normalize title and author
|
||||||
title = title.trim().toLowerCase()
|
title = title.trim().toLowerCase()
|
||||||
author = author.trim().toLowerCase()
|
author = author?.trim().toLowerCase() || ''
|
||||||
|
|
||||||
// Now run up to maxFuzzySearches fuzzy searches
|
// Now run up to maxFuzzySearches fuzzy searches
|
||||||
let candidates = new Set()
|
let candidates = new Set()
|
||||||
|
|
|
||||||
|
|
@ -168,7 +168,13 @@ class PlaybackSession {
|
||||||
this.currentTime = session.currentTime || 0
|
this.currentTime = session.currentTime || 0
|
||||||
|
|
||||||
this.startedAt = session.startedAt
|
this.startedAt = session.startedAt
|
||||||
this.updatedAt = session.updatedAt || null
|
this.updatedAt = session.updatedAt || session.startedAt
|
||||||
|
|
||||||
|
// Local playback sessions dont set this date field so set using updatedAt
|
||||||
|
if (!this.date && session.updatedAt) {
|
||||||
|
this.date = date.format(new Date(session.updatedAt), 'YYYY-MM-DD')
|
||||||
|
this.dayOfWeek = date.format(new Date(session.updatedAt), 'dddd')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
get mediaItemId() {
|
get mediaItemId() {
|
||||||
|
|
|
||||||
|
|
@ -339,9 +339,9 @@ class Stream extends EventEmitter {
|
||||||
} else {
|
} else {
|
||||||
Logger.error('Ffmpeg Err', '"' + err.message + '"')
|
Logger.error('Ffmpeg Err', '"' + err.message + '"')
|
||||||
|
|
||||||
// Temporary workaround for https://github.com/advplyr/audiobookshelf/issues/172
|
// Temporary workaround for https://github.com/advplyr/audiobookshelf/issues/172 and https://github.com/advplyr/audiobookshelf/issues/2157
|
||||||
const aacErrorMsg = 'ffmpeg exited with code 1: Could not write header for output file #0 (incorrect codec parameters ?)'
|
const aacErrorMsg = 'ffmpeg exited with code 1:'
|
||||||
if (audioCodec === 'copy' && this.isAACEncodable && err.message && err.message.startsWith(aacErrorMsg)) {
|
if (audioCodec === 'copy' && this.isAACEncodable && err.message?.startsWith(aacErrorMsg)) {
|
||||||
Logger.info(`[Stream] Re-attempting stream with AAC encode`)
|
Logger.info(`[Stream] Re-attempting stream with AAC encode`)
|
||||||
this.transcodeOptions.forceAAC = true
|
this.transcodeOptions.forceAAC = true
|
||||||
this.reset(this.startTime)
|
this.reset(this.startTime)
|
||||||
|
|
|
||||||
|
|
@ -1111,7 +1111,7 @@ class BookScanner {
|
||||||
const result = await CoverManager.downloadCoverFromUrlNew(results[i], libraryItemId, libraryItemPath)
|
const result = await CoverManager.downloadCoverFromUrlNew(results[i], libraryItemId, libraryItemPath)
|
||||||
|
|
||||||
if (result.error) {
|
if (result.error) {
|
||||||
Logger.error(`[Scanner] Failed to download cover from url "${results[i]}" | Attempt ${i + 1}`, result.error)
|
libraryScan.addLog(LogLevel.ERROR, `Failed to download cover from url "${results[i]}" | Attempt ${i + 1}`, result.error)
|
||||||
} else if (result.cover) {
|
} else if (result.cover) {
|
||||||
return result.cover
|
return result.cover
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue