aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/IO/StreamHelper.cs20
-rw-r--r--MediaBrowser.Controller/LiveTv/LiveStream.cs4
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj1
3 files changed, 22 insertions, 3 deletions
diff --git a/MediaBrowser.Controller/IO/StreamHelper.cs b/MediaBrowser.Controller/IO/StreamHelper.cs
new file mode 100644
index 000000000..168d4b8c6
--- /dev/null
+++ b/MediaBrowser.Controller/IO/StreamHelper.cs
@@ -0,0 +1,20 @@
+using System.IO;
+using System.Threading;
+
+namespace MediaBrowser.Controller.IO
+{
+ public static class StreamHelper
+ {
+ public static void CopyTo(Stream source, Stream destination, int bufferSize, CancellationToken cancellationToken)
+ {
+ byte[] buffer = new byte[bufferSize];
+ int read;
+ while ((read = source.Read(buffer, 0, buffer.Length)) != 0)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+
+ destination.Write(buffer, 0, read);
+ }
+ }
+ }
+}
diff --git a/MediaBrowser.Controller/LiveTv/LiveStream.cs b/MediaBrowser.Controller/LiveTv/LiveStream.cs
index 912fed23c..b90d0e3d2 100644
--- a/MediaBrowser.Controller/LiveTv/LiveStream.cs
+++ b/MediaBrowser.Controller/LiveTv/LiveStream.cs
@@ -53,9 +53,7 @@ namespace MediaBrowser.Controller.LiveTv
protected Stream GetInputStream(string path, long startPosition, bool allowAsyncFileRead)
{
- var fileOpenOptions = startPosition > 0
- ? FileOpenOptions.RandomAccess
- : FileOpenOptions.SequentialScan;
+ var fileOpenOptions = FileOpenOptions.SequentialScan;
if (allowAsyncFileRead)
{
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index d8b81027c..e15b58e77 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -134,6 +134,7 @@
<Compile Include="Entities\UserViewBuilder.cs" />
<Compile Include="Extensions\StringExtensions.cs" />
<Compile Include="FileOrganization\IFileOrganizationService.cs" />
+ <Compile Include="IO\StreamHelper.cs" />
<Compile Include="Library\DeleteOptions.cs" />
<Compile Include="Library\ILibraryPostScanTask.cs" />
<Compile Include="Library\IMediaSourceManager.cs" />