private bool PopuplateEntryWrapper(IRequestData obj, IDownloadEntryWrapper entry) { if (obj is SingleSourceHTTPDownloadInfo shi) { entry.EntryType = "Http"; entry.Name = shi.File ?? FileHelper.GetFileName(new Uri(shi.Uri)); } else if (obj is DualSourceHTTPDownloadInfo dhi) { entry.EntryType = "Dash"; entry.Name = dhi.File ?? FileHelper.GetFileName(new Uri(dhi.Uri1)); } else if (obj is MultiSourceHLSDownloadInfo mhi) { entry.EntryType = "Hls"; entry.Name = mhi.File ?? FileHelper.GetFileName(new Uri(mhi.VideoUri)); } else if (obj is MultiSourceDASHDownloadInfo mdi) { entry.EntryType = "MpegDash"; entry.Name = mdi.File ?? FileHelper.GetFileName(new Uri(mdi.Url)); } else { return(false); } entry.DownloadEntry = obj; return(true); }
private void AddDownload(IDownloadEntryWrapper wrapper, bool startImmediately, string?queueId) { ApplicationContext.CoreService.StartDownload( wrapper.DownloadEntry, wrapper.Name, mode, view.DownloadLocation, startImmediately, view.Authentication, view.Proxy ?? Config.Instance.Proxy, queueId, false ); }