diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-11-28 00:42:25 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-11-28 00:42:25 -0500 |
| commit | f92e245dfffbc3fdf020a7fcc71faf10a9b7e305 (patch) | |
| tree | 726f0145b9fcda6c671440f2261e0222359090fd | |
| parent | 79eabe1e5888c6866c946276a367ee5c25620763 (diff) | |
| parent | 56b24da15165ef4c4b7107b673bab5b191d76afe (diff) | |
Merge pull request #2315 from MediaBrowser/dev
Dev
10 files changed, 35 insertions, 24 deletions
diff --git a/Emby.Server.Implementations/Emby.Server.Implementations.csproj b/Emby.Server.Implementations/Emby.Server.Implementations.csproj index ff6fe2018..3895d7d2e 100644 --- a/Emby.Server.Implementations/Emby.Server.Implementations.csproj +++ b/Emby.Server.Implementations/Emby.Server.Implementations.csproj @@ -305,8 +305,8 @@ <Project>{4f26d5d8-a7b0-42b3-ba42-7cb7d245934e}</Project> <Name>SocketHttpListener.Portable</Name> </ProjectReference> - <Reference Include="Emby.XmlTv, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\packages\Emby.XmlTv.1.0.1\lib\portable-net45+win8\Emby.XmlTv.dll</HintPath> + <Reference Include="Emby.XmlTv, Version=1.0.6175.23736, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\packages\Emby.XmlTv.1.0.2\lib\portable-net45+win8\Emby.XmlTv.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="MediaBrowser.Naming, Version=1.0.6159.25070, Culture=neutral, processorArchitecture=MSIL"> diff --git a/Emby.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpResponse.cs b/Emby.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpResponse.cs index dc049cbde..36f795411 100644 --- a/Emby.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpResponse.cs +++ b/Emby.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpResponse.cs @@ -4,6 +4,7 @@ using System.IO; using System.Net; using System.Text; using MediaBrowser.Model.Logging; +using SocketHttpListener.Net; using HttpListenerResponse = SocketHttpListener.Net.HttpListenerResponse; using IHttpResponse = MediaBrowser.Model.Services.IHttpResponse; using IRequest = MediaBrowser.Model.Services.IRequest; @@ -101,12 +102,15 @@ namespace Emby.Server.Implementations.HttpServer.SocketSharp var outputStream = response.OutputStream; // This is needed with compression - //if (!string.IsNullOrWhiteSpace(GetHeader("Content-Encoding"))) + if (outputStream is ResponseStream) { - outputStream.Flush(); - } + //if (!string.IsNullOrWhiteSpace(GetHeader("Content-Encoding"))) + { + outputStream.Flush(); + } - outputStream.Dispose(); + outputStream.Dispose(); + } response.Close(); } catch (Exception ex) diff --git a/Emby.Server.Implementations/LiveTv/Listings/XmlTvListingsProvider.cs b/Emby.Server.Implementations/LiveTv/Listings/XmlTvListingsProvider.cs index 45158b3c2..557fa1f5f 100644 --- a/Emby.Server.Implementations/LiveTv/Listings/XmlTvListingsProvider.cs +++ b/Emby.Server.Implementations/LiveTv/Listings/XmlTvListingsProvider.cs @@ -141,7 +141,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings ProductionYear = !p.CopyrightDate.HasValue ? (int?)null : p.CopyrightDate.Value.Year, SeasonNumber = p.Episode == null ? null : p.Episode.Series, IsSeries = p.Episode != null, - IsRepeat = p.IsRepeat, + IsRepeat = p.IsPreviouslyShown && !p.IsNew, IsPremiere = p.Premiere != null, IsKids = p.Categories.Any(c => info.KidsCategories.Contains(c, StringComparer.OrdinalIgnoreCase)), IsMovie = p.Categories.Any(c => info.MovieCategories.Contains(c, StringComparer.OrdinalIgnoreCase)), diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs index 64cbc4f86..e4e0519de 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs @@ -100,18 +100,6 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts extInf = extInf.Trim(); - //Check for channel number with the format from SatIp - //int number; - //var numberIndex = channel.Name.IndexOf('.'); - //if (numberIndex > 0) - //{ - // if (int.TryParse(channel.Name.Substring(0, numberIndex), out number)) - // { - // channel.Number = number.ToString(); - // channel.Name = channel.Name.Substring(numberIndex + 1); - // } - //} - channel.ImageUrl = FindProperty("tvg-logo", extInf); channel.Name = GetChannelName(extInf); diff --git a/Emby.Server.Implementations/packages.config b/Emby.Server.Implementations/packages.config index 5d75af7a2..8464b9b37 100644 --- a/Emby.Server.Implementations/packages.config +++ b/Emby.Server.Implementations/packages.config @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <packages> - <package id="Emby.XmlTv" version="1.0.1" targetFramework="portable45-net45+win8" /> + <package id="Emby.XmlTv" version="1.0.2" targetFramework="portable45-net45+win8" /> <package id="MediaBrowser.Naming" version="1.0.2" targetFramework="portable45-net45+win8" /> <package id="SQLitePCL.pretty" version="1.1.0" targetFramework="portable45-net45+win8" /> <package id="SQLitePCLRaw.core" version="1.1.1-pre20161109081005" targetFramework="portable45-net45+win8" /> diff --git a/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs b/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs index 8d1c0a61e..690acb163 100644 --- a/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs @@ -153,7 +153,8 @@ namespace MediaBrowser.Api.Playback.Hls var newDuration = "#EXT-X-TARGETDURATION:" + segmentLength.ToString(UsCulture); - text = text.Replace("#EXT-X-TARGETDURATION:" + (segmentLength + 1).ToString(UsCulture), newDuration, StringComparison.OrdinalIgnoreCase); + text = text.Replace("#EXT-X-TARGETDURATION:" + (segmentLength - 1).ToString(UsCulture), newDuration, StringComparison.OrdinalIgnoreCase); + //text = text.Replace("#EXT-X-TARGETDURATION:" + (segmentLength + 1).ToString(UsCulture), newDuration, StringComparison.OrdinalIgnoreCase); return text; } diff --git a/ServiceStack/HttpResponseExtensionsInternal.cs b/ServiceStack/HttpResponseExtensionsInternal.cs index f78647721..feb18081a 100644 --- a/ServiceStack/HttpResponseExtensionsInternal.cs +++ b/ServiceStack/HttpResponseExtensionsInternal.cs @@ -130,7 +130,7 @@ namespace ServiceStack { foreach (var responseHeaders in responseOptions.Headers) { - if (responseHeaders.Key == "Content-Length") + if (string.Equals(responseHeaders.Key, "Content-Length", StringComparison.OrdinalIgnoreCase)) { response.SetContentLength(long.Parse(responseHeaders.Value)); continue; diff --git a/SocketHttpListener.Portable/Net/HttpConnection.cs b/SocketHttpListener.Portable/Net/HttpConnection.cs index b09d02254..4b54fc013 100644 --- a/SocketHttpListener.Portable/Net/HttpConnection.cs +++ b/SocketHttpListener.Portable/Net/HttpConnection.cs @@ -209,7 +209,9 @@ namespace SocketHttpListener.Net // TODO: can we get this stream before reading the input? if (o_stream == null) { - if (context.Response.SendChunked || isExpect100Continue || context.Response.ContentLength64 <= 0) + context.Response.DetermineIfChunked(); + + if (context.Response.SendChunked || isExpect100Continue || context.Request.IsWebSocketRequest) { o_stream = new ResponseStream(stream, context.Response, _memoryStreamFactory, _textEncoding); } diff --git a/SocketHttpListener.Portable/Net/HttpListenerResponse.cs b/SocketHttpListener.Portable/Net/HttpListenerResponse.cs index 880473c0a..c1182de34 100644 --- a/SocketHttpListener.Portable/Net/HttpListenerResponse.cs +++ b/SocketHttpListener.Portable/Net/HttpListenerResponse.cs @@ -362,6 +362,22 @@ namespace SocketHttpListener.Net return false; } + public void DetermineIfChunked() + { + if (chunked) + { + return ; + } + + Version v = context.Request.ProtocolVersion; + if (!cl_set && !chunked && v >= HttpVersion.Version11) + chunked = true; + if (!chunked && string.Equals(headers["Transfer-Encoding"], "chunked")) + { + chunked = true; + } + } + internal void SendHeaders(bool closing, MemoryStream ms) { Encoding encoding = content_encoding; diff --git a/SocketHttpListener.Portable/Net/ResponseStream.cs b/SocketHttpListener.Portable/Net/ResponseStream.cs index 7a6425dea..6067a89ec 100644 --- a/SocketHttpListener.Portable/Net/ResponseStream.cs +++ b/SocketHttpListener.Portable/Net/ResponseStream.cs @@ -14,7 +14,7 @@ namespace SocketHttpListener.Net // Update: we send a single packet for the first non-chunked Write // What happens when we set content-length to X and write X-1 bytes then close? // what if we don't set content-length at all? - class ResponseStream : Stream + public class ResponseStream : Stream { HttpListenerResponse response; bool disposed; |
