Exemplo n.º 1
0
 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);
     });
 }
Exemplo n.º 2
0
        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;
        }