mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-04-20 00:55:13 +01:00
fixed remote control flyout
This commit is contained in:
@@ -664,7 +664,7 @@ namespace MediaBrowser.Server.Implementations.Dto
|
||||
if (fields.Contains(ItemFields.Settings))
|
||||
{
|
||||
dto.LockedFields = item.LockedFields;
|
||||
dto.EnableInternetProviders = !item.DontFetchMeta;
|
||||
dto.LockData = item.DontFetchMeta;
|
||||
}
|
||||
|
||||
var hasBudget = item as IHasBudget;
|
||||
|
||||
@@ -435,10 +435,10 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
||||
|
||||
if (!compress || string.IsNullOrEmpty(requestedCompressionType))
|
||||
{
|
||||
var stream = await factoryFn().ConfigureAwait(false);
|
||||
|
||||
var rangeHeader = requestContext.GetHeader("Range");
|
||||
|
||||
var stream = await factoryFn().ConfigureAwait(false);
|
||||
|
||||
if (!string.IsNullOrEmpty(rangeHeader))
|
||||
{
|
||||
return new RangeRequestWriter(rangeHeader, stream, contentType, isHeadRequest);
|
||||
@@ -448,34 +448,54 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
||||
|
||||
if (isHeadRequest)
|
||||
{
|
||||
stream.Dispose();
|
||||
|
||||
return GetHttpResult(new byte[] { }, contentType);
|
||||
}
|
||||
|
||||
return new StreamWriter(stream, contentType, _logger);
|
||||
}
|
||||
|
||||
if (isHeadRequest)
|
||||
{
|
||||
return GetHttpResult(new byte[] { }, contentType);
|
||||
}
|
||||
|
||||
string content;
|
||||
long originalContentLength = 0;
|
||||
|
||||
using (var stream = await factoryFn().ConfigureAwait(false))
|
||||
{
|
||||
using (var reader = new StreamReader(stream))
|
||||
using (var memoryStream = new MemoryStream())
|
||||
{
|
||||
content = await reader.ReadToEndAsync().ConfigureAwait(false);
|
||||
await stream.CopyToAsync(memoryStream).ConfigureAwait(false);
|
||||
memoryStream.Position = 0;
|
||||
|
||||
originalContentLength = memoryStream.Length;
|
||||
|
||||
using (var reader = new StreamReader(memoryStream))
|
||||
{
|
||||
content = await reader.ReadToEndAsync().ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!SupportsCompression)
|
||||
{
|
||||
responseHeaders["Content-Length"] = originalContentLength.ToString(UsCulture);
|
||||
|
||||
if (isHeadRequest)
|
||||
{
|
||||
return GetHttpResult(new byte[] { }, contentType);
|
||||
}
|
||||
|
||||
return new HttpResult(content, contentType);
|
||||
}
|
||||
|
||||
var contents = content.Compress(requestedCompressionType);
|
||||
|
||||
responseHeaders["Content-Length"] = contents.Length.ToString(UsCulture);
|
||||
|
||||
if (isHeadRequest)
|
||||
{
|
||||
return GetHttpResult(new byte[] { }, contentType);
|
||||
}
|
||||
|
||||
return new CompressedResult(contents, requestedCompressionType, contentType);
|
||||
}
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
||||
var response = (HttpListenerResponse)res.OriginalResponse;
|
||||
|
||||
response.ContentLength64 = length;
|
||||
|
||||
|
||||
// Disable chunked encoding. Technically this is only needed when using Content-Range, but
|
||||
// anytime we know the content length there's no need for it
|
||||
response.SendChunked = false;
|
||||
|
||||
@@ -8,7 +8,6 @@ using MediaBrowser.Model.Serialization;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
@@ -171,7 +170,7 @@ namespace MediaBrowser.Server.Implementations.ServerManager
|
||||
|
||||
throw;
|
||||
}
|
||||
catch (HttpListenerException ex)
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.ErrorException("Error starting Http Server", ex);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user