aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Api/Playback/MediaInfoService.cs25
-rw-r--r--MediaBrowser.Model/ApiClient/IApiClient.cs6
2 files changed, 31 insertions, 0 deletions
diff --git a/MediaBrowser.Api/Playback/MediaInfoService.cs b/MediaBrowser.Api/Playback/MediaInfoService.cs
index 5fa612205..72d4961cd 100644
--- a/MediaBrowser.Api/Playback/MediaInfoService.cs
+++ b/MediaBrowser.Api/Playback/MediaInfoService.cs
@@ -45,6 +45,19 @@ namespace MediaBrowser.Api.Playback
public string LiveStreamId { get; set; }
}
+ [Route("/Playback/BitrateTest", "GET")]
+ public class GetBitrateTestBytes : IReturn<PlaybackInfoResponse>
+ {
+ [ApiMember(Name = "Size", Description = "Size", IsRequired = true, DataType = "int", ParameterType = "query", Verb = "GET")]
+ public long Size { get; set; }
+
+ public GetBitrateTestBytes()
+ {
+ // 100k
+ Size = 102400;
+ }
+ }
+
[Authenticated]
public class MediaInfoService : BaseApiService
{
@@ -63,6 +76,18 @@ namespace MediaBrowser.Api.Playback
_networkManager = networkManager;
}
+ public object Get(GetBitrateTestBytes request)
+ {
+ var bytes = new byte[request.Size];
+
+ for (var i = 0; i < bytes.Length; i++)
+ {
+ bytes[i] = 0;
+ }
+
+ return ResultFactory.GetResult(bytes, "application/octet-stream");
+ }
+
public async Task<object> Get(GetPlaybackInfo request)
{
var result = await GetPlaybackInfo(request.Id, request.UserId, new[] { MediaType.Audio, MediaType.Video }).ConfigureAwait(false);
diff --git a/MediaBrowser.Model/ApiClient/IApiClient.cs b/MediaBrowser.Model/ApiClient/IApiClient.cs
index 8c7ca0ad9..026e65ec4 100644
--- a/MediaBrowser.Model/ApiClient/IApiClient.cs
+++ b/MediaBrowser.Model/ApiClient/IApiClient.cs
@@ -1499,5 +1499,11 @@ namespace MediaBrowser.Model.ApiClient
/// <param name="itemIds">The item ids.</param>
/// <returns>Task.</returns>
Task CancelSyncLibraryItems(string targetId, IEnumerable<string> itemIds);
+ /// <summary>
+ /// Gets the supported bitrate.
+ /// </summary>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task&lt;System.Int32&gt;.</returns>
+ Task<int> GetSupportedBitrate(CancellationToken cancellationToken);
}
} \ No newline at end of file