From 6bea97ef0ff87f9ba41461f72a5acc90f99d0914 Mon Sep 17 00:00:00 2001 From: ferferga Date: Sun, 26 Jan 2020 14:40:32 +0100 Subject: [PATCH] Fixed logic and reduced overhead --- src/components/playback/mediasession.js | 42 +++++++++---------------- 1 file changed, 15 insertions(+), 27 deletions(-) diff --git a/src/components/playback/mediasession.js b/src/components/playback/mediasession.js index 160e6a444a..65b5ebcf80 100644 --- a/src/components/playback/mediasession.js +++ b/src/components/playback/mediasession.js @@ -97,6 +97,15 @@ define(['playbackManager', 'nowPlayingHelper', 'events', 'connectionManager'], f } function updatePlayerState(player, state, eventName) { + var now = new Date().getTime(); + lastUpdateTime = now; + + // Don't go crazy reporting position changes + if (eventName == 'timeupdate' && (now - lastUpdateTime) < 5000) { + // Only report if this item hasn't been reported yet, or if there's an actual playback change. + // Don't report on simple time updates + return; + } var item = state.NowPlayingItem; @@ -118,19 +127,9 @@ define(['playbackManager', 'nowPlayingHelper', 'events', 'connectionManager'], f } var playState = state.PlayState || {}; - var parts = nowPlayingHelper.getNowPlayingNames(item); - - var artist = parts.length === 1 ? '' : parts[0].text; - var title = parts[parts.length - 1].text; - - // Switch these two around for video - if (isVideo && parts.length > 1) { - var temp = artist; - artist = title; - title = temp; - } - + var artist = parts[parts.length - 1].text; + var title = parts.length === 1 ? '' : parts[0].text; var albumArtist; if (item.AlbumArtists && item.AlbumArtists[0]) { @@ -147,21 +146,10 @@ define(['playbackManager', 'nowPlayingHelper', 'events', 'connectionManager'], f var isPaused = playState.IsPaused || false; var canSeek = playState.CanSeek || false; - var now = new Date().getTime(); - - // Don't go crazy reporting position changes - if (eventName == 'timeupdate' && (now - lastUpdateTime) < 5000) { - // Only report if this item hasn't been reported yet, or if there's an actual playback change. - // Don't report on simple time updates - return; - } - - lastUpdateTime = now; - if (navigator.mediaSession) { navigator.mediaSession.metadata = new MediaMetadata({ - title: artist, - artist: title, + title: title, + artist: artist, album: album, artwork: getImageUrls(item), albumArtist: albumArtist, @@ -185,8 +173,8 @@ define(['playbackManager', 'nowPlayingHelper', 'events', 'connectionManager'], f action: eventName, isLocalPlayer: isLocalPlayer, itemId: itemId, - title: artist, - artist: title, + title: title, + artist: artist, album: album, duration: duration, position: currentTime,