0.13.1-11 Fix Scan

This commit is contained in:
2026-04-17 18:01:26 +00:00
parent bebe9eac8c
commit fc67e2264b
7 changed files with 22 additions and 15 deletions
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "ripster-backend",
"version": "0.13.1-10",
"version": "0.13.1-11",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "ripster-backend",
"version": "0.13.1-10",
"version": "0.13.1-11",
"dependencies": {
"archiver": "^7.0.1",
"cors": "^2.8.5",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "ripster-backend",
"version": "0.13.1-10",
"version": "0.13.1-11",
"private": true,
"type": "commonjs",
"scripts": {
+13 -6
View File
@@ -147,6 +147,7 @@ class VideoDiscPlugin extends SourcePlugin {
});
const scanLines = [];
const scanAnalysisLines = [];
const runCommandFn = typeof ctx.extra?.runCommand === 'function' ? ctx.extra.runCommand : null;
const reviewStage = String(ctx.extra?.reviewStage || 'MEDIAINFO_CHECK').trim().toUpperCase() || 'MEDIAINFO_CHECK';
const reviewSource = String(ctx.extra?.reviewSource || 'HANDBRAKE_SCAN').trim().toUpperCase() || 'HANDBRAKE_SCAN';
@@ -161,9 +162,11 @@ class VideoDiscPlugin extends SourcePlugin {
cmd: scanConfig.cmd,
args: scanConfig.args,
collectLines: scanLines,
// HandBrake scan details (duration/chapters/audio/subtitles) are often
// emitted on stderr. Collect both streams for reliable disc heuristics.
collectStderrLines: true,
// Keep JSON parsing stable by collecting only stdout in scanLines.
// Stderr is still mirrored into scanAnalysisLines for heuristics.
collectStderrLines: false,
onStdoutLine: (line) => scanAnalysisLines.push(line),
onStderrLine: (line) => scanAnalysisLines.push(line),
silent: reviewSilent
});
} catch (cmdError) {
@@ -180,8 +183,11 @@ class VideoDiscPlugin extends SourcePlugin {
runInfo = await _runCommandCaptured({
cmd: scanConfig.cmd,
args: scanConfig.args,
onStdoutLine: (line) => scanLines.push(line),
onStderrLine: (line) => scanLines.push(line),
onStdoutLine: (line) => {
scanLines.push(line);
scanAnalysisLines.push(line);
},
onStderrLine: (line) => scanAnalysisLines.push(line),
context: { jobId: job?.id, source: `${this.id}Plugin.review` }
});
}
@@ -189,13 +195,14 @@ class VideoDiscPlugin extends SourcePlugin {
ctx.logger.info(`${this.id}:review:scan-done`, {
jobId: job?.id,
exitCode: runInfo.exitCode,
lineCount: scanLines.length
lineCount: scanAnalysisLines.length
});
// Return raw scan data — the Orchestrator (or legacy pipelineService)
// processes this with buildDiscScanReview() / parseMediainfoJsonOutput().
return {
scanLines,
scanAnalysisLines,
runInfo,
reviewMode,
mediaProfile: this.mediaProfile,