diff --git a/MediaBrowser.Api/Playback/StaticRemoteStreamWriter.cs b/MediaBrowser.Api/Playback/StaticRemoteStreamWriter.cs index 227bd954ab..8c9815134a 100644 --- a/MediaBrowser.Api/Playback/StaticRemoteStreamWriter.cs +++ b/MediaBrowser.Api/Playback/StaticRemoteStreamWriter.cs @@ -66,7 +66,7 @@ namespace MediaBrowser.Api.Playback { using (var remoteStream = await _msg.Content.ReadAsStreamAsync().ConfigureAwait(false)) { - await remoteStream.CopyToAsync(responseStream, 8192000).ConfigureAwait(false); + await remoteStream.CopyToAsync(responseStream, 819200).ConfigureAwait(false); } } } diff --git a/MediaBrowser.Model/Querying/ItemsByNameQuery.cs b/MediaBrowser.Model/Querying/ItemsByNameQuery.cs index 9986f90ec0..1d88496480 100644 --- a/MediaBrowser.Model/Querying/ItemsByNameQuery.cs +++ b/MediaBrowser.Model/Querying/ItemsByNameQuery.cs @@ -67,12 +67,15 @@ namespace MediaBrowser.Model.Querying /// The sort by. public string[] SortBy { get; set; } + public ImageType[] ImageTypes { get; set; } + /// /// Initializes a new instance of the class. /// public ItemsByNameQuery() { - Fields = new ItemFields[] {}; + ImageTypes = new ImageType[] { }; + Fields = new ItemFields[] { }; Recursive = true; MediaTypes = new string[] { }; SortBy = new string[] { }; diff --git a/MediaBrowser.Model/Querying/PersonsQuery.cs b/MediaBrowser.Model/Querying/PersonsQuery.cs index a4b7eab712..a859ece1f1 100644 --- a/MediaBrowser.Model/Querying/PersonsQuery.cs +++ b/MediaBrowser.Model/Querying/PersonsQuery.cs @@ -1,4 +1,5 @@ - +using MediaBrowser.Model.Entities; + namespace MediaBrowser.Model.Querying { /// diff --git a/MediaBrowser.Model/System/SystemInfo.cs b/MediaBrowser.Model/System/SystemInfo.cs index e605a5daa7..959ec44c8b 100644 --- a/MediaBrowser.Model/System/SystemInfo.cs +++ b/MediaBrowser.Model/System/SystemInfo.cs @@ -72,7 +72,13 @@ namespace MediaBrowser.Model.System /// /// The program data path. public string ProgramDataPath { get; set; } - + + /// + /// Gets or sets the HTTP server port number. + /// + /// The HTTP server port number. + public int HttpServerPortNumber { get; set; } + /// /// Initializes a new instance of the class. /// diff --git a/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs b/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs index 59217bc17d..089b8a5055 100644 --- a/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs +++ b/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs @@ -219,7 +219,7 @@ namespace MediaBrowser.Server.Implementations.Providers } catch (Exception ex) { - _logger.ErrorException("{0} failed refreshing {1}", ex, provider.GetType().Name, item.Name); + _logger.ErrorException("{0} failed refreshing {1} {2}", ex, provider.GetType().Name, item.Name, item.Path ?? string.Empty); provider.SetLastRefreshed(item, DateTime.UtcNow, ProviderRefreshStatus.Failure); diff --git a/MediaBrowser.Server.Implementations/ServerManager/WebSocketConnection.cs b/MediaBrowser.Server.Implementations/ServerManager/WebSocketConnection.cs index 3612b85b95..4bab10ee09 100644 --- a/MediaBrowser.Server.Implementations/ServerManager/WebSocketConnection.cs +++ b/MediaBrowser.Server.Implementations/ServerManager/WebSocketConnection.cs @@ -132,10 +132,17 @@ namespace MediaBrowser.Server.Implementations.ServerManager { LastActivityDate = DateTime.UtcNow; + if (!message.StartsWith("{", StringComparison.OrdinalIgnoreCase)) + { + _logger.Error("Received web socket message that is not a json structure: " + message); + return; + } + if (OnReceive == null) { return; } + try { var stub = (WebSocketMessage)_jsonSerializer.DeserializeFromString(message, typeof(WebSocketMessage)); diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs index 61bf0a0d14..3224205451 100644 --- a/MediaBrowser.ServerApplication/ApplicationHost.cs +++ b/MediaBrowser.ServerApplication/ApplicationHost.cs @@ -607,7 +607,8 @@ namespace MediaBrowser.ServerApplication CompletedInstallations = InstallationManager.CompletedInstallations.ToArray(), Id = _systemId, ProgramDataPath = ApplicationPaths.ProgramDataPath, - MacAddress = GetMacAddress() + MacAddress = GetMacAddress(), + HttpServerPortNumber = ServerConfigurationManager.Configuration.HttpServerPortNumber }; } diff --git a/MediaBrowser.WebDashboard/ApiClient.js b/MediaBrowser.WebDashboard/ApiClient.js index af785eb3e8..4bdd3f7795 100644 --- a/MediaBrowser.WebDashboard/ApiClient.js +++ b/MediaBrowser.WebDashboard/ApiClient.js @@ -20,9 +20,6 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) { if (!serverHostName) { throw new Error("Must supply serverHostName, e.g. 192.168.1.1 or myServerName"); } - if (!serverPortNumber) { - throw new Error("Must supply a serverPortNumber"); - } var self = this; var deviceName = "Web Browser"; @@ -38,14 +35,6 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) { return serverHostName; }; - /** - * Gets the server port number. - */ - self.serverPortNumber = function () { - - return serverPortNumber; - }; - /** * Gets or sets the current user id. */ @@ -152,7 +141,13 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) { throw new Error("Url name cannot be empty"); } - var url = serverProtocol + "//" + serverHostName + ":" + serverPortNumber + "/mediabrowser/" + name; + var url = serverProtocol + "//" + serverHostName; + + if (serverPortNumber) { + url += ":" + serverPortNumber; + } + + url += "/mediabrowser/" + name; if (params) { url += "?" + $.param(params); @@ -3384,7 +3379,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) { var deferred = $.Deferred(); - var msgData = itemId + "|" + (positionTicks == null ? "" : positionTicks) + "|" + (isPaused == null ? "" : isPaused) + "|" + (isMuted == null ? "" : isMuted); + var msgData = itemId + "|" + (positionTicks == null ? "" : positionTicks) + "|" + (isPaused == null ? "" : isPaused) + "|" + (isMuted == null ? "" : isMuted); self.sendWebSocketMessage("PlaybackProgress", msgData); diff --git a/MediaBrowser.WebDashboard/packages.config b/MediaBrowser.WebDashboard/packages.config index 395c46b566..f111dfc5aa 100644 --- a/MediaBrowser.WebDashboard/packages.config +++ b/MediaBrowser.WebDashboard/packages.config @@ -1,6 +1,6 @@  - + \ No newline at end of file