private void Bg_DoWork(object sender, DoWorkEventArgs e) { playlist.ForEach(video => { if (!cache.HasFile("done", video.VideoId)) { bg.ReportProgress(0, null); new VideoDownloader(cache, video, bg).Download(); } bg.ReportProgress(1, this); }); }
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; }