Move delayed volume update to playbackManager

This commit is contained in:
Dmitry Lyzo 2020-04-13 12:49:40 +03:00
parent 6246dce320
commit d5ae0275cf
4 changed files with 22 additions and 48 deletions

View file

@ -3282,7 +3282,7 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
function onPlaybackVolumeChange(e) {
var player = this;
sendProgressUpdate(player, 'volumechange');
sendProgressUpdateDelayed(player, 'volumechange');
}
function onRepeatModeChange(e) {
@ -3377,7 +3377,14 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
pluginManager.ofType('mediaplayer').map(initMediaPlayer);
/** Delay timer for sendProgressUpdate */
var sendProgressUpdateTimer;
/** Delay time in ms for sendProgressUpdate */
var sendProgressUpdateDelay = 700;
function sendProgressUpdate(player, progressEventName, reportPlaylist) {
clearTimeout(sendProgressUpdateTimer);
sendProgressUpdateTimer = null;
if (!player) {
throw new Error('player cannot be null');
@ -3403,6 +3410,14 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
}
}
function sendProgressUpdateDelayed(player, progressEventName, reportPlaylist) {
if (!sendProgressUpdateTimer) {
sendProgressUpdateTimer = setTimeout(function () {
sendProgressUpdate(player, progressEventName, reportPlaylist);
}, sendProgressUpdateDelay);
}
}
function getLiveStreamMediaInfo(player, streamInfo, mediaSource, liveStreamId, serverId) {
console.debug('getLiveStreamMediaInfo');