Make IRecorder an IDisposable

This commit is contained in:
Patrick Barron 2023-12-05 12:41:27 -05:00
parent 5c593b120a
commit 669baf98a5
4 changed files with 10 additions and 5 deletions

View File

@ -14,7 +14,7 @@ using Microsoft.Extensions.Logging;
namespace Emby.Server.Implementations.LiveTv.EmbyTV
{
public class DirectRecorder : IRecorder
public sealed class DirectRecorder : IRecorder
{
private readonly ILogger _logger;
private readonly IHttpClientFactory _httpClientFactory;
@ -109,5 +109,10 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
_logger.LogInformation("Recording completed to file {0}", targetFile);
}
}
/// <inheritdoc />
public void Dispose()
{
}
}
}

View File

@ -1269,7 +1269,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
directStreamProvider = liveStreamResponse.Item2;
}
var recorder = GetRecorder(mediaStreamInfo);
using var recorder = GetRecorder(mediaStreamInfo);
recordPath = recorder.GetOutputPath(mediaStreamInfo, recordPath);
recordPath = EnsureFileUnique(recordPath, timer.Id);

View File

@ -25,7 +25,7 @@ using Microsoft.Extensions.Logging;
namespace Emby.Server.Implementations.LiveTv.EmbyTV
{
public class EncodedRecorder : IRecorder, IDisposable
public class EncodedRecorder : IRecorder
{
private readonly ILogger _logger;
private readonly IMediaEncoder _mediaEncoder;
@ -37,7 +37,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
private FileStream _logFileStream;
private string _targetPath;
private Process _process;
private bool _disposed = false;
private bool _disposed;
public EncodedRecorder(
ILogger logger,

View File

@ -8,7 +8,7 @@ using MediaBrowser.Model.Dto;
namespace Emby.Server.Implementations.LiveTv.EmbyTV
{
public interface IRecorder
public interface IRecorder : IDisposable
{
/// <summary>
/// Records the specified media source.