Browse Source

fixes

pull/2691/head
Jason Dove 8 months ago
parent
commit
4640a6275c
No known key found for this signature in database
  1. 7
      ErsatzTV.Application/Troubleshooting/Queries/GetTroubleshootingInfoHandler.cs
  2. 11
      ErsatzTV.FFmpeg/Capabilities/HardwareCapabilitiesFactory.cs
  3. 19
      ErsatzTV.FFmpeg/Capabilities/Qsv/QsvInitModes.cs

7
ErsatzTV.Application/Troubleshooting/Queries/GetTroubleshootingInfoHandler.cs

@ -102,12 +102,7 @@ public class GetTroubleshootingInfoHandler : IRequestHandler<GetTroubleshootingI @@ -102,12 +102,7 @@ public class GetTroubleshootingInfoHandler : IRequestHandler<GetTroubleshootingI
vaapiDisplays = ["drm"];
}
List<QsvInitMode> qsvInitModes = [QsvInitMode.None];
if (_runtimeInfo.IsOSPlatform(OSPlatform.Windows))
{
qsvInitModes.Add(QsvInitMode.D3d11Va);
}
qsvInitModes.Add(QsvInitMode.Qsv);
var qsvInitModes = QsvInitModes.GetModesToTest(_runtimeInfo).ToList();
foreach (string qsvDevice in vaapiDevices)
{

11
ErsatzTV.FFmpeg/Capabilities/HardwareCapabilitiesFactory.cs

@ -577,18 +577,13 @@ public partial class HardwareCapabilitiesFactory( @@ -577,18 +577,13 @@ public partial class HardwareCapabilitiesFactory(
return new QsvHardwareCapabilities(vaapiCapabilities, qsvInitMode.Value);
}
var initModesToTest = new Queue<QsvInitMode>();
initModesToTest.Enqueue(QsvInitMode.None);
if (runtimeInfo.IsOSPlatform(OSPlatform.Windows))
{
initModesToTest.Enqueue(QsvInitMode.D3d11Va);
}
initModesToTest.Enqueue(QsvInitMode.Qsv);
var initModesToTest = new Queue<QsvInitMode>(QsvInitModes.GetModesToTest(runtimeInfo));
QsvOutput output;
QsvInitMode initMode = initModesToTest.Dequeue();
QsvInitMode initMode;
do
{
initMode = initModesToTest.Dequeue();
output = await GetQsvOutput(ffmpegPath, qsvDevice, initMode);
if (output.ExitCode == 0)
{

19
ErsatzTV.FFmpeg/Capabilities/Qsv/QsvInitModes.cs

@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
using System.Runtime.InteropServices;
using ErsatzTV.FFmpeg.Runtime;
namespace ErsatzTV.FFmpeg.Capabilities.Qsv;
public static class QsvInitModes
{
public static IEnumerable<QsvInitMode> GetModesToTest(IRuntimeInfo runtimeInfo)
{
yield return QsvInitMode.None;
if (runtimeInfo.IsOSPlatform(OSPlatform.Windows))
{
yield return QsvInitMode.D3d11Va;
}
yield return QsvInitMode.Qsv;
}
}
Loading…
Cancel
Save