|
@@ -108,11 +108,11 @@ namespace MediaBrowser.Api.Playback.Progressive
|
|
|
var eofCount = 0;
|
|
|
long position = 0;
|
|
|
|
|
|
- using (var fs = _fileSystem.GetFileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite, false))
|
|
|
+ using (var fs = _fileSystem.GetFileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite, true))
|
|
|
{
|
|
|
while (eofCount < 15)
|
|
|
{
|
|
|
- CopyToInternal(fs, outputStream, BufferSize);
|
|
|
+ await CopyToInternal(fs, outputStream, BufferSize).ConfigureAwait(false);
|
|
|
|
|
|
var fsPosition = fs.Position;
|
|
|
|
|
@@ -138,11 +138,11 @@ namespace MediaBrowser.Api.Playback.Progressive
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void CopyToInternal(Stream source, Stream destination, int bufferSize)
|
|
|
+ private async Task CopyToInternal(Stream source, Stream destination, int bufferSize)
|
|
|
{
|
|
|
var array = new byte[bufferSize];
|
|
|
int count;
|
|
|
- while ((count = source.Read(array, 0, array.Length)) != 0)
|
|
|
+ while ((count = await source.ReadAsync(array, 0, array.Length).ConfigureAwait(false)) != 0)
|
|
|
{
|
|
|
//if (_job != null)
|
|
|
//{
|
|
@@ -168,7 +168,7 @@ namespace MediaBrowser.Api.Playback.Progressive
|
|
|
// }
|
|
|
//}
|
|
|
|
|
|
- destination.Write(array, 0, count);
|
|
|
+ await destination.WriteAsync(array, 0, count).ConfigureAwait(false);
|
|
|
|
|
|
_bytesWritten += count;
|
|
|
|