Exemplo n.º 1
0
        public async Task <List <Media> > GetMediasAsync(CancellationToken cancellationToken = default)
        {
            var connectionInfo = _dataSource.GetConnection();
            var panelInfo      = await _xtreamClient.GetPanelAsync(connectionInfo, cancellationToken);

            var medias = await _xtreamClient.GetLiveStreamsAsync(connectionInfo, cancellationToken);

            if (medias == null)
            {
                return(new List <Media>());
            }

            return(medias.Select(x => new
            {
                success = UriAddress.TryFor(panelInfo.GenerateUrlFrom(x), out UriAddress uriAddress),
                media = x,
                url = uriAddress,
                labels = new List <Label> {
                    new Label {
                        Key = Media.KnowedLabelKeys.GroupKey, Value = x.Category_name
                    }
                }
            }