aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs
diff options
context:
space:
mode:
authorCody Robibero <cody@robibe.ro>2021-12-11 12:05:34 -0700
committerGitHub <noreply@github.com>2021-12-11 12:05:34 -0700
commit8b4a36d6f729d8f573e7b5c7e99950b7742b635e (patch)
tree2228ce6aa020792a85e9bb765a51570f02fcb35f /MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs
parent4d1b8246513b352d65d4db6afcb97ae1e984c760 (diff)
parent03b3f08354f496d18444779977bfc1602bbb2c73 (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.cs22
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;
}