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,18 @@
using System;
using VDownload.Core.Enums;
namespace VDownload.Core.Interfaces
{
public interface IAStream
{
#region PROPERTIES
Uri Url { get; }
bool IsChunked { get; }
StreamType StreamType { get; }
int AudioBitrate { get; }
string AudioCodec { get; }
#endregion
}
}

View File

@@ -0,0 +1,24 @@
using System.Threading.Tasks;
namespace VDownload.Core.Interfaces
{
internal interface IPlaylistService
{
#region PROPERTIES
string ID { get; }
string Name { get; }
#endregion
#region METHODS
Task GetMetadataAsync();
Task GetVideosAsync(int numberOfVideos);
#endregion
}
}

View File

@@ -0,0 +1,20 @@
using System;
using VDownload.Core.Enums;
namespace VDownload.Core.Interfaces
{
public interface IVStream
{
#region PROPERTIES
Uri Url { get; }
bool IsChunked { get; }
StreamType StreamType { get; }
int Width { get; }
int Height { get; }
int FrameRate { get; }
string VideoCodec { get; }
#endregion
}
}

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
}
}