mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-08-02 09:14:40 +02:00
Fix: Scanner check path and inode value for removed books, scanner v5 outlined
This commit is contained in:
parent
ea366c00ca
commit
3fa0fe4b64
12 changed files with 553 additions and 7 deletions
|
@ -1,5 +1,8 @@
|
|||
var Ffmpeg = require('fluent-ffmpeg')
|
||||
const Path = require('path')
|
||||
|
||||
const AudioProbeData = require('../scanner/AudioProbeData')
|
||||
|
||||
const Logger = require('../Logger')
|
||||
|
||||
function tryGrabBitRate(stream, all_streams, total_bit_rate) {
|
||||
|
@ -241,4 +244,31 @@ function probe(filepath, verbose = false) {
|
|||
})
|
||||
})
|
||||
}
|
||||
module.exports = probe
|
||||
module.exports.probe = probe
|
||||
|
||||
// Updated probe returns AudioProbeData object
|
||||
function probe2(filepath, verbose = false) {
|
||||
return new Promise((resolve) => {
|
||||
Ffmpeg.ffprobe(filepath, ['-show_chapters'], (err, raw) => {
|
||||
if (err) {
|
||||
console.error(err)
|
||||
var errorMsg = err ? err.message : null
|
||||
resolve({
|
||||
error: errorMsg || 'Probe Error'
|
||||
})
|
||||
} else {
|
||||
var rawProbeData = parseProbeData(raw, verbose)
|
||||
if (!rawProbeData || !rawProbeData.audio_streams.length) {
|
||||
resolve({
|
||||
error: rawProbeData ? 'Invalid audio file: no audio streams found' : 'Probe Failed'
|
||||
})
|
||||
} else {
|
||||
var probeData = new AudioProbeData()
|
||||
probeData.setData(rawProbeData)
|
||||
resolve(probeData)
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
module.exports.probe2 = probe2
|
Loading…
Add table
Add a link
Reference in a new issue