コード例 #1
0
ファイル: Program.cs プロジェクト: henricj/phonesm
 public abstract IEnumerable<XSegment> GetPlaylist(SubStream audio = null);
コード例 #2
0
ファイル: Program.cs プロジェクト: henricj/phonesm
 public override IEnumerable<XSegment> GetPlaylist(SubStream audio = null)
 {
     return _segments;
 }
コード例 #3
0
ファイル: Program.cs プロジェクト: henricj/phonesm
        public override IEnumerable<XSegment> GetPlaylist(SubStream audio = null)
        {
            var playlist = Playlist;

            if (null == playlist)
                yield break;

            var parser = new M3U8Parser();

            using (var f = new WebClient().OpenRead(playlist))
            {
                parser.Parse(playlist, f);

                Uri previous = null;

                foreach (var p in parser.Playlist)
                {
                    var url = new Uri(playlist, new Uri(p.Uri, UriKind.RelativeOrAbsolute));

                    if (null != previous && url == previous)
                        continue;

                    yield return new XSegment { Url = url };

                    previous = url;
                }
            }
        }