aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2017-11-06 16:33:55 -0500
committerGitHub <noreply@github.com>2017-11-06 16:33:55 -0500
commit0f4420133c014aa7252f384560dbf5a6550f3aeb (patch)
tree30f765d89c46c35d2027b6586c7b267c8938c3cb /Emby.Server.Implementations
parentcb1a8ba88b20a2c6a6e601197adfa8a8af353150 (diff)
parent83a43121af862051c0d414b1ca7ef6c389088e0b (diff)
Merge pull request #3005 from MediaBrowser/dev
Dev
Diffstat (limited to 'Emby.Server.Implementations')
-rw-r--r--Emby.Server.Implementations/Dto/DtoService.cs2
-rw-r--r--Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHttpStream.cs14
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);
}
}
}