private void AddNextVideoInfoTask() { TaskElementModel temp = null; foreach (var e in taskElements) { if (!e.IsVideoInfoTried && !e.IsVideoInfoComplete()) { temp = e; } } if (temp != null) { var parentTask = new Task(() => { var tsk = new VideoInfoRetrieverTask(); temp = tsk.Process(temp); }); parentTask.ContinueWith((previous) => { AddNextVideoInfoTask(); }); taskList.Add(parentTask); } }
private void AddNextConvertionTask() { TaskElementModel temp = null; foreach (var e in taskElements) { if (e.IsVideoInfoComplete() && !e.IsDownloadTried && !e.IsDownloaded()) { temp = e; } } if (temp != null) { var parentTask = new Task(() => { var tsk = new ConvertVideoToAudioTask(); tsk.Process(out temp); }); parentTask.ContinueWith((previous) => { AddNextVideoDownloadTask(); }); taskList.Add(parentTask); } }
public TaskElementModel Process(TaskElementModel tem) { tem.IsVideoInfoTried = true; if (tem.IsRawUrlCorrect()) { IEnumerable <VideoInfo> videoInfos = DownloadUrlResolver.GetDownloadUrls(tem.link); if (videoInfos.Count <VideoInfo>() == 0) { tem.info = null; } VideoInfo video = videoInfos .FirstOrDefault(info => info.VideoType == VideoType.Mp4 && info.Resolution == 360); tem.info = video; } return(tem); }
public bool Process(out TaskElementModel tem) { throw new NotImplementedException(); }