private ChunksFile getChunksFile(string playlistM3U8) { ChunksFile chunks = new ChunksFile(); chunks.Url = cache.GetContent(data.formatChunksFileUrl(wantedQuality), data.VideoId); chunks.Content = cache.GetContent(data.formatChunksFileContent(wantedQuality), data.VideoId); if (chunks.Content == null || chunks.Url == null) { chunks = fetchAndCacheChunksFile(playlistM3U8); } return(chunks); }
private void parsePlaylist(string playlistM3U8) { chunks = getChunksFile(playlistM3U8); var allChunkNames = parseChunksFile(chunks.Content); chunkNames = new List <string>(); foreach (var chunkName in allChunkNames) { if (!cache.HasFile(chunkName, data.VideoId)) { chunkNames.Add(chunkName); } } Console.WriteLine("There exists {0}/{1} of the needed chunks, downloading {2} chunks.", allChunkNames.Count - chunkNames.Count, allChunkNames.Count, chunkNames.Count); totalUnits = allChunkNames.Count; preExistingUnits = totalUnits - chunkNames.Count; }