aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs
diff options
context:
space:
mode:
authorCody Robibero <cody@robibe.ro>2021-09-03 06:56:45 -0600
committerCody Robibero <cody@robibe.ro>2021-09-03 06:56:45 -0600
commitec1341215518d8975acafdf6a59644e63ad81a1a (patch)
tree50806c436134adae258e2053e03cb0d09556e4de /Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs
parentecb4b8e0aacef56331e7eadd1f82839b0f6e1e00 (diff)
parentb1e7cfd84c6007472f3b42d6aea360a02119925a (diff)
Merge remote-tracking branch 'upstream/master' into warn-259810
Diffstat (limited to 'Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs')
-rw-r--r--Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs17
1 files changed, 17 insertions, 0 deletions
diff --git a/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs b/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs
index e00332808..01e89302e 100644
--- a/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs
+++ b/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs
@@ -5,6 +5,7 @@
using System;
using System.IO;
using System.Linq;
+using DiscUtils.Udf;
using Emby.Naming.Video;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
@@ -201,6 +202,22 @@ namespace Emby.Server.Implementations.Library.Resolvers
{
video.IsoType = IsoType.BluRay;
}
+ else
+ {
+ // use disc-utils, both DVDs and BDs use UDF filesystem
+ using (var videoFileStream = File.Open(video.Path, FileMode.Open, FileAccess.Read))
+ {
+ UdfReader udfReader = new UdfReader(videoFileStream);
+ if (udfReader.DirectoryExists("VIDEO_TS"))
+ {
+ video.IsoType = IsoType.Dvd;
+ }
+ else if (udfReader.DirectoryExists("BDMV"))
+ {
+ video.IsoType = IsoType.BluRay;
+ }
+ }
+ }
}
}