set minimum speed to 0.0625

Values below this threshold break some players - closes https://github.com/igrigorik/videospeed/issues/166.
This commit is contained in:
Ilya Grigorik
2017-01-22 13:22:37 -08:00
committed by GitHub
parent 70147ea97a
commit d94f3cc58a

View File

@@ -292,13 +292,15 @@ chrome.extension.sendMessage({}, function(response) {
v.currentTime += tc.settings.advanceTime;
} else if (action === 'faster') {
// Maximum playback speed in Chrome is set to 16:
// https://code.google.com/p/chromium/codesearch#chromium/src/media/blink/webmediaplayer_impl.cc&l=64
// https://cs.chromium.org/chromium/src/media/blink/webmediaplayer_impl.cc?l=103
var s = Math.min(v.playbackRate + tc.settings.speedStep, 16);
v.playbackRate = Number(s.toFixed(2));
} else if (action === 'slower') {
// Audio playback is cut at 0.05:
// https://code.google.com/p/chromium/codesearch#chromium/src/media/filters/audio_renderer_algorithm.cc&l=49
var s = Math.max(v.playbackRate - tc.settings.speedStep, 0);
// https://cs.chromium.org/chromium/src/media/filters/audio_renderer_algorithm.cc?l=49
// Video min rate is 0.0625:
// https://cs.chromium.org/chromium/src/media/blink/webmediaplayer_impl.cc?l=102
var s = Math.max(v.playbackRate - tc.settings.speedStep, 0.0625);
v.playbackRate = Number(s.toFixed(2));
} else if (action === 'reset') {
v.playbackRate = 1.0;