aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStanislav Ionascu <stanislav.ionascu@gmail.com>2022-12-07 16:40:26 +0000
committerStanislav Ionascu <stanislav.ionascu@gmail.com>2022-12-07 16:40:26 +0000
commit7d6ec0a5bd1bc62b764bd873f29ba542ce734729 (patch)
tree11b8a97bcc865ca3b8355e33f9c560cb103a3b58
parentf3c57e6a0ae015dc51cf548a0380d1bed33959c2 (diff)
Fix to make sure that UDF streams are opened with Share.Read (#8276)
Make sure that any subsequent requests to open the file for read will succeed.
-rw-r--r--Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs18
1 files changed, 8 insertions, 10 deletions
diff --git a/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs b/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs
index cb377136a..e8615e7db 100644
--- a/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs
+++ b/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs
@@ -163,17 +163,15 @@ namespace Emby.Server.Implementations.Library.Resolvers
try
{
// use disc-utils, both DVDs and BDs use UDF filesystem
- using (var videoFileStream = File.Open(video.Path, FileMode.Open, FileAccess.Read))
- using (UdfReader udfReader = new UdfReader(videoFileStream))
+ using var videoFileStream = File.Open(video.Path, FileMode.Open, FileAccess.Read, FileShare.Read);
+ using UdfReader udfReader = new UdfReader(videoFileStream);
+ if (udfReader.DirectoryExists("VIDEO_TS"))
{
- if (udfReader.DirectoryExists("VIDEO_TS"))
- {
- video.IsoType = IsoType.Dvd;
- }
- else if (udfReader.DirectoryExists("BDMV"))
- {
- video.IsoType = IsoType.BluRay;
- }
+ video.IsoType = IsoType.Dvd;
+ }
+ else if (udfReader.DirectoryExists("BDMV"))
+ {
+ video.IsoType = IsoType.BluRay;
}
}
catch (Exception ex)