diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-06-01 01:05:36 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-06-01 01:05:36 -0400 |
| commit | 386ed8d34a154766ff202ef86719bed5c89b2ff2 (patch) | |
| tree | 9d2d6b1c78b493b8fdfdeddb350fa4e00d5cc16b /MediaBrowser.Controller/IO | |
| parent | 804c98c864f1f96503bf832c9bb3068989f7eb43 (diff) | |
update live stream buffers
Diffstat (limited to 'MediaBrowser.Controller/IO')
| -rw-r--r-- | MediaBrowser.Controller/IO/StreamHelper.cs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/IO/StreamHelper.cs b/MediaBrowser.Controller/IO/StreamHelper.cs index 168d4b8c6..af97a0233 100644 --- a/MediaBrowser.Controller/IO/StreamHelper.cs +++ b/MediaBrowser.Controller/IO/StreamHelper.cs @@ -1,5 +1,6 @@ using System.IO; using System.Threading; +using System; namespace MediaBrowser.Controller.IO { @@ -7,6 +8,11 @@ namespace MediaBrowser.Controller.IO { public static void CopyTo(Stream source, Stream destination, int bufferSize, CancellationToken cancellationToken) { + CopyTo(source, destination, bufferSize, null, cancellationToken); + } + + public static void CopyTo(Stream source, Stream destination, int bufferSize, Action onStarted, CancellationToken cancellationToken) + { byte[] buffer = new byte[bufferSize]; int read; while ((read = source.Read(buffer, 0, buffer.Length)) != 0) @@ -14,6 +20,12 @@ namespace MediaBrowser.Controller.IO cancellationToken.ThrowIfCancellationRequested(); destination.Write(buffer, 0, read); + + if (onStarted != null) + { + onStarted(); + onStarted = null; + } } } } |
