diegosouzapw/OmniRoute · error · Error

Video structural analysis requires a positive duration

Error message

Video structural analysis requires a positive duration

What it means

Error "Video structural analysis requires a positive duration" thrown in diegosouzapw/OmniRoute.

Source

Thrown at src/lib/guardrails/videoBridgeRuntime.ts:310

  return starts
    .map((start, index) => {
      const startSeconds = Math.max(0, Math.min(durationSeconds, start));
      const inferredEnd = start + (durations[index] ?? durationSeconds - start);
      const endSeconds = Math.max(
        startSeconds,
        Math.min(durationSeconds, ends[index] ?? inferredEnd)
      );
      return { endSeconds, startSeconds };
    })
    .filter((interval) => interval.endSeconds - interval.startSeconds >= 1);
}
export function parseVideoStructuralAnalysis(
  metadataOutput: string,
  diagnosticOutput: string,
  durationSeconds: number
): VideoStructuralAnalysis {
  if (!Number.isFinite(durationSeconds) || durationSeconds <= 0) {
    throw new Error("Video structural analysis requires a positive duration");
  }
  const samples = parseStructuralSamples(metadataOutput, durationSeconds);
  const diagnosticScenes = [
    ...diagnosticOutput.matchAll(/lavfi\.scd\.score:\s*[\d.]+,\s*lavfi\.scd\.time:\s*([\d.]+)/g),
  ].map((match) => Number(match[1]));
  return {
    freezeIntervals: parseFreezeIntervals(diagnosticOutput, durationSeconds),
    samples,
    sceneCandidates: normalizeSceneCandidates(durationSeconds, [
      ...samples
        .filter((sample) => (sample.sceneScore ?? 0) >= VIDEO_STRUCTURAL_SCENE_THRESHOLD)
        .map((sample) => sample.timestampSeconds),
      ...diagnosticScenes,
    ]),
  };
}
interface StructuralSamplingSegment {
  endSeconds: number;

View on GitHub (pinned to a179ffed5b)

When it happens

Trigger: Thrown at src/lib/guardrails/videoBridgeRuntime.ts:310 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of diegosouzapw/OmniRoute@a179ffed5b (2026-08-25). Data as JSON: /api/errors/00ab69f25952dd45. Report an issue: GitHub.