Example #1
0
        private static void addMediaPlaylistErrors(MediaPlaylist playlist, HashSet <PlaylistError> errors, bool isExtended, ParsingMode parsingMode)
        {
            if (isExtended && playlist.hasStartData())
            {
                addStartErrors(playlist.getStartData(), errors);
            }

            addByteRangeErrors(playlist.getTracks(), errors, parsingMode);

            foreach (TrackData trackData in playlist.getTracks())
            {
                addTrackDataErrors(trackData, errors, isExtended, parsingMode);
            }
        }
Example #2
0
        public void playlistWithByteRanges()
        {
            Playlist         playlist      = TestUtil.parsePlaylistFromResource("mediaPlaylistWithByteRanges.m3u8");
            MediaPlaylist    mediaPlaylist = playlist.getMediaPlaylist();
            List <ByteRange> byteRanges    = new List <ByteRange>();

            foreach (TrackData track in mediaPlaylist.getTracks())
            {
                Assert.True(track.hasByteRange());
                byteRanges.Add(track.getByteRange());
            }

            List <ByteRange> expectedRanges = new List <ByteRange>()
            {
                new ByteRange(0, 10),
                new ByteRange(20),
                new ByteRange(30)
            };

            Assert.Equal(expectedRanges, byteRanges);

            var writtenPlaylist = writePlaylist(playlist);

            Assert.Equal(
                "#EXTM3U\n" +
                "#EXT-X-VERSION:4\n" +
                "#EXT-X-TARGETDURATION:10\n" +
                "#EXT-X-MEDIA-SEQUENCE:0\n" +
                "#EXT-X-BYTERANGE:0@10\n" +
                "#EXTINF:9.009\n" +
                "http://media.example.com/first.ts\n" +
                "#EXT-X-BYTERANGE:20\n" +
                "#EXTINF:9.009\n" +
                "http://media.example.com/first.ts\n" +
                "#EXT-X-BYTERANGE:30\n" +
                "#EXTINF:3.003\n" +
                "http://media.example.com/first.ts\n" +
                "#EXT-X-ENDLIST\n",
                writtenPlaylist);
        }