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();
 }