Merge pull request #10451 from jellyfin/fix-intel-va-drv-mismatch

pull/10467/head
Bond-009 11 months ago committed by GitHub
commit d01abffc49
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -775,12 +775,17 @@ namespace MediaBrowser.Controller.MediaEncoding
private string GetVaapiDeviceArgs(string renderNodePath, string driver, string kernelDriver, string srcDeviceAlias, string alias) private string GetVaapiDeviceArgs(string renderNodePath, string driver, string kernelDriver, string srcDeviceAlias, string alias)
{ {
alias ??= VaapiAlias; alias ??= VaapiAlias;
renderNodePath = renderNodePath ?? "/dev/dri/renderD128";
var driverOpts = string.IsNullOrEmpty(driver) // 'renderNodePath' has higher priority than 'kernelDriver'
? ":" + renderNodePath var driverOpts = string.IsNullOrEmpty(renderNodePath)
: ":,driver=" + driver + (string.IsNullOrEmpty(kernelDriver) ? string.Empty : ",kernel_driver=" + kernelDriver); ? (string.IsNullOrEmpty(kernelDriver) ? string.Empty : ",kernel_driver=" + kernelDriver)
: renderNodePath;
// 'driver' behaves similarly to env LIBVA_DRIVER_NAME
driverOpts += string.IsNullOrEmpty(driver) ? string.Empty : ",driver=" + driver;
var options = string.IsNullOrEmpty(srcDeviceAlias) var options = string.IsNullOrEmpty(srcDeviceAlias)
? driverOpts ? (string.IsNullOrEmpty(driverOpts) ? string.Empty : ":" + driverOpts)
: "@" + srcDeviceAlias; : "@" + srcDeviceAlias;
return string.Format( return string.Format(
@ -902,14 +907,14 @@ namespace MediaBrowser.Controller.MediaEncoding
if (_mediaEncoder.IsVaapiDeviceInteliHD) if (_mediaEncoder.IsVaapiDeviceInteliHD)
{ {
args.Append(GetVaapiDeviceArgs(null, "iHD", null, null, VaapiAlias)); args.Append(GetVaapiDeviceArgs(options.VaapiDevice, "iHD", null, null, VaapiAlias));
} }
else if (_mediaEncoder.IsVaapiDeviceInteli965) else if (_mediaEncoder.IsVaapiDeviceInteli965)
{ {
// Only override i965 since it has lower priority than iHD in libva lookup. // Only override i965 since it has lower priority than iHD in libva lookup.
Environment.SetEnvironmentVariable("LIBVA_DRIVER_NAME", "i965"); Environment.SetEnvironmentVariable("LIBVA_DRIVER_NAME", "i965");
Environment.SetEnvironmentVariable("LIBVA_DRIVER_NAME_JELLYFIN", "i965"); Environment.SetEnvironmentVariable("LIBVA_DRIVER_NAME_JELLYFIN", "i965");
args.Append(GetVaapiDeviceArgs(null, "i965", null, null, VaapiAlias)); args.Append(GetVaapiDeviceArgs(options.VaapiDevice, "i965", null, null, VaapiAlias));
} }
var filterDevArgs = string.Empty; var filterDevArgs = string.Empty;

Loading…
Cancel
Save