mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
Fix mismatched intel VAAPI UMD/KMD introduced by pull request #10451
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
This commit is contained in:
parent
0bac1eab98
commit
ab855af95e
@ -627,14 +627,20 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|||||||
private string GetVaapiDeviceArgs(string renderNodePath, string driver, string kernelDriver, string alias)
|
private string GetVaapiDeviceArgs(string renderNodePath, string driver, string kernelDriver, string alias)
|
||||||
{
|
{
|
||||||
alias ??= VaapiAlias;
|
alias ??= VaapiAlias;
|
||||||
renderNodePath = renderNodePath ?? "/dev/dri/renderD128";
|
|
||||||
var options = 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(driverOpts) ? string.Empty : ":" + driverOpts;
|
||||||
|
|
||||||
return string.Format(
|
return string.Format(
|
||||||
CultureInfo.InvariantCulture,
|
CultureInfo.InvariantCulture,
|
||||||
" -init_hw_device vaapi={0}:{1}",
|
" -init_hw_device vaapi={0}{1}",
|
||||||
alias,
|
alias,
|
||||||
options);
|
options);
|
||||||
}
|
}
|
||||||
@ -739,14 +745,14 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|||||||
|
|
||||||
if (_mediaEncoder.IsVaapiDeviceInteliHD)
|
if (_mediaEncoder.IsVaapiDeviceInteliHD)
|
||||||
{
|
{
|
||||||
args.Append(GetVaapiDeviceArgs(null, "iHD", null, VaapiAlias));
|
args.Append(GetVaapiDeviceArgs(options.VaapiDevice, "iHD", 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, VaapiAlias));
|
args.Append(GetVaapiDeviceArgs(options.VaapiDevice, "i965", null, VaapiAlias));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user