1.0-dev6 (Option bar added and code cleaned)

This commit is contained in:
2022-02-19 01:38:37 +01:00
Unverified
parent 3c274ff4fc
commit 96a7953500
51 changed files with 856 additions and 423 deletions

View File

@@ -0,0 +1,60 @@
using System;
using System.ComponentModel;
using System.Threading;
using System.Threading.Tasks;
using VDownload.Core.Enums;
using VDownload.Core.Objects;
using Windows.Storage;
namespace VDownload.Core.Interfaces
{
public interface IVideoService
{
#region PROPERTIES
string ID { get; }
string Title { get; }
string Author { get; }
DateTime Date { get; }
TimeSpan Duration { get; }
long Views { get; }
Uri Thumbnail { get; }
#endregion
#region METHODS
// GET VIDEO METADATA
Task GetMetadataAsync();
// GET VIDEO STREAMS
Task GetStreamsAsync();
// DOWNLOAD VIDEO
Task<StorageFile> DownloadAndTranscodeAsync(StorageFolder downloadingFolder, Stream audioVideoStream, MediaFileExtension extension, MediaType mediaType, TimeSpan trimStart, TimeSpan trimEnd, CancellationToken cancellationToken = default);
Task<StorageFile> DownloadAndTranscodeAsync(StorageFolder downloadingFolder, Stream audioVideoStream, MediaFileExtension extension, MediaType mediaType, CancellationToken cancellationToken = default);
Task<StorageFile> DownloadAndTranscodeAsync(StorageFolder downloadingFolder, IAStream audioStream, IVStream videoStream, VideoFileExtension extension, TimeSpan trimStart, TimeSpan trimEnd, CancellationToken cancellationToken = default);
Task<StorageFile> DownloadAndTranscodeAsync(StorageFolder downloadingFolder, IAStream audioStream, IVStream videoStream, VideoFileExtension extension, CancellationToken cancellationToken = default);
Task<StorageFile> DownloadAndTranscodeAsync(StorageFolder downloadingFolder, IAStream audioStream, AudioFileExtension extension, TimeSpan trimStart, TimeSpan trimEnd, CancellationToken cancellationToken = default);
Task<StorageFile> DownloadAndTranscodeAsync(StorageFolder downloadingFolder, IAStream audioStream, AudioFileExtension extension, CancellationToken cancellationToken = default);
Task<StorageFile> DownloadAndTranscodeAsync(StorageFolder downloadingFolder, IVStream videoStream, VideoFileExtension extension, TimeSpan trimStart, TimeSpan trimEnd, CancellationToken cancellationToken = default);
Task<StorageFile> DownloadAndTranscodeAsync(StorageFolder downloadingFolder, IVStream videoStream, VideoFileExtension extension, CancellationToken cancellationToken = default);
#endregion
#region EVENT HANDLERS
event EventHandler DownloadingStarted;
event EventHandler<ProgressChangedEventArgs> DownloadingProgressChanged;
event EventHandler DownloadingCompleted;
event EventHandler ProcessingStarted;
event EventHandler<ProgressChangedEventArgs> ProcessingProgressChanged;
event EventHandler ProcessingCompleted;
#endregion
}
}