public UriPlayback(IPlaybackInfoProvider playbackInfoProvider, Uri uri) { Uri = uri; var targetUri = uri; var playbackInfo = playbackInfoProvider.Get(uri); if (playbackInfo != null) { Name = playbackInfo.Name; targetUri = playbackInfo.Uri; } var url = Uri.EscapeUriString(targetUri.ToString()); SourceChannel = new NetworkChannel(url, IsDecoder: true); }
private void FillPlaybackInfos() { foreach (var trackInfo in Tracks) { try { var playbackInfo = _playbackInfoProvider.Get(trackInfo.Uri); Logger.Debug("Playback info provider returned {@playbackInfo} for {@trackInfo}", playbackInfo, trackInfo); if (playbackInfo == null) { continue; } trackInfo.Name = playbackInfo.Name; trackInfo.Uri = playbackInfo.Uri; } catch (Exception e) { Logger.Error(e, "Error during getting playback info for {@trackInfo}", trackInfo); } } }