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);
        }
Exemplo n.º 2
0
        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);
                }
            }
        }