mirror of https://github.com/ErsatzTV/ErsatzTV.git
Browse Source
* enable graphics engine in playback troubleshooting * fix text subtitles with graphics engine (watermarks)pull/2275/head
11 changed files with 171 additions and 55 deletions
@ -1,9 +1,10 @@
@@ -1,9 +1,10 @@
|
||||
using CliWrap; |
||||
using ErsatzTV.Application.MediaItems; |
||||
using ErsatzTV.Core.Interfaces.FFmpeg; |
||||
|
||||
namespace ErsatzTV.Application.Troubleshooting; |
||||
|
||||
public record StartTroubleshootingPlayback( |
||||
Command Command, |
||||
Guid SessionId, |
||||
PlayoutItemResult PlayoutItemResult, |
||||
MediaItemInfo MediaItemInfo, |
||||
TroubleshootingInfo TroubleshootingInfo) : IRequest, IFFmpegWorkerRequest; |
||||
|
||||
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
namespace ErsatzTV.Core.Interfaces.Troubleshooting; |
||||
|
||||
public interface ITroubleshootingNotifier |
||||
{ |
||||
bool IsFailed(Guid sessionId); |
||||
|
||||
void NotifyFailed(Guid sessionId); |
||||
|
||||
void RemoveSession(Guid sessionId); |
||||
} |
||||
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
using System.Collections.Concurrent; |
||||
using ErsatzTV.Core.Interfaces.Troubleshooting; |
||||
|
||||
namespace ErsatzTV.Core.Troubleshooting; |
||||
|
||||
public class TroubleshootingNotifier : ITroubleshootingNotifier |
||||
{ |
||||
private readonly ConcurrentDictionary<Guid, bool> _failedSessions = new(); |
||||
|
||||
public bool IsFailed(Guid sessionId) |
||||
{ |
||||
return _failedSessions.TryGetValue(sessionId, out _); |
||||
} |
||||
|
||||
public void NotifyFailed(Guid sessionId) |
||||
{ |
||||
_failedSessions[sessionId] = true; |
||||
} |
||||
|
||||
public void RemoveSession(Guid sessionId) |
||||
{ |
||||
_failedSessions.TryRemove(sessionId, out _); |
||||
} |
||||
} |
||||
Loading…
Reference in new issue