// Test that if we're doing a fastSeek() forwards that we don't end up
// seeking backwards. This can happen if the keyframe before the seek
// target is before the current playback position. We'd prefer to seek to
// the keyframe after the seek target in this case, but we don't implement
// this yet (bug 1026330). var manager = new MediaTestManager;
var onSecondSeekComplete = function(event) { var v = event.target;
v.removeEventListener("seeked", onSecondSeekComplete);
ok(v.currentTime >= v.firstSeekTarget, v.name + " seek never go backwards. time=" + v.currentTime + " firstSeekTarget=" + v.firstSeekTarget + " secondSeekTarget=" + v.secondSeekTarget);
manager.finished(v.token);
removeNodeAndSource(v);
};
var onFirstSeekComplete = function(event) { var v = event.target;
v.removeEventListener("seeked", onFirstSeekComplete);
// Seek to 75% of the way between the start and the first keyframe
// using fastSeek. We then test that the currentTime doesn't drop back
// to the previous keyframe, currentTime should go forwards.
v.addEventListener("seeked", onSecondSeekComplete);
v.secondSeekTarget = v.keyframes[1] * 0.75;
v.fastSeek(v.secondSeekTarget);
}
var onLoadedMetadata = function(event) {
// Seek to the mid-point between the start and the first keyframe. var v = event.target;
v.removeEventListener("loadedmetadata", onLoadedMetadata);
v.addEventListener("seeked", onFirstSeekComplete);
v.firstSeekTarget = v.keyframes[1] * 0.5;
v.currentTime = v.firstSeekTarget;
}
function startTest(test, token) {
manager.started(token);
let v = document.createElement("video");
v.src = test.name;
v.name = test.name;
v.preload = "metadata";
v.token = token;
v.target = 0;
v.keyframes = test.keyframes;
v.keyframeIndex = 0;
ok(v.keyframes.length >= 2, v.name + " - video should have at least two sync points");
v.addEventListener("loadedmetadata", onLoadedMetadata);
document.body.appendChild(v);
}
manager.runTests(gFastSeekTests, startTest);
</script>
</body>
</html>
Messung V0.5
¤ Dauer der Verarbeitung: 0.15 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.