protected void NotifyResumeState(IPlayer player) { IResumablePlayer resumablePlayer = player as IResumablePlayer; if (resumablePlayer == null) { return; } // Get the current MediaItem ID at this time, later the PSC is already closed (in case of PlayerEnded state) and MediaItem information is lost. object oContext; if (!ContextVariables.TryGetValue(PlayerContext.KEY_PLAYER_CONTEXT, out oContext) || !(oContext is IPlayerContext)) { return; } IPlayerContext playerContext = (IPlayerContext)oContext; if (playerContext.CurrentMediaItem == null) { return; } IResumeState resumeState; if (resumablePlayer.GetResumeState(out resumeState)) { PlayerManagerMessaging.SendPlayerResumeStateMessage(this, playerContext.CurrentMediaItem.MediaItemId, resumeState); } }
protected void NotifyResumeState(IPlayer player) { IResumablePlayer resumablePlayer = player as IResumablePlayer; if (resumablePlayer == null) { return; } // Get the current MediaItem ID at this time, later the PSC is already closed (in case of PlayerEnded state) and MediaItem information is lost. object oContext; if (!ContextVariables.TryGetValue(PlayerContext.KEY_PLAYER_CONTEXT, out oContext) || !(oContext is IPlayerContext)) { return; } IPlayerContext playerContext = (IPlayerContext)oContext; if (playerContext.CurrentMediaItem == null) { return; } try { IResumeState resumeState; if (resumablePlayer.GetResumeState(out resumeState)) { PlayerManagerMessaging.SendPlayerResumeStateMessage(this, playerContext.CurrentMediaItem, resumeState); } } catch (Exception e) { ServiceRegistration.Get <ILogger>().Warn("PlayerSlotController: Error getting resume state from player '{0}'", e, resumablePlayer); } }