Use TV guide for livestreams
🏗️ Build Plugin / build (push) Successful in 2m53s
🧪 Test Plugin / test (push) Successful in 1m21s

This commit is contained in:
2025-12-07 17:41:48 +01:00
parent 198fc4c58d
commit 0548fe7dec
17 changed files with 650 additions and 299 deletions
@@ -15,18 +15,22 @@ public class ExpirationCheckTask : IScheduledTask
{
private readonly ILogger<ExpirationCheckTask> _logger;
private readonly IContentExpirationService _expirationService;
private readonly IStreamProxyService _streamProxyService;
/// <summary>
/// Initializes a new instance of the <see cref="ExpirationCheckTask"/> class.
/// </summary>
/// <param name="logger">The logger instance.</param>
/// <param name="expirationService">The content expiration service.</param>
/// <param name="streamProxyService">The stream proxy service.</param>
public ExpirationCheckTask(
ILogger<ExpirationCheckTask> logger,
IContentExpirationService expirationService)
IContentExpirationService expirationService,
IStreamProxyService streamProxyService)
{
_logger = logger;
_expirationService = expirationService;
_streamProxyService = streamProxyService;
}
/// <inheritdoc />
@@ -77,6 +81,10 @@ public class ExpirationCheckTask : IScheduledTask
progress?.Report(50);
var removedCount = await _expirationService.CheckAndRemoveExpiredContentAsync(cancellationToken).ConfigureAwait(false);
// Clean up old stream proxy mappings
progress?.Report(75);
_streamProxyService.CleanupOldMappings();
progress?.Report(100);
_logger.LogInformation("SRF Play expiration check task completed. Removed {Count} expired items", removedCount);
}