From c58d4a4b2ecb967337b881974da0a6ed235bd53a Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 17 Aug 2014 23:00:37 -0400 Subject: [PATCH] update chromecast --- .../Playback/Hls/DynamicHlsService.cs | 8 -------- .../Playback/Progressive/AudioService.cs | 12 ------------ .../Playback/Progressive/VideoService.cs | 16 ---------------- MediaBrowser.Dlna/Profiles/DirectTvProfile.cs | 4 +++- .../HttpServer/HttpListenerHost.cs | 11 ++++++++++- 5 files changed, 13 insertions(+), 38 deletions(-) diff --git a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs index 428ec7dd77..88092901c2 100644 --- a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs @@ -25,7 +25,6 @@ namespace MediaBrowser.Api.Playback.Hls /// [Route("/Videos/{Id}/master.m3u8", "GET", Summary = "Gets a video stream using HTTP live streaming.")] [Route("/Videos/{Id}/master.m3u8", "HEAD", Summary = "Gets a video stream using HTTP live streaming.")] - [Route("/Videos/{Id}/master.m3u8", "OPTIONS", Summary = "Gets a video stream using HTTP live streaming.")] public class GetMasterHlsVideoStream : VideoStreamRequest { public bool EnableAdaptiveBitrateStreaming { get; set; } @@ -71,13 +70,6 @@ namespace MediaBrowser.Api.Playback.Hls return result; } - public object Options(GetMasterHlsVideoStream request) - { - var result = GetAsync(request, "OPTIONS").Result; - - return result; - } - public object Head(GetMasterHlsVideoStream request) { var result = GetAsync(request, "HEAD").Result; diff --git a/MediaBrowser.Api/Playback/Progressive/AudioService.cs b/MediaBrowser.Api/Playback/Progressive/AudioService.cs index 21f0599e37..6fae65ffcb 100644 --- a/MediaBrowser.Api/Playback/Progressive/AudioService.cs +++ b/MediaBrowser.Api/Playback/Progressive/AudioService.cs @@ -20,8 +20,6 @@ namespace MediaBrowser.Api.Playback.Progressive [Route("/Audio/{Id}/stream", "GET", Summary = "Gets an audio stream")] [Route("/Audio/{Id}/stream.{Container}", "HEAD", Summary = "Gets an audio stream")] [Route("/Audio/{Id}/stream", "HEAD", Summary = "Gets an audio stream")] - [Route("/Audio/{Id}/stream.{Container}", "OPTIONS", Summary = "Gets an audio stream")] - [Route("/Audio/{Id}/stream", "OPTIONS", Summary = "Gets an audio stream")] public class GetAudioStream : StreamRequest { [ApiMember(Name = "Container", Description = "Container", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] @@ -57,16 +55,6 @@ namespace MediaBrowser.Api.Playback.Progressive return ProcessRequest(request, true); } - /// - /// Gets the specified request. - /// - /// The request. - /// System.Object. - public object Options(GetAudioStream request) - { - return ProcessRequest(request, true); - } - /// /// Gets the command line arguments. /// diff --git a/MediaBrowser.Api/Playback/Progressive/VideoService.cs b/MediaBrowser.Api/Playback/Progressive/VideoService.cs index 54d441dc53..6393811649 100644 --- a/MediaBrowser.Api/Playback/Progressive/VideoService.cs +++ b/MediaBrowser.Api/Playback/Progressive/VideoService.cs @@ -49,12 +49,6 @@ namespace MediaBrowser.Api.Playback.Progressive [Route("/Videos/{Id}/stream.wtv", "HEAD")] [Route("/Videos/{Id}/stream.m2ts", "HEAD")] [Route("/Videos/{Id}/stream", "HEAD")] - [Route("/Videos/{Id}/stream.mp4", "OPTIONS")] - [Route("/Videos/{Id}/stream.m4v", "OPTIONS")] - [Route("/Videos/{Id}/stream.mkv", "OPTIONS")] - [Route("/Videos/{Id}/stream.avi", "OPTIONS")] - [Route("/Videos/{Id}/stream.webm", "OPTIONS")] - [Route("/Videos/{Id}/stream.ts", "OPTIONS")] [Api(Description = "Gets a video stream")] public class GetVideoStream : VideoStreamRequest { @@ -90,16 +84,6 @@ namespace MediaBrowser.Api.Playback.Progressive return ProcessRequest(request, true); } - /// - /// Optionses the specified request. - /// - /// The request. - /// System.Object. - public object Options(GetVideoStream request) - { - return ProcessRequest(request, true); - } - /// /// Gets the command line arguments. /// diff --git a/MediaBrowser.Dlna/Profiles/DirectTvProfile.cs b/MediaBrowser.Dlna/Profiles/DirectTvProfile.cs index aeb11c38b1..585f8652e6 100644 --- a/MediaBrowser.Dlna/Profiles/DirectTvProfile.cs +++ b/MediaBrowser.Dlna/Profiles/DirectTvProfile.cs @@ -24,7 +24,9 @@ namespace MediaBrowser.Dlna.Profiles Name = "User-Agent", Value = "DIRECTV" } - } + }, + + FriendlyName = "^DIRECTV.*$" }; DirectPlayProfiles = new[] diff --git a/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs b/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs index 044ed25f91..79638d751b 100644 --- a/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs +++ b/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs @@ -83,12 +83,21 @@ namespace MediaBrowser.Server.Implementations.HttpServer container.Adapter = _containerAdapter; Plugins.Add(new SwaggerFeature()); - Plugins.Add(new CorsFeature(allowedHeaders: "Content-Type, Authorization")); + Plugins.Add(new CorsFeature(allowedHeaders: "Content-Type, Authorization, X-MediaBrowser-Token")); //Plugins.Add(new AuthFeature(() => new AuthUserSession(), new IAuthProvider[] { // new SessionAuthProvider(_containerAdapter.Resolve()), //})); + PreRequestFilters.Add((httpReq, httpRes) => + { + //Handles Request and closes Responses after emitting global HTTP Headers + if (string.Equals(httpReq.Verb, "OPTIONS", StringComparison.OrdinalIgnoreCase)) + { + httpRes.EndRequest(); //add a 'using ServiceStack;' + } + }); + HostContext.GlobalResponseFilters.Add(new ResponseFilter(_logger).FilterResponse); }