Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        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);
        }
Exemple #4
0
 public bool Process(out TaskElementModel tem)
 {
     throw new NotImplementedException();
 }