diff options
| author | Luke <luke.pulverenti@gmail.com> | 2017-11-06 16:33:55 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-11-06 16:33:55 -0500 |
| commit | 0f4420133c014aa7252f384560dbf5a6550f3aeb (patch) | |
| tree | 30f765d89c46c35d2027b6586c7b267c8938c3cb /Emby.Server.Implementations | |
| parent | cb1a8ba88b20a2c6a6e601197adfa8a8af353150 (diff) | |
| parent | 83a43121af862051c0d414b1ca7ef6c389088e0b (diff) | |
Merge pull request #3005 from MediaBrowser/dev
Dev
Diffstat (limited to 'Emby.Server.Implementations')
| -rw-r--r-- | Emby.Server.Implementations/Dto/DtoService.cs | 2 | ||||
| -rw-r--r-- | Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHttpStream.cs | 14 |
2 files changed, 6 insertions, 10 deletions
diff --git a/Emby.Server.Implementations/Dto/DtoService.cs b/Emby.Server.Implementations/Dto/DtoService.cs index 2fa09c2b1..0a316fcf1 100644 --- a/Emby.Server.Implementations/Dto/DtoService.cs +++ b/Emby.Server.Implementations/Dto/DtoService.cs @@ -373,8 +373,6 @@ namespace Emby.Server.Implementations.Dto } NormalizeMediaSourceContainers(dto); - - dto.SupportsMediaSourceSelection = hasMediaSources.SupportsMediaSourceSelection(); } } diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHttpStream.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHttpStream.cs index 1ea77d505..ddbbda737 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHttpStream.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHttpStream.cs @@ -57,7 +57,8 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun Logger.Info("Opened HDHR stream from {0}", url); - StartStreaming(response, LiveStreamCancellationTokenSource.Token); + var taskCompletionSource = new TaskCompletionSource<bool>(); + StartStreaming(response, taskCompletionSource, LiveStreamCancellationTokenSource.Token); //OpenedMediaSource.Protocol = MediaProtocol.File; //OpenedMediaSource.Path = tempFile; @@ -71,6 +72,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun //OpenedMediaSource.SupportsDirectPlay = false; //OpenedMediaSource.SupportsDirectStream = true; //OpenedMediaSource.SupportsTranscoding = true; + await taskCompletionSource.Task.ConfigureAwait(false); } protected override void CloseInternal() @@ -78,7 +80,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun LiveStreamCancellationTokenSource.Cancel(); } - private Task StartStreaming(HttpResponseInfo response, CancellationToken cancellationToken) + private Task StartStreaming(HttpResponseInfo response, TaskCompletionSource<bool> openTaskCompletionSource, CancellationToken cancellationToken) { return Task.Run(async () => { @@ -90,10 +92,9 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun { Logger.Info("Beginning HdHomerunHttpStream stream to file"); - FileSystem.CreateDirectory(FileSystem.GetDirectoryName(TempFilePath)); using (var fileStream = FileSystem.GetFileStream(TempFilePath, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read, FileOpenOptions.None)) { - StreamHelper.CopyTo(stream, fileStream, 81920, null, cancellationToken); + StreamHelper.CopyTo(stream, fileStream, 81920, () => Resolve(openTaskCompletionSource), cancellationToken); } } } @@ -112,10 +113,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun private void Resolve(TaskCompletionSource<bool> openTaskCompletionSource) { - Task.Run(() => - { - openTaskCompletionSource.TrySetResult(true); - }); + openTaskCompletionSource.TrySetResult(true); } } } |
