0.13.0 DVD Series

This commit is contained in:
2026-04-10 18:44:41 +00:00
parent 43702b0138
commit 974b7bfad3
36 changed files with 9666 additions and 739 deletions
+16 -5
View File
@@ -161,7 +161,9 @@ class VideoDiscPlugin extends SourcePlugin {
cmd: scanConfig.cmd,
args: scanConfig.args,
collectLines: scanLines,
collectStderrLines: false,
// HandBrake scan details (duration/chapters/audio/subtitles) are often
// emitted on stderr. Collect both streams for reliable disc heuristics.
collectStderrLines: true,
silent: reviewSilent
});
} catch (cmdError) {
@@ -179,6 +181,7 @@ class VideoDiscPlugin extends SourcePlugin {
cmd: scanConfig.cmd,
args: scanConfig.args,
onStdoutLine: (line) => scanLines.push(line),
onStderrLine: (line) => scanLines.push(line),
context: { jobId: job?.id, source: `${this.id}Plugin.review` }
});
}
@@ -219,6 +222,7 @@ class VideoDiscPlugin extends SourcePlugin {
deviceInfo,
selectedTitleId = null,
backupOutputBase = null,
disableMinLengthFilter = false,
isCancelled,
onProcessHandle
} = ctx.extra || {};
@@ -237,7 +241,8 @@ class VideoDiscPlugin extends SourcePlugin {
selectedTitleId,
mediaProfile: this.mediaProfile,
settingsMap: settings,
backupOutputBase
backupOutputBase,
disableMinLengthFilter
});
const ripMode = String(ripConfig.ripMode || settings.makemkv_rip_mode || 'mkv')
@@ -249,7 +254,8 @@ class VideoDiscPlugin extends SourcePlugin {
args: ripConfig.args,
ripMode,
rawJobDir,
selectedTitleId
selectedTitleId,
disableMinLengthFilter
});
ctx.emitProgress(0, ripMode === 'backup'
@@ -443,7 +449,7 @@ function _assertNotCancelled(isCancelled) {
}
}
async function _runCommandCaptured({ cmd, args, onStdoutLine, context }) {
async function _runCommandCaptured({ cmd, args, onStdoutLine, onStderrLine, context }) {
const lines = [];
const handle = spawnTrackedProcess({
cmd,
@@ -454,7 +460,12 @@ async function _runCommandCaptured({ cmd, args, onStdoutLine, context }) {
onStdoutLine(line);
}
},
onStderrLine: () => {},
onStderrLine: (line) => {
lines.push(line);
if (typeof onStderrLine === 'function') {
onStderrLine(line);
}
},
context: context || {}
});