Browse Source

properly fall back to software pipeline (#1084)

pull/1085/head
Jason Dove 3 years ago committed by GitHub
parent
commit
5f7efbb69c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 7
      ErsatzTV.FFmpeg/Capabilities/NoHardwareCapabilities.cs
  2. 8
      ErsatzTV.FFmpeg/Pipeline/PipelineBuilderFactory.cs

7
ErsatzTV.FFmpeg/Capabilities/NoHardwareCapabilities.cs

@ -4,6 +4,9 @@ namespace ErsatzTV.FFmpeg.Capabilities; @@ -4,6 +4,9 @@ namespace ErsatzTV.FFmpeg.Capabilities;
public class NoHardwareCapabilities : IHardwareCapabilities
{
public bool CanDecode(string videoFormat, Option<string> videoProfile, Option<IPixelFormat> maybePixelFormat) => false;
public bool CanEncode(string videoFormat, Option<string> videoProfile, Option<IPixelFormat> maybePixelFormat) => false;
public bool CanDecode(string videoFormat, Option<string> videoProfile, Option<IPixelFormat> maybePixelFormat) =>
false;
public bool CanEncode(string videoFormat, Option<string> videoProfile, Option<IPixelFormat> maybePixelFormat) =>
false;
}

8
ErsatzTV.FFmpeg/Pipeline/PipelineBuilderFactory.cs

@ -37,10 +37,10 @@ public class PipelineBuilderFactory : IPipelineBuilderFactory @@ -37,10 +37,10 @@ public class PipelineBuilderFactory : IPipelineBuilderFactory
hardwareAccelerationMode,
vaapiDriver,
vaapiDevice);
return hardwareAccelerationMode switch
{
HardwareAccelerationMode.Nvenc => new NvidiaPipelineBuilder(
HardwareAccelerationMode.Nvenc when capabilities is not NoHardwareCapabilities => new NvidiaPipelineBuilder(
capabilities,
hardwareAccelerationMode,
videoInputFile,
@ -50,7 +50,7 @@ public class PipelineBuilderFactory : IPipelineBuilderFactory @@ -50,7 +50,7 @@ public class PipelineBuilderFactory : IPipelineBuilderFactory
reportsFolder,
fontsFolder,
_logger),
HardwareAccelerationMode.Vaapi => new VaapiPipelineBuilder(
HardwareAccelerationMode.Vaapi when capabilities is not NoHardwareCapabilities => new VaapiPipelineBuilder(
capabilities,
hardwareAccelerationMode,
videoInputFile,
@ -91,7 +91,7 @@ public class PipelineBuilderFactory : IPipelineBuilderFactory @@ -91,7 +91,7 @@ public class PipelineBuilderFactory : IPipelineBuilderFactory
fontsFolder,
_logger),
_ => new SoftwarePipelineBuilder(
hardwareAccelerationMode,
HardwareAccelerationMode.None,
videoInputFile,
audioInputFile,
watermarkInputFile,

Loading…
Cancel
Save