private void ThrottleChannel(ChannelViewModel channelViewModel) { this._channelThrottleTimer.Stop(); TimeSpan span = (TimeSpan) (DateTime.Now - this._lastChannelStartTime); if (span.TotalSeconds > 1.0) { this.StartChannel(channelViewModel); } else { this._pendingStartChannel = channelViewModel; this._channelThrottleTimer.Start(); } this._lastChannelStartTime = DateTime.Now; }
private void StartChannel(ChannelViewModel channelViewModel) { this.RefreshEpisodeDetailsFromNmd(); AssetViewModel onNow = channelViewModel.OnNow; if (onNow == null) { onNow = new AssetViewModel { IsLive = true, IsEncrypted = true, Title = channelViewModel.OnNowEpisodeTitle }; } onNow.ChannelTitle = channelViewModel.NetworkName; onNow.ThumbSource = channelViewModel.FirstLogo; onNow.StreamUrl = channelViewModel.SmoothStreamUrl; onNow.IsAvailableOutOfHome = channelViewModel.IsAvailableOutOfHome; base.AssetViewer.Asset = onNow; base.Interaction.DismissErrorMessage(); }