aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Library/ExclusiveLiveStream.cs
diff options
context:
space:
mode:
authorWWWesten <4700006+WWWesten@users.noreply.github.com>2021-11-01 23:43:29 +0500
committerGitHub <noreply@github.com>2021-11-01 23:43:29 +0500
commit0a14279e2a21bcb9654a06a2d49e1e4f0cc5329c (patch)
treee1b1bd603b011ca98e5793e356326bf4a35a7050 /Emby.Server.Implementations/Library/ExclusiveLiveStream.cs
parentf2817fef743eeb75a00782ceea363b2d3e7dc9f2 (diff)
parent76eeb8f655424d295e73ced8349c6fefee6ddb12 (diff)
Merge branch 'jellyfin:master' into master
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)