Make ILiveStream an IDisposable

pull/10682/head
Patrick Barron 6 months ago
parent 669baf98a5
commit 192559db32

@ -12,7 +12,7 @@ using MediaBrowser.Model.Dto;
namespace Emby.Server.Implementations.Library namespace Emby.Server.Implementations.Library
{ {
public class ExclusiveLiveStream : ILiveStream public sealed class ExclusiveLiveStream : ILiveStream
{ {
private readonly Func<Task> _closeFn; private readonly Func<Task> _closeFn;
@ -51,5 +51,10 @@ namespace Emby.Server.Implementations.Library
{ {
return Task.CompletedTask; return Task.CompletedTask;
} }
/// <inheritdoc />
public void Dispose()
{
}
} }
} }

@ -112,6 +112,21 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
return stream; return stream;
} }
/// <inheritdoc />
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool dispose)
{
if (dispose)
{
LiveStreamCancellationTokenSource?.Dispose();
}
}
protected async Task DeleteTempFiles(string path, int retryCount = 0) protected async Task DeleteTempFiles(string path, int retryCount = 0)
{ {
if (retryCount == 0) if (retryCount == 0)

@ -2,6 +2,7 @@
#pragma warning disable CA1711, CS1591 #pragma warning disable CA1711, CS1591
using System;
using System.IO; using System.IO;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -9,7 +10,7 @@ using MediaBrowser.Model.Dto;
namespace MediaBrowser.Controller.Library namespace MediaBrowser.Controller.Library
{ {
public interface ILiveStream public interface ILiveStream : IDisposable
{ {
int ConsumerCount { get; set; } int ConsumerCount { get; set; }

Loading…
Cancel
Save