/** Test for Bug 778077 - HTMLMediaElement.fastSeek() **/
// Iterate through a list of keyframe timestamps, and seek to
// halfway between the keyframe and the keyframe after it. var manager = new MediaTestManager;
function doSeek(v) {
// fastSeek to half way between this keyframe and the next, or if this is the last
// keyframe seek to halfway between this keyframe and the end of media. var nextKeyFrame = (v.keyframeIndex + 1) < v.keyframes.length ? v.keyframes[v.keyframeIndex + 1] : v.duration;
v.target = (v.keyframes[v.keyframeIndex] + nextKeyFrame) / 2;
v.fastSeek(v.target);
ok(Math.abs(v.currentTime - v.target) < 0.01,
v.name + " seekTo=" + v.target + " currentTime (" + v.currentTime + ") should be close to seek target initially");
}
function onloadedmetadata(event) { var v = event.target;
doSeek(v);
}
function onseeked(event) { var v = event.target; var keyframe = v.keyframes[v.keyframeIndex];
// Check that the current time ended up roughly after the keyframe.
// We must be a bit fuzzy here, as the decoder backend may actually
// seek to the audio sample prior to the keyframe.
ok(v.currentTime >= keyframe - 0.05,
v.name + " seekTo=" + v.target + " currentTime (" + v.currentTime + ") should be end up roughly after keyframe (" + keyframe + ") after fastSeek");
ok(v.currentTime <= v.target,
v.name + " seekTo=" + v.target + " currentTime (" + v.currentTime + ") should be end up less than target after fastSeek");
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, v.name + " - video should have at least one sync point");
v.addEventListener("loadedmetadata", onloadedmetadata);
v.addEventListener("seeked", onseeked);
document.body.appendChild(v);
}
manager.runTests(gFastSeekTests, startTest);
</script>
</body>
</html>
Messung V0.5 in Prozent
¤ 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.0.12Bemerkung:
(vorverarbeitet am 2026-06-05)
¤
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.