diff --git a/MediaBrowser.MediaEncoding/BdInfo/BdInfoExaminer.cs b/MediaBrowser.MediaEncoding/BdInfo/BdInfoExaminer.cs
index 8ebb59c59e..5bae4fbd5a 100644
--- a/MediaBrowser.MediaEncoding/BdInfo/BdInfoExaminer.cs
+++ b/MediaBrowser.MediaEncoding/BdInfo/BdInfoExaminer.cs
@@ -86,7 +86,7 @@ public class BdInfoExaminer : IBlurayExaminer
if (playlist.StreamClips is not null && playlist.StreamClips.Count > 0)
{
// Get the files in the playlist
- outputStream.Files = playlist.StreamClips.Select(i => i.StreamFile.Name).ToArray();
+ outputStream.Files = playlist.StreamClips.Select(i => i.StreamFile.FileInfo.FullName).ToArray();
}
return outputStream;
diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
index d0d41c2d38..0e0676b8bc 100644
--- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
+++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
@@ -1149,18 +1149,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
///
public IReadOnlyList GetPrimaryPlaylistM2tsFiles(string path)
- {
- // Get all playable .m2ts files
- var validPlaybackFiles = _blurayExaminer.GetDiscInfo(path).Files;
-
- // Get all files from the BDMV/STREAMING directory
- // Only return playable local .m2ts files
- var files = _fileSystem.GetFiles(Path.Join(path, "BDMV", "STREAM")).ToList();
- return validPlaybackFiles
- .Select(validFile => files.FirstOrDefault(f => Path.GetFileName(f.FullName.AsSpan()).Equals(validFile, StringComparison.OrdinalIgnoreCase))?.FullName)
- .Where(f => f is not null)
- .ToList();
- }
+ => _blurayExaminer.GetDiscInfo(path).Files;
///
public string GetInputPathArgument(EncodingJobInfo state)
@@ -1171,8 +1160,8 @@ namespace MediaBrowser.MediaEncoding.Encoder
{
return mediaSource.VideoType switch
{
- VideoType.Dvd => GetInputArgument(GetPrimaryPlaylistVobFiles(path, null).ToList(), mediaSource),
- VideoType.BluRay => GetInputArgument(GetPrimaryPlaylistM2tsFiles(path).ToList(), mediaSource),
+ VideoType.Dvd => GetInputArgument(GetPrimaryPlaylistVobFiles(path, null), mediaSource),
+ VideoType.BluRay => GetInputArgument(GetPrimaryPlaylistM2tsFiles(path), mediaSource),
_ => GetInputArgument(path, mediaSource)
};
}
diff --git a/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs b/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs
index 1d4e665703..246ba2733f 100644
--- a/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs
+++ b/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs
@@ -124,11 +124,8 @@ namespace MediaBrowser.Providers.MediaInfo
// Get BD disc information
blurayDiscInfo = GetBDInfo(item.Path);
- // Get playable .m2ts files
- var m2ts = _mediaEncoder.GetPrimaryPlaylistM2tsFiles(item.Path);
-
// Return if no playable .m2ts files are found
- if (blurayDiscInfo is null || blurayDiscInfo.Files.Length == 0 || m2ts.Count == 0)
+ if (blurayDiscInfo is null || blurayDiscInfo.Files.Length == 0)
{
_logger.LogError("No playable .m2ts files found in Blu-ray structure, skipping FFprobe.");
return ItemUpdateType.MetadataImport;
@@ -138,7 +135,7 @@ namespace MediaBrowser.Providers.MediaInfo
mediaInfoResult = await GetMediaInfo(
new Video
{
- Path = m2ts[0]
+ Path = blurayDiscInfo.Files[0]
},
cancellationToken).ConfigureAwait(false);
}