aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2016-12-03 19:18:51 -0500
committerGitHub <noreply@github.com>2016-12-03 19:18:51 -0500
commit9f76369150e5e290c5ab58843713c5afe8b57283 (patch)
tree95231785e83ad3d981ffa78e8cf190686d6d4e4a /Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs
parentc14dc5686d8d9227ec327a9b15cc9905ab16e3b4 (diff)
parent7ed6c67db0f28c5776d972668a438369c3b96aef (diff)
Merge pull request #2327 from MediaBrowser/dev
Dev
Diffstat (limited to 'Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs')
-rw-r--r--Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs28
1 files changed, 18 insertions, 10 deletions
diff --git a/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs b/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs
index d9c3ac5ab..b337e1b9e 100644
--- a/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs
+++ b/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs
@@ -4,6 +4,8 @@ using MediaBrowser.Model.Entities;
using MediaBrowser.Naming.Video;
using System;
using System.IO;
+using System.Linq;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Logging;
namespace Emby.Server.Implementations.Library.Resolvers
@@ -59,7 +61,7 @@ namespace Emby.Server.Implementations.Library.Resolvers
if (child.IsDirectory)
{
- if (IsDvdDirectory(filename))
+ if (IsDvdDirectory(child.FullName, filename, args.DirectoryService))
{
videoInfo = parser.ResolveDirectory(args.Path);
@@ -76,7 +78,7 @@ namespace Emby.Server.Implementations.Library.Resolvers
};
break;
}
- if (IsBluRayDirectory(filename))
+ if (IsBluRayDirectory(child.FullName, filename, args.DirectoryService))
{
videoInfo = parser.ResolveDirectory(args.Path);
@@ -267,11 +269,14 @@ namespace Emby.Server.Implementations.Library.Resolvers
/// <summary>
/// Determines whether [is DVD directory] [the specified directory name].
/// </summary>
- /// <param name="directoryName">Name of the directory.</param>
- /// <returns><c>true</c> if [is DVD directory] [the specified directory name]; otherwise, <c>false</c>.</returns>
- protected bool IsDvdDirectory(string directoryName)
+ protected bool IsDvdDirectory(string fullPath, string directoryName, IDirectoryService directoryService)
{
- return string.Equals(directoryName, "video_ts", StringComparison.OrdinalIgnoreCase);
+ if (!string.Equals(directoryName, "video_ts", StringComparison.OrdinalIgnoreCase))
+ {
+ return false;
+ }
+
+ return directoryService.GetFiles(fullPath).Any(i => string.Equals(i.Extension, ".vob", StringComparison.OrdinalIgnoreCase));
}
/// <summary>
@@ -287,11 +292,14 @@ namespace Emby.Server.Implementations.Library.Resolvers
/// <summary>
/// Determines whether [is blu ray directory] [the specified directory name].
/// </summary>
- /// <param name="directoryName">Name of the directory.</param>
- /// <returns><c>true</c> if [is blu ray directory] [the specified directory name]; otherwise, <c>false</c>.</returns>
- protected bool IsBluRayDirectory(string directoryName)
+ protected bool IsBluRayDirectory(string fullPath, string directoryName, IDirectoryService directoryService)
{
- return string.Equals(directoryName, "bdmv", StringComparison.OrdinalIgnoreCase);
+ if (!string.Equals(directoryName, "bdmv", StringComparison.OrdinalIgnoreCase))
+ {
+ return false;
+ }
+
+ return directoryService.GetFiles(fullPath).Any(i => string.Equals(i.Extension, ".m2ts", StringComparison.OrdinalIgnoreCase));
}
}
}