mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Merge pull request #1074 from dmitrylyzo/playback_delayed_update
Move delayed volume update to playbackManager
This commit is contained in:
commit
5063c4f050
4 changed files with 23 additions and 48 deletions
|
@ -187,29 +187,15 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
|
||||||
volumeSliderContainer.classList.remove('hide');
|
volumeSliderContainer.classList.remove('hide');
|
||||||
}
|
}
|
||||||
|
|
||||||
var volumeSliderTimer;
|
|
||||||
|
|
||||||
function setVolume() {
|
function setVolume() {
|
||||||
clearTimeout(volumeSliderTimer);
|
|
||||||
volumeSliderTimer = null;
|
|
||||||
|
|
||||||
if (currentPlayer) {
|
if (currentPlayer) {
|
||||||
currentPlayer.setVolume(this.value);
|
currentPlayer.setVolume(this.value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function setVolumeDelayed() {
|
|
||||||
if (!volumeSliderTimer) {
|
|
||||||
var that = this;
|
|
||||||
volumeSliderTimer = setTimeout(function () {
|
|
||||||
setVolume.call(that);
|
|
||||||
}, 700);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
volumeSlider.addEventListener('change', setVolume);
|
volumeSlider.addEventListener('change', setVolume);
|
||||||
volumeSlider.addEventListener('mousemove', setVolumeDelayed);
|
volumeSlider.addEventListener('mousemove', setVolume);
|
||||||
volumeSlider.addEventListener('touchmove', setVolumeDelayed);
|
volumeSlider.addEventListener('touchmove', setVolume);
|
||||||
|
|
||||||
positionSlider = elem.querySelector('.nowPlayingBarPositionSlider');
|
positionSlider = elem.querySelector('.nowPlayingBarPositionSlider');
|
||||||
positionSlider.addEventListener('change', function () {
|
positionSlider.addEventListener('change', function () {
|
||||||
|
|
|
@ -3282,7 +3282,7 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
|
||||||
|
|
||||||
function onPlaybackVolumeChange(e) {
|
function onPlaybackVolumeChange(e) {
|
||||||
var player = this;
|
var player = this;
|
||||||
sendProgressUpdate(player, 'volumechange');
|
sendProgressUpdateDelayed(player, 'volumechange');
|
||||||
}
|
}
|
||||||
|
|
||||||
function onRepeatModeChange(e) {
|
function onRepeatModeChange(e) {
|
||||||
|
@ -3377,7 +3377,15 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
|
||||||
|
|
||||||
pluginManager.ofType('mediaplayer').map(initMediaPlayer);
|
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) {
|
function sendProgressUpdate(player, progressEventName, reportPlaylist) {
|
||||||
|
clearTimeout(sendProgressUpdateTimer);
|
||||||
|
sendProgressUpdateTimer = null;
|
||||||
|
|
||||||
if (!player) {
|
if (!player) {
|
||||||
throw new Error('player cannot be null');
|
throw new Error('player cannot be null');
|
||||||
|
@ -3403,6 +3411,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) {
|
function getLiveStreamMediaInfo(player, streamInfo, mediaSource, liveStreamId, serverId) {
|
||||||
|
|
||||||
console.debug('getLiveStreamMediaInfo');
|
console.debug('getLiveStreamMediaInfo');
|
||||||
|
|
|
@ -614,27 +614,13 @@ define(["browser", "datetime", "backdrop", "libraryBrowser", "listView", "imageL
|
||||||
return datetime.getDisplayRunningTime(ticks);
|
return datetime.getDisplayRunningTime(ticks);
|
||||||
};
|
};
|
||||||
|
|
||||||
var volumeSliderTimer;
|
|
||||||
|
|
||||||
function setVolume() {
|
function setVolume() {
|
||||||
clearTimeout(volumeSliderTimer);
|
|
||||||
volumeSliderTimer = null;
|
|
||||||
|
|
||||||
playbackManager.setVolume(this.value, currentPlayer);
|
playbackManager.setVolume(this.value, currentPlayer);
|
||||||
}
|
}
|
||||||
|
|
||||||
function setVolumeDelayed() {
|
|
||||||
if (!volumeSliderTimer) {
|
|
||||||
var that = this;
|
|
||||||
volumeSliderTimer = setTimeout(function () {
|
|
||||||
setVolume.call(that);
|
|
||||||
}, 700);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
context.querySelector(".nowPlayingVolumeSlider").addEventListener("change", setVolume);
|
context.querySelector(".nowPlayingVolumeSlider").addEventListener("change", setVolume);
|
||||||
context.querySelector(".nowPlayingVolumeSlider").addEventListener("mousemove", setVolumeDelayed);
|
context.querySelector(".nowPlayingVolumeSlider").addEventListener("mousemove", setVolume);
|
||||||
context.querySelector(".nowPlayingVolumeSlider").addEventListener("touchmove", setVolumeDelayed);
|
context.querySelector(".nowPlayingVolumeSlider").addEventListener("touchmove", setVolume);
|
||||||
context.querySelector(".buttonMute").addEventListener("click", function () {
|
context.querySelector(".buttonMute").addEventListener("click", function () {
|
||||||
playbackManager.toggleMute(currentPlayer);
|
playbackManager.toggleMute(currentPlayer);
|
||||||
});
|
});
|
||||||
|
|
|
@ -1272,7 +1272,6 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
|
||||||
var programEndDateMs = 0;
|
var programEndDateMs = 0;
|
||||||
var playbackStartTimeTicks = 0;
|
var playbackStartTimeTicks = 0;
|
||||||
var subtitleSyncOverlay;
|
var subtitleSyncOverlay;
|
||||||
var volumeSliderTimer;
|
|
||||||
var nowPlayingVolumeSlider = view.querySelector(".osdVolumeSlider");
|
var nowPlayingVolumeSlider = view.querySelector(".osdVolumeSlider");
|
||||||
var nowPlayingVolumeSliderContainer = view.querySelector(".osdVolumeSliderContainer");
|
var nowPlayingVolumeSliderContainer = view.querySelector(".osdVolumeSliderContainer");
|
||||||
var nowPlayingPositionSlider = view.querySelector(".osdPositionSlider");
|
var nowPlayingPositionSlider = view.querySelector(".osdPositionSlider");
|
||||||
|
@ -1423,27 +1422,15 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
|
||||||
}
|
}
|
||||||
|
|
||||||
function setVolume() {
|
function setVolume() {
|
||||||
clearTimeout(volumeSliderTimer);
|
|
||||||
volumeSliderTimer = null;
|
|
||||||
|
|
||||||
playbackManager.setVolume(this.value, currentPlayer);
|
playbackManager.setVolume(this.value, currentPlayer);
|
||||||
}
|
}
|
||||||
|
|
||||||
function setVolumeDelayed() {
|
|
||||||
if (!volumeSliderTimer) {
|
|
||||||
var that = this;
|
|
||||||
volumeSliderTimer = setTimeout(function () {
|
|
||||||
setVolume.call(that);
|
|
||||||
}, 700);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
view.querySelector(".buttonMute").addEventListener("click", function () {
|
view.querySelector(".buttonMute").addEventListener("click", function () {
|
||||||
playbackManager.toggleMute(currentPlayer);
|
playbackManager.toggleMute(currentPlayer);
|
||||||
});
|
});
|
||||||
nowPlayingVolumeSlider.addEventListener("change", setVolume);
|
nowPlayingVolumeSlider.addEventListener("change", setVolume);
|
||||||
nowPlayingVolumeSlider.addEventListener("mousemove", setVolumeDelayed);
|
nowPlayingVolumeSlider.addEventListener("mousemove", setVolume);
|
||||||
nowPlayingVolumeSlider.addEventListener("touchmove", setVolumeDelayed);
|
nowPlayingVolumeSlider.addEventListener("touchmove", setVolume);
|
||||||
|
|
||||||
nowPlayingPositionSlider.addEventListener("change", function () {
|
nowPlayingPositionSlider.addEventListener("change", function () {
|
||||||
var player = currentPlayer;
|
var player = currentPlayer;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue