aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Library/ExclusiveLiveStream.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Server.Implementations/Library/ExclusiveLiveStream.cs')
-rw-r--r--Emby.Server.Implementations/Library/ExclusiveLiveStream.cs35
1 files changed, 24 insertions, 11 deletions
diff --git a/Emby.Server.Implementations/Library/ExclusiveLiveStream.cs b/Emby.Server.Implementations/Library/ExclusiveLiveStream.cs
index 45a33a296..868071a99 100644
--- a/Emby.Server.Implementations/Library/ExclusiveLiveStream.cs
+++ b/Emby.Server.Implementations/Library/ExclusiveLiveStream.cs
@@ -1,4 +1,10 @@
+#nullable disable
+
+#pragma warning disable CS1591
+
using System;
+using System.Globalization;
+using System.IO;
using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Controller.Library;
@@ -8,30 +14,37 @@ namespace Emby.Server.Implementations.Library
{
public class ExclusiveLiveStream : ILiveStream
{
+ private readonly Func<Task> _closeFn;
+
+ public ExclusiveLiveStream(MediaSourceInfo mediaSource, Func<Task> closeFn)
+ {
+ MediaSource = mediaSource;
+ EnableStreamSharing = false;
+ _closeFn = closeFn;
+ ConsumerCount = 1;
+ UniqueId = Guid.NewGuid().ToString("N", CultureInfo.InvariantCulture);
+ }
+
public int ConsumerCount { get; set; }
+
public string OriginalStreamId { get; set; }
public string TunerHostId => null;
public bool EnableStreamSharing { get; set; }
- public MediaSourceInfo MediaSource { get; set; }
- public string UniqueId { get; private set; }
+ public MediaSourceInfo MediaSource { get; set; }
- private Func<Task> _closeFn;
+ public string UniqueId { get; }
- public ExclusiveLiveStream(MediaSourceInfo mediaSource, Func<Task> closeFn)
+ public Task Close()
{
- MediaSource = mediaSource;
- EnableStreamSharing = false;
- _closeFn = closeFn;
- ConsumerCount = 1;
- UniqueId = Guid.NewGuid().ToString("N");
+ return _closeFn();
}
- public Task Close()
+ public Stream GetStream()
{
- return _closeFn();
+ throw new NotSupportedException();
}
public Task Open(CancellationToken openCancellationToken)