diff options
| author | Stanislav Ionascu <stanislav.ionascu@gmail.com> | 2022-12-07 16:40:26 +0000 |
|---|---|---|
| committer | Stanislav Ionascu <stanislav.ionascu@gmail.com> | 2022-12-07 16:40:26 +0000 |
| commit | 7d6ec0a5bd1bc62b764bd873f29ba542ce734729 (patch) | |
| tree | 11b8a97bcc865ca3b8355e33f9c560cb103a3b58 | |
| parent | f3c57e6a0ae015dc51cf548a0380d1bed33959c2 (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.cs | 18 |
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) |
