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.
This commit is contained in:
Stanislav Ionascu 2022-12-07 16:40:26 +00:00
parent f3c57e6a0a
commit 7d6ec0a5bd

View File

@ -163,9 +163,8 @@ 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"))
{
video.IsoType = IsoType.Dvd;
@ -175,7 +174,6 @@ namespace Emby.Server.Implementations.Library.Resolvers
video.IsoType = IsoType.BluRay;
}
}
}
catch (Exception ex)
{
_logger.LogError(ex, "Error opening UDF/ISO image: {Value}", video.Path ?? video.Name);