diff options
Diffstat (limited to 'MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs')
| -rw-r--r-- | MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs | 74 |
1 files changed, 10 insertions, 64 deletions
diff --git a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs index 46836a04c..fcbcc5623 100644 --- a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs +++ b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs @@ -1,16 +1,12 @@ -using MediaBrowser.Api.Images; -using MediaBrowser.Common.IO; +using MediaBrowser.Common.IO; using MediaBrowser.Common.MediaInfo; using MediaBrowser.Common.Net; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Drawing; using MediaBrowser.Controller.Dto; -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Persistence; using MediaBrowser.Model.Dto; -using MediaBrowser.Model.Entities; using MediaBrowser.Model.IO; using System.Collections.Generic; using System.IO; @@ -51,9 +47,7 @@ namespace MediaBrowser.Api.Playback.Progressive // Try to infer based on the desired video codec if (videoRequest != null && videoRequest.VideoCodec.HasValue) { - var video = state.Item as Video; - - if (video != null) + if (state.IsInputVideo) { switch (videoRequest.VideoCodec.Value) { @@ -72,9 +66,7 @@ namespace MediaBrowser.Api.Playback.Progressive // Try to infer based on the desired audio codec if (state.Request.AudioCodec.HasValue) { - var audio = state.Item as Audio; - - if (audio != null) + if (!state.IsInputVideo) { switch (state.Request.AudioCodec.Value) { @@ -188,16 +180,11 @@ namespace MediaBrowser.Api.Playback.Progressive { var state = GetState(request); - if (request.AlbumArt) - { - return GetAlbumArtResponse(state); - } - var responseHeaders = new Dictionary<string, string>(); - if (request.Static && state.Item.LocationType == LocationType.Remote) + if (request.Static && state.IsRemote) { - return GetStaticRemoteStreamResult(state.Item, responseHeaders, isHeadRequest).Result; + return GetStaticRemoteStreamResult(state.MediaPath, responseHeaders, isHeadRequest).Result; } var outputPath = GetOutputFilePath(state); @@ -210,7 +197,7 @@ namespace MediaBrowser.Api.Playback.Progressive if (request.Static) { - return ResultFactory.GetStaticFileResult(Request, state.Item.Path, FileShare.Read, responseHeaders, isHeadRequest); + return ResultFactory.GetStaticFileResult(Request, state.MediaPath, FileShare.Read, responseHeaders, isHeadRequest); } if (outputPathExists && !ApiEntryPoint.Instance.HasActiveTranscodingJob(outputPath, TranscodingJobType.Progressive)) @@ -224,19 +211,19 @@ namespace MediaBrowser.Api.Playback.Progressive /// <summary> /// Gets the static remote stream result. /// </summary> - /// <param name="item">The item.</param> + /// <param name="mediaPath">The media path.</param> /// <param name="responseHeaders">The response headers.</param> /// <param name="isHeadRequest">if set to <c>true</c> [is head request].</param> /// <returns>Task{System.Object}.</returns> - private async Task<object> GetStaticRemoteStreamResult(BaseItem item, Dictionary<string, string> responseHeaders, bool isHeadRequest) + private async Task<object> GetStaticRemoteStreamResult(string mediaPath, Dictionary<string, string> responseHeaders, bool isHeadRequest) { responseHeaders["Accept-Ranges"] = "none"; var httpClient = new HttpClient(); - using (var message = new HttpRequestMessage(HttpMethod.Get, item.Path)) + using (var message = new HttpRequestMessage(HttpMethod.Get, mediaPath)) { - var useragent = GetUserAgent(item); + var useragent = GetUserAgent(mediaPath); if (!string.IsNullOrEmpty(useragent)) { @@ -273,47 +260,6 @@ namespace MediaBrowser.Api.Playback.Progressive } /// <summary> - /// Gets the album art response. - /// </summary> - /// <param name="state">The state.</param> - /// <returns>System.Object.</returns> - private object GetAlbumArtResponse(StreamState state) - { - var request = new GetItemImage - { - MaxWidth = 800, - MaxHeight = 800, - Type = ImageType.Primary, - Id = state.Item.Id.ToString() - }; - - // Try and find some image to return - if (!state.Item.HasImage(ImageType.Primary)) - { - if (state.Item.HasImage(ImageType.Backdrop)) - { - request.Type = ImageType.Backdrop; - } - else if (state.Item.HasImage(ImageType.Thumb)) - { - request.Type = ImageType.Thumb; - } - else if (state.Item.HasImage(ImageType.Logo)) - { - request.Type = ImageType.Logo; - } - } - - return new ImageService(UserManager, LibraryManager, ServerConfigurationManager.ApplicationPaths, null, ItemRepository, DtoService, ImageProcessor, null) - { - Logger = Logger, - Request = Request, - ResultFactory = ResultFactory - - }.Get(request); - } - - /// <summary> /// Gets the stream result. /// </summary> /// <param name="state">The state.</param> |
