hartnäckige Fehler (z.B. Schleifen, softhddevice stürzt ab, ...)
Das sollte aber in softhddevice gefixt werden, nicht im VDR.
Wenn du mir diese Aufnahme hochlädst, schau ich mir das mal an.
hartnäckige Fehler (z.B. Schleifen, softhddevice stürzt ab, ...)
Das sollte aber in softhddevice gefixt werden, nicht im VDR.
Wenn du mir diese Aufnahme hochlädst, schau ich mir das mal an.
int Offset = 0;
for (int i = 0; i < NumErrors; i++) {
int Position = Errors->At(i);
if (Position > Current + Offset) {
int NextIFrame = SkipFrames(Position - Current) + Offset; // this takes us to the I-frame at or right after Position
if (NextIFrame > Position) {
if (SkipFrames(Offset + 1) == NextIFrame) { // means Current is the I-frame right before Position
Offset = NextIFrame - Current;
continue;
}
}
Goto(Position, true); // this takes us to the I-frame at or right before Position
return;
}
}
if (Current < Total)
Display More
Hier wird angenommen, dass der Offset (Abstand der I-Frames) von einem früheren Schleifendurchlauf in einem späteren Duchlauf verwendet werden könnte.
Die müssen aber nicht konstant sein, sondern ändern sich manchmal. Das Offset in Zeile 8 ist ein früheres, das Offset in Zeile 5 ein späteres. Und das kann einen anderen Wert haben. Und dann ist die Berechnung falsch.
Idee für einen ganz anderen Ansatz:
Man könnte bereits beim Generieren des index die I-Frames, die direkt vor Fehlern sind, markieren.
Dann würde man einfach diese markierten I-Frames anspringen.
Hier wird angenommen, dass der Offset (Abstand der I-Frames) von einem früheren Schleifendurchlauf in einem späteren Duchlauf verwendet werden könnte.
Hier wird kein konstanter Abstand zwischen I-Frames angenommen. Offset ist der Abstand des (konstanten) I-Frames 'Current' zu dem gerade betrachteten I-Frame. Da SkipFrames() immer von 'Current' ausgeht, ist dieser Offset nötig.
Sorry, ich hatte das wohl nicht ganz verstanden.
Ich habe jetzt eine Aufnahme mit 277 Fehlern getestet, und es funktioniert, wie es soll.
Don’t have an account yet? Register yourself now and be a part of our community!