diff --git a/src/components/nowplayingbar/nowplayingbar.js b/src/components/nowplayingbar/nowplayingbar.js index 8205211b4f..3462501041 100644 --- a/src/components/nowplayingbar/nowplayingbar.js +++ b/src/components/nowplayingbar/nowplayingbar.js @@ -187,29 +187,15 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader', volumeSliderContainer.classList.remove('hide'); } - var volumeSliderTimer; - function setVolume() { - clearTimeout(volumeSliderTimer); - volumeSliderTimer = null; - if (currentPlayer) { currentPlayer.setVolume(this.value); } } - function setVolumeDelayed() { - if (!volumeSliderTimer) { - var that = this; - volumeSliderTimer = setTimeout(function () { - setVolume.call(that); - }, 700); - } - } - volumeSlider.addEventListener('change', setVolume); - volumeSlider.addEventListener('mousemove', setVolumeDelayed); - volumeSlider.addEventListener('touchmove', setVolumeDelayed); + volumeSlider.addEventListener('mousemove', setVolume); + volumeSlider.addEventListener('touchmove', setVolume); positionSlider = elem.querySelector('.nowPlayingBarPositionSlider'); positionSlider.addEventListener('change', function () { diff --git a/src/components/playback/playbackmanager.js b/src/components/playback/playbackmanager.js index 2ea4c67cfb..b004c00a5a 100644 --- a/src/components/playback/playbackmanager.js +++ b/src/components/playback/playbackmanager.js @@ -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'); diff --git a/src/components/remotecontrol/remotecontrol.js b/src/components/remotecontrol/remotecontrol.js index 7b620d536a..149fc77381 100644 --- a/src/components/remotecontrol/remotecontrol.js +++ b/src/components/remotecontrol/remotecontrol.js @@ -614,27 +614,13 @@ define(["browser", "datetime", "backdrop", "libraryBrowser", "listView", "imageL return datetime.getDisplayRunningTime(ticks); }; - var volumeSliderTimer; - function setVolume() { - clearTimeout(volumeSliderTimer); - volumeSliderTimer = null; - 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("mousemove", setVolumeDelayed); - context.querySelector(".nowPlayingVolumeSlider").addEventListener("touchmove", setVolumeDelayed); + context.querySelector(".nowPlayingVolumeSlider").addEventListener("mousemove", setVolume); + context.querySelector(".nowPlayingVolumeSlider").addEventListener("touchmove", setVolume); context.querySelector(".buttonMute").addEventListener("click", function () { playbackManager.toggleMute(currentPlayer); }); diff --git a/src/controllers/playback/videoosd.js b/src/controllers/playback/videoosd.js index f71eb0e095..555e34c5b0 100644 --- a/src/controllers/playback/videoosd.js +++ b/src/controllers/playback/videoosd.js @@ -1272,7 +1272,6 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med var programEndDateMs = 0; var playbackStartTimeTicks = 0; var subtitleSyncOverlay; - var volumeSliderTimer; var nowPlayingVolumeSlider = view.querySelector(".osdVolumeSlider"); var nowPlayingVolumeSliderContainer = view.querySelector(".osdVolumeSliderContainer"); var nowPlayingPositionSlider = view.querySelector(".osdPositionSlider"); @@ -1423,27 +1422,15 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med } function setVolume() { - clearTimeout(volumeSliderTimer); - volumeSliderTimer = null; - 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 () { playbackManager.toggleMute(currentPlayer); }); nowPlayingVolumeSlider.addEventListener("change", setVolume); - nowPlayingVolumeSlider.addEventListener("mousemove", setVolumeDelayed); - nowPlayingVolumeSlider.addEventListener("touchmove", setVolumeDelayed); + nowPlayingVolumeSlider.addEventListener("mousemove", setVolume); + nowPlayingVolumeSlider.addEventListener("touchmove", setVolume); nowPlayingPositionSlider.addEventListener("change", function () { var player = currentPlayer;