From 6f49782b7b77bd5f5f0fae1ec74f6454729303df Mon Sep 17 00:00:00 2001 From: evan314159 <110177090+evan314159@users.noreply.github.com> Date: Mon, 28 Jul 2025 10:08:06 +0800 Subject: fix file modification date comparisons (#14503) --- MediaBrowser.Providers/Manager/MetadataService.cs | 8 +++----- MediaBrowser.Providers/MediaInfo/ProbeProvider.cs | 2 +- MediaBrowser.Providers/Playlists/PlaylistItemsProvider.cs | 2 +- MediaBrowser.Providers/Trickplay/TrickplayProvider.cs | 2 +- 4 files changed, 6 insertions(+), 8 deletions(-) (limited to 'MediaBrowser.Providers') diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs index 5c855328b8..0f2188aa8a 100644 --- a/MediaBrowser.Providers/Manager/MetadataService.cs +++ b/MediaBrowser.Providers/Manager/MetadataService.cs @@ -332,13 +332,11 @@ namespace MediaBrowser.Providers.Manager if (!string.IsNullOrEmpty(itemPath)) { var info = FileSystem.GetFileSystemInfo(itemPath); - var modificationDate = info.LastWriteTimeUtc; - var itemLastModifiedFileSystem = item.DateModified; - if (info.Exists && itemLastModifiedFileSystem != modificationDate) + if (info.Exists && item.HasChanged(info.LastWriteTimeUtc)) { - Logger.LogDebug("File modification time changed from {Then} to {Now}: {Path}", itemLastModifiedFileSystem, modificationDate, itemPath); + Logger.LogDebug("File modification time changed from {Then} to {Now}: {Path}", item.DateModified, info.LastWriteTimeUtc, itemPath); - item.DateModified = modificationDate; + item.DateModified = info.LastWriteTimeUtc; if (ServerConfigurationManager.GetMetadataConfiguration().UseFileCreationTimeForDateAdded) { item.DateCreated = info.CreationTimeUtc; diff --git a/MediaBrowser.Providers/MediaInfo/ProbeProvider.cs b/MediaBrowser.Providers/MediaInfo/ProbeProvider.cs index 8c673350da..bd6b364586 100644 --- a/MediaBrowser.Providers/MediaInfo/ProbeProvider.cs +++ b/MediaBrowser.Providers/MediaInfo/ProbeProvider.cs @@ -130,7 +130,7 @@ namespace MediaBrowser.Providers.MediaInfo if (!string.IsNullOrWhiteSpace(path) && item.IsFileProtocol) { var file = directoryService.GetFile(path); - if (file is not null && file.LastWriteTimeUtc != item.DateModified && file.Length != item.Size) + if (file is not null && item.HasChanged(file.LastWriteTimeUtc) && file.Length != item.Size) { _logger.LogDebug("Refreshing {ItemPath} due to file system modification.", path); return true; diff --git a/MediaBrowser.Providers/Playlists/PlaylistItemsProvider.cs b/MediaBrowser.Providers/Playlists/PlaylistItemsProvider.cs index a986b0b699..4c10fe3f1a 100644 --- a/MediaBrowser.Providers/Playlists/PlaylistItemsProvider.cs +++ b/MediaBrowser.Providers/Playlists/PlaylistItemsProvider.cs @@ -215,7 +215,7 @@ public class PlaylistItemsProvider : ILocalMetadataProvider, if (!string.IsNullOrWhiteSpace(path) && item.IsFileProtocol) { var file = directoryService.GetFile(path); - if (file is not null && file.LastWriteTimeUtc != item.DateModified) + if (file is not null && item.HasChanged(file.LastWriteTimeUtc)) { _logger.LogDebug("Refreshing {Path} due to date modified timestamp change.", path); return true; diff --git a/MediaBrowser.Providers/Trickplay/TrickplayProvider.cs b/MediaBrowser.Providers/Trickplay/TrickplayProvider.cs index 768e4617b9..926a962e28 100644 --- a/MediaBrowser.Providers/Trickplay/TrickplayProvider.cs +++ b/MediaBrowser.Providers/Trickplay/TrickplayProvider.cs @@ -56,7 +56,7 @@ public class TrickplayProvider : ICustomMetadataProvider, if (item.IsFileProtocol) { var file = directoryService.GetFile(item.Path); - if (file is not null && item.DateModified != file.LastWriteTimeUtc) + if (file is not null && item.HasChanged(file.LastWriteTimeUtc)) { return true; } -- cgit v1.2.3