diff options
| author | Claus Vium <cvium@users.noreply.github.com> | 2021-08-30 19:54:06 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-08-30 19:54:06 +0200 |
| commit | 442e756395c69cf001e2bafa6512e82a79d04c6b (patch) | |
| tree | b461e4d23fd87186d1819f184745daa2fc0df931 | |
| parent | b7e13f3a03215f089a3a03ff044ea54173e6a1b0 (diff) | |
| parent | 351ae665090c238bc34b57fe4ab7dc91f30dd5fc (diff) | |
Merge pull request #6183 from stanionascu/bdiso-playback
| -rw-r--r-- | Emby.Server.Implementations/Emby.Server.Implementations.csproj | 1 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs | 17 |
2 files changed, 18 insertions, 0 deletions
diff --git a/Emby.Server.Implementations/Emby.Server.Implementations.csproj b/Emby.Server.Implementations/Emby.Server.Implementations.csproj index 927aa0c20..fa24e9dd1 100644 --- a/Emby.Server.Implementations/Emby.Server.Implementations.csproj +++ b/Emby.Server.Implementations/Emby.Server.Implementations.csproj @@ -23,6 +23,7 @@ </ItemGroup> <ItemGroup> + <PackageReference Include="DiscUtils.Udf" Version="0.16.4" /> <PackageReference Include="Jellyfin.XmlTv" Version="10.6.2" /> <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="5.0.2" /> <PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="5.0.0" /> diff --git a/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs b/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs index cdb492022..f114a88b7 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; + } + } + } } } |
