From 8ec8b463942d132a71fd319535c63d7205075e54 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 30 Oct 2017 00:51:43 -0400 Subject: [PATCH 1/3] allow separate configuration of date format --- .../Localization/Core/en-US.json | 7 +-- .../Localization/Core/hu.json | 44 +++++++++---------- .../Networking/NetworkManager.cs | 2 +- .../ServerApplicationPaths.cs | 17 +++++++ .../IServerApplicationPaths.cs | 2 + MediaBrowser.Model/Dlna/StreamBuilder.cs | 9 ---- .../ServerNotifyIcon.cs | 12 ++--- SharedVersion.cs | 2 +- 8 files changed, 50 insertions(+), 45 deletions(-) diff --git a/Emby.Server.Implementations/Localization/Core/en-US.json b/Emby.Server.Implementations/Localization/Core/en-US.json index 51bbf341fe..9c58b45396 100644 --- a/Emby.Server.Implementations/Localization/Core/en-US.json +++ b/Emby.Server.Implementations/Localization/Core/en-US.json @@ -87,10 +87,5 @@ "User": "User", "System": "System", "Application": "Application", - "Plugin": "Plugin", - "LabelExit": "Exit", - "LabelVisitCommunity": "Visit Community", - "LabelBrowseLibrary": "Browse Library", - "LabelConfigureServer": "Configure Emby", - "LabelRestartServer": "Restart Server" + "Plugin": "Plugin" } \ No newline at end of file diff --git a/Emby.Server.Implementations/Localization/Core/hu.json b/Emby.Server.Implementations/Localization/Core/hu.json index 80160966ff..39d0f80613 100644 --- a/Emby.Server.Implementations/Localization/Core/hu.json +++ b/Emby.Server.Implementations/Localization/Core/hu.json @@ -2,31 +2,31 @@ "Latest": "Leg\u00fajabb", "ValueSpecialEpisodeName": "Special - {0}", "Inherit": "Inherit", - "Books": "Books", - "Music": "Music", - "Games": "Games", - "Photos": "Photos", - "MixedContent": "Mixed content", - "MusicVideos": "Music videos", - "HomeVideos": "Home videos", - "Playlists": "Playlists", + "Books": "K\u00f6nyvek", + "Music": "Zene", + "Games": "J\u00e1t\u00e9kok", + "Photos": "F\u00e9nyk\u00e9pek", + "MixedContent": "Vegyes tartalom", + "MusicVideos": "Zenei Vide\u00f3k", + "HomeVideos": "H\u00e1zi vide\u00f3k", + "Playlists": "Lej\u00e1tsz\u00e1si list\u00e1k", "HeaderRecordingGroups": "Recording Groups", "HeaderContinueWatching": "Vet\u00edt\u00e9s(ek) folytat\u00e1sa", - "HeaderFavoriteArtists": "Favorite Artists", - "HeaderFavoriteSongs": "Favorite Songs", - "HeaderAlbumArtists": "Album Artists", - "HeaderFavoriteAlbums": "Favorite Albums", + "HeaderFavoriteArtists": "Kedvenc M\u0171v\u00e9szek", + "HeaderFavoriteSongs": "Kedvenc Dalok", + "HeaderAlbumArtists": "Album El\u0151ad\u00f3k", + "HeaderFavoriteAlbums": "Kedvenc Albumok", "HeaderFavoriteEpisodes": "Kedvenc Epiz\u00f3dok", "HeaderFavoriteShows": "Kedvenc M\u0171sorok", "HeaderNextUp": "K\u00f6vetkezik", - "Favorites": "Favorites", + "Favorites": "Kedvencek", "Collections": "Gy\u0171jtem\u00e9nyek", "Channels": "Csatorn\u00e1k", - "Movies": "Movies", - "Albums": "Albums", - "Artists": "Artists", - "Folders": "Folders", - "Songs": "Songs", + "Movies": "Filmek", + "Albums": "Albumok", + "Artists": "El\u0151ad\u00f3k", + "Folders": "K\u00f6nyvt\u00e1rak", + "Songs": "Dalok", "TvShows": "TV Shows", "Shows": "Shows", "Genres": "M\u0171fajok", @@ -38,15 +38,15 @@ "ScheduledTaskFailedWithName": "{0} failed", "LabelRunningTimeValue": "Running time: {0}", "ScheduledTaskStartedWithName": "{0} started", - "VersionNumber": "Version {0}", + "VersionNumber": "Verzi\u00f3 {0}", "PluginInstalledWithName": "{0} telep\u00edtve", "StartupEmbyServerIsLoading": "Emby Szerver bet\u00f6lt\u0151dik. K\u00e9rj\u00fck, pr\u00f3b\u00e1ld meg \u00fajra k\u00e9s\u0151bb.", - "PluginUpdatedWithName": "{0} was updated", + "PluginUpdatedWithName": "{0} friss\u00edtve", "PluginUninstalledWithName": "{0} elt\u00e1vol\u00edtva", "ItemAddedWithName": "{0} was added to the library", "ItemRemovedWithName": "{0} was removed from the library", - "LabelIpAddressValue": "Ip address: {0}", - "DeviceOnlineWithName": "{0} is connected", + "LabelIpAddressValue": "Ip c\u00edm: {0}", + "DeviceOnlineWithName": "{0} bel\u00e9pett", "UserOnlineFromDevice": "{0} is online from {1}", "ProviderValue": "Provider: {0}", "SubtitlesDownloadedForItem": "Subtitles downloaded for {0}", diff --git a/Emby.Server.Implementations/Networking/NetworkManager.cs b/Emby.Server.Implementations/Networking/NetworkManager.cs index 72d0154aa5..f8f7da78ae 100644 --- a/Emby.Server.Implementations/Networking/NetworkManager.cs +++ b/Emby.Server.Implementations/Networking/NetworkManager.cs @@ -106,7 +106,7 @@ namespace Emby.Server.Implementations.Networking endpoint.StartsWith("127.", StringComparison.OrdinalIgnoreCase) || endpoint.StartsWith("192.168", StringComparison.OrdinalIgnoreCase) || endpoint.StartsWith("169.", StringComparison.OrdinalIgnoreCase) || - endpoint.StartsWith("10.", StringComparison.OrdinalIgnoreCase) || + //endpoint.StartsWith("10.", StringComparison.OrdinalIgnoreCase) || IsInPrivateAddressSpaceAndLocalSubnet(endpoint); } diff --git a/Emby.Server.Implementations/ServerApplicationPaths.cs b/Emby.Server.Implementations/ServerApplicationPaths.cs index 675b0d78cd..3e3f7e0d77 100644 --- a/Emby.Server.Implementations/ServerApplicationPaths.cs +++ b/Emby.Server.Implementations/ServerApplicationPaths.cs @@ -206,6 +206,23 @@ namespace Emby.Server.Implementations } } + public string GetTranscodingTempPath() + { + var path = TranscodingTempPath; + + try + { + Directory.CreateDirectory(path); + return path; + } + catch + { + path = Path.Combine(ProgramDataPath, "transcoding-temp"); + Directory.CreateDirectory(path); + return path; + } + } + /// /// Gets the game genre path. /// diff --git a/MediaBrowser.Controller/IServerApplicationPaths.cs b/MediaBrowser.Controller/IServerApplicationPaths.cs index c89a60a6f8..4ad1cf49a0 100644 --- a/MediaBrowser.Controller/IServerApplicationPaths.cs +++ b/MediaBrowser.Controller/IServerApplicationPaths.cs @@ -108,5 +108,7 @@ namespace MediaBrowser.Controller string InternalMetadataPath { get; } string ArtistsPath { get; } + + string GetTranscodingTempPath(); } } \ No newline at end of file diff --git a/MediaBrowser.Model/Dlna/StreamBuilder.cs b/MediaBrowser.Model/Dlna/StreamBuilder.cs index 20de247a6a..cf4cd99258 100644 --- a/MediaBrowser.Model/Dlna/StreamBuilder.cs +++ b/MediaBrowser.Model/Dlna/StreamBuilder.cs @@ -965,15 +965,6 @@ namespace MediaBrowser.Model.Dlna return new Tuple>(PlayMethod.DirectStream, new List()); } - if (videoStream == null) - { - _logger.Info("Profile: {0}, Cannot direct stream with no known video stream. Path: {1}", - profile.Name ?? "Unknown Profile", - mediaSource.Path ?? "Unknown path"); - - return new Tuple>(null, new List { TranscodeReason.UnknownVideoStreamInfo }); - } - // See if it can be direct played DirectPlayProfile directPlay = null; foreach (DirectPlayProfile i in profile.DirectPlayProfiles) diff --git a/MediaBrowser.ServerApplication/ServerNotifyIcon.cs b/MediaBrowser.ServerApplication/ServerNotifyIcon.cs index cc8656f23d..a8c36e4e85 100644 --- a/MediaBrowser.ServerApplication/ServerNotifyIcon.cs +++ b/MediaBrowser.ServerApplication/ServerNotifyIcon.cs @@ -144,12 +144,12 @@ namespace MediaBrowser.ServerApplication { _uiCulture = _configurationManager.Configuration.UICulture; - cmdExit.Text = _localization.GetLocalizedString("LabelExit"); - cmdCommunity.Text = _localization.GetLocalizedString("LabelVisitCommunity"); - cmdPremiere.Text = _localization.GetLocalizedString("Emby Premiere"); - cmdBrowse.Text = _localization.GetLocalizedString("LabelBrowseLibrary"); - cmdConfigure.Text = _localization.GetLocalizedString("LabelConfigureServer"); - cmdRestart.Text = _localization.GetLocalizedString("LabelRestartServer"); + cmdExit.Text = "Exit"; + cmdCommunity.Text = "Visit Emby Community"; + cmdPremiere.Text = "Emby Premiere"; + cmdBrowse.Text = "Browse Library"; + cmdConfigure.Text = "Configure Emby Server"; + cmdRestart.Text = "Restart Emby Server"; } private string _uiCulture; diff --git a/SharedVersion.cs b/SharedVersion.cs index 1a5c5dde26..3015cea1f2 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.34.2")] +[assembly: AssemblyVersion("3.2.35.1")] From fc9de2589c7cb1e75323db8016fe04f4c8dd0f09 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 30 Oct 2017 00:52:30 -0400 Subject: [PATCH 2/3] reset image dimensions on changes --- MediaBrowser.Controller/Entities/BaseItem.cs | 19 +++++++++++++++++-- .../Manager/ItemImageProvider.cs | 13 ++++++++++++- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 89d48ff90f..5b4cd59001 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -1987,6 +1987,10 @@ namespace MediaBrowser.Controller.Entities image.Path = file.FullName; image.DateModified = imageInfo.DateModified; + + // reset these values + image.Width = 0; + image.Height = 0; } } @@ -2137,6 +2141,7 @@ namespace MediaBrowser.Controller.Entities var newImageList = new List(); var imageAdded = false; + var imageUpdated = false; foreach (var newImage in images) { @@ -2157,7 +2162,17 @@ namespace MediaBrowser.Controller.Entities { if (existing.IsLocalFile) { - existing.DateModified = FileSystem.GetLastWriteTimeUtc(newImage); + var newDateModified = FileSystem.GetLastWriteTimeUtc(newImage); + + // If date changed then we need to reset saved image dimensions + if (existing.DateModified != newDateModified && (existing.Width > 0 || existing.Height > 0)) + { + existing.Width = 0; + existing.Height = 0; + imageUpdated = true; + } + + existing.DateModified = newDateModified; } } } @@ -2190,7 +2205,7 @@ namespace MediaBrowser.Controller.Entities ImageInfos = newList; } - return newImageList.Count > 0; + return imageUpdated || newImageList.Count > 0; } private ItemImageInfo GetImageInfo(FileSystemMetadata file, ImageType type) diff --git a/MediaBrowser.Providers/Manager/ItemImageProvider.cs b/MediaBrowser.Providers/Manager/ItemImageProvider.cs index 4419b48cbb..1d432463bd 100644 --- a/MediaBrowser.Providers/Manager/ItemImageProvider.cs +++ b/MediaBrowser.Providers/Manager/ItemImageProvider.cs @@ -412,7 +412,18 @@ namespace MediaBrowser.Providers.Manager } else { - currentImage.DateModified = _fileSystem.GetLastWriteTimeUtc(image.FileInfo); + + var newDateModified = _fileSystem.GetLastWriteTimeUtc(image.FileInfo); + + // If date changed then we need to reset saved image dimensions + if (currentImage.DateModified != newDateModified && (currentImage.Width > 0 || currentImage.Height > 0)) + { + currentImage.Width = 0; + currentImage.Height = 0; + changed = true; + } + + currentImage.DateModified = newDateModified; } } else From 74136371b5d2f76fd34feadbdfc34d4760cccbda Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 30 Oct 2017 00:53:10 -0400 Subject: [PATCH 3/3] use default transcode temp path when configure one is unreachable --- Emby.Server.Implementations/LiveTv/TunerHosts/LiveStream.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/LiveStream.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/LiveStream.cs index 12695cd8e7..8620987355 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/LiveStream.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/LiveStream.cs @@ -44,7 +44,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts EnableStreamSharing = true; SharedStreamIds = new List(); UniqueId = Guid.NewGuid().ToString("N"); - TempFilePath = Path.Combine(appPaths.TranscodingTempPath, UniqueId + ".ts"); + TempFilePath = Path.Combine(appPaths.GetTranscodingTempPath(), UniqueId + ".ts"); } public virtual Task Open(CancellationToken openCancellationToken)