aboutsummaryrefslogtreecommitdiff
path: root/Emby.Dlna
diff options
context:
space:
mode:
authorClaus Vium <cvium@users.noreply.github.com>2021-10-09 12:19:44 +0200
committerGitHub <noreply@github.com>2021-10-09 12:19:44 +0200
commit115669948149b2d76604deca58955cc4eedbd474 (patch)
tree5872d34595d66d5bd446271d12d9e2a79afa355e /Emby.Dlna
parent1bfe6342df2fe7c094a31737bba511f9dfd44d71 (diff)
parent9af16fcb6c892238b734c267873b1fc137d38e66 (diff)
Merge pull request #6657 from Bond-009/dotnetbug
Diffstat (limited to 'Emby.Dlna')
-rw-r--r--Emby.Dlna/DlnaManager.cs9
1 files changed, 6 insertions, 3 deletions
diff --git a/Emby.Dlna/DlnaManager.cs b/Emby.Dlna/DlnaManager.cs
index 8fe9d484e..73e8a0008 100644
--- a/Emby.Dlna/DlnaManager.cs
+++ b/Emby.Dlna/DlnaManager.cs
@@ -359,14 +359,17 @@ namespace Emby.Dlna
// The stream should exist as we just got its name from GetManifestResourceNames
using (var stream = _assembly.GetManifestResourceStream(name)!)
{
+ var length = stream.Length;
var fileInfo = _fileSystem.GetFileInfo(path);
- if (!fileInfo.Exists || fileInfo.Length != stream.Length)
+ if (!fileInfo.Exists || fileInfo.Length != length)
{
Directory.CreateDirectory(systemProfilesPath);
- // use FileShare.None as this bypasses dotnet bug dotnet/runtime#42790 .
- using (var fileStream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None, IODefaults.FileStreamBufferSize, FileOptions.Asynchronous))
+ var fileOptions = AsyncFile.WriteOptions;
+ fileOptions.Mode = FileMode.CreateNew;
+ fileOptions.PreallocationSize = length;
+ using (var fileStream = new FileStream(path, fileOptions))
{
await stream.CopyToAsync(fileStream).ConfigureAwait(false);
}