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,17 +163,15 @@ namespace Emby.Server.Implementations.Library.Resolvers
try try
{ {
// use disc-utils, both DVDs and BDs use UDF filesystem // use disc-utils, both DVDs and BDs use UDF filesystem
using (var videoFileStream = File.Open(video.Path, FileMode.Open, FileAccess.Read)) using var videoFileStream = File.Open(video.Path, FileMode.Open, FileAccess.Read, FileShare.Read);
using (UdfReader udfReader = new UdfReader(videoFileStream)) using UdfReader udfReader = new UdfReader(videoFileStream);
if (udfReader.DirectoryExists("VIDEO_TS"))
{ {
if (udfReader.DirectoryExists("VIDEO_TS")) video.IsoType = IsoType.Dvd;
{ }
video.IsoType = IsoType.Dvd; else if (udfReader.DirectoryExists("BDMV"))
} {
else if (udfReader.DirectoryExists("BDMV")) video.IsoType = IsoType.BluRay;
{
video.IsoType = IsoType.BluRay;
}
} }
} }
catch (Exception ex) catch (Exception ex)