Sha256: 70aa7f4ab3413c73784d9614cd79c8367ce5167bb6a0d15b7f5d8fe43f607edb
Contents?: true
Size: 914 Bytes
Versions: 67
Compression:
Stored size: 914 Bytes
Contents
/** * Calling seek before the media tag is ready causes InvalidState * exeption. If this happens, we wait for the next progress event and * retry. We resolve a promise once seeking succeeded. * * @api private */ pageflow.AudioPlayer.seekWithInvalidStateHandling = function(player) { var originalSeek = player.seek; player.seek = function(time) { return retryOnProgress(function() { originalSeek.call(player, time); }); }; function retryOnProgress(fn) { var tries = 0; return new $.Deferred(function(deferred) { function tryOrWaitForProgress() { tries += 1; if (tries >= 50) { deferred.reject(); return; } try { fn(); deferred.resolve(); } catch(e) { player.one('progress', tryOrWaitForProgress); } } tryOrWaitForProgress(); }).promise(); } };
Version data entries
67 entries across 67 versions & 1 rubygems