diff options
| author | Cody Robibero <cody@robibe.ro> | 2021-12-11 12:05:34 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-11 12:05:34 -0700 |
| commit | 8b4a36d6f729d8f573e7b5c7e99950b7742b635e (patch) | |
| tree | 2228ce6aa020792a85e9bb765a51570f02fcb35f /MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs | |
| parent | 4d1b8246513b352d65d4db6afcb97ae1e984c760 (diff) | |
| parent | 03b3f08354f496d18444779977bfc1602bbb2c73 (diff) | |
Merge pull request #6898 from jonas-resch/support-external-audio-filesv10.8.0-alpha3
Add support for external audio files
Diffstat (limited to 'MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs')
| -rw-r--r-- | MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs b/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs index 887a7f80c..19a435196 100644 --- a/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs +++ b/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs @@ -7,6 +7,7 @@ using System.IO; using System.Linq; using System.Threading; using System.Threading.Tasks; +using Emby.Naming.Common; using MediaBrowser.Controller.Chapters; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities; @@ -39,6 +40,7 @@ namespace MediaBrowser.Providers.MediaInfo { private readonly ILogger<FFProbeProvider> _logger; private readonly SubtitleResolver _subtitleResolver; + private readonly AudioResolver _audioResolver; private readonly FFProbeVideoInfo _videoProber; private readonly FFProbeAudioInfo _audioProber; @@ -55,10 +57,11 @@ namespace MediaBrowser.Providers.MediaInfo IServerConfigurationManager config, ISubtitleManager subtitleManager, IChapterManager chapterManager, - ILibraryManager libraryManager) + ILibraryManager libraryManager, + NamingOptions namingOptions) { _logger = logger; - + _audioResolver = new AudioResolver(localization, mediaEncoder, namingOptions); _subtitleResolver = new SubtitleResolver(BaseItem.LocalizationManager); _videoProber = new FFProbeVideoInfo( _logger, @@ -71,7 +74,8 @@ namespace MediaBrowser.Providers.MediaInfo config, subtitleManager, chapterManager, - libraryManager); + libraryManager, + _audioResolver); _audioProber = new FFProbeAudioInfo(mediaSourceManager, mediaEncoder, itemRepo, libraryManager); } @@ -92,7 +96,7 @@ namespace MediaBrowser.Providers.MediaInfo var file = directoryService.GetFile(path); if (file != null && file.LastWriteTimeUtc != item.DateModified) { - _logger.LogDebug("Refreshing {0} due to date modified timestamp change.", path); + _logger.LogDebug("Refreshing {ItemPath} due to date modified timestamp change.", path); return true; } } @@ -102,7 +106,15 @@ namespace MediaBrowser.Providers.MediaInfo && !video.SubtitleFiles.SequenceEqual( _subtitleResolver.GetExternalSubtitleFiles(video, directoryService, false), StringComparer.Ordinal)) { - _logger.LogDebug("Refreshing {0} due to external subtitles change.", item.Path); + _logger.LogDebug("Refreshing {ItemPath} due to external subtitles change.", item.Path); + return true; + } + + if (item.SupportsLocalMetadata && video != null && !video.IsPlaceHolder + && !video.AudioFiles.SequenceEqual( + _audioResolver.GetExternalAudioFiles(video, directoryService, false), StringComparer.Ordinal)) + { + _logger.LogDebug("Refreshing {ItemPath} due to external audio change.", item.Path); return true; } |
