diff options
Diffstat (limited to 'MediaBrowser.Providers')
| -rw-r--r-- | MediaBrowser.Providers/Manager/ItemImageProvider.cs | 13 | ||||
| -rw-r--r-- | MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs | 32 | ||||
| -rw-r--r-- | MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs | 6 |
3 files changed, 38 insertions, 13 deletions
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 diff --git a/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs b/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs index 3499d5d3f8..1a650082c2 100644 --- a/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs +++ b/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs @@ -92,24 +92,34 @@ namespace MediaBrowser.Providers.MediaInfo private string GetAudioImagePath(Audio item) { - var filename = item.Album ?? string.Empty; - filename += string.Join(",", item.Artists); + string filename; - if (!string.IsNullOrWhiteSpace(item.Album)) + if (item.GetType() == typeof(Audio)) { - filename += "_" + item.Album; - } - else if (!string.IsNullOrWhiteSpace(item.Name)) - { - filename += "_" + item.Name; + filename = item.Album ?? string.Empty; + filename += string.Join(",", item.Artists); + + if (!string.IsNullOrWhiteSpace(item.Album)) + { + filename += "_" + item.Album; + } + else if (!string.IsNullOrWhiteSpace(item.Name)) + { + filename += "_" + item.Name; + } + else + { + filename += "_" + item.Id.ToString("N"); + } + + filename = filename.GetMD5() + ".jpg"; } else { - filename += "_" + item.Id.ToString("N"); + // If it's an audio book or audio podcast, allow unique image per item + filename = item.Id.ToString("N") + ".jpg"; } - filename = filename.GetMD5() + ".jpg"; - var prefix = filename.Substring(0, 1); return Path.Combine(AudioImagesPath, prefix, filename); diff --git a/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs b/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs index bce4219019..e79aec33c1 100644 --- a/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs +++ b/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs @@ -163,7 +163,11 @@ namespace MediaBrowser.Providers.MediaInfo private void FetchShortcutInfo(Video video) { - video.ShortcutPath = _fileSystem.ReadAllText(video.Path); + video.ShortcutPath = _fileSystem.ReadAllText(video.Path) + .Replace("\t", string.Empty) + .Replace("\r", string.Empty) + .Replace("\n", string.Empty) + .Trim(); } public Task<ItemUpdateType> FetchAudioInfo<T>(T item, CancellationToken cancellationToken) |
