mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-08-07 09:01:36 -04:00
Allow QSV to use the renderNodePath instead of defaulting to the first available device
This commit is contained in:
parent
a82527dcdf
commit
51433528a1
@ -891,13 +891,13 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|||||||
renderNodePath);
|
renderNodePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
private string GetQsvDeviceArgs(string alias)
|
private string GetQsvDeviceArgs(string renderNodePath, string alias)
|
||||||
{
|
{
|
||||||
var arg = " -init_hw_device qsv=" + (alias ?? QsvAlias);
|
var arg = " -init_hw_device qsv=" + (alias ?? QsvAlias);
|
||||||
if (OperatingSystem.IsLinux())
|
if (OperatingSystem.IsLinux())
|
||||||
{
|
{
|
||||||
// derive qsv from vaapi device
|
// derive qsv from vaapi device
|
||||||
return GetVaapiDeviceArgs(null, "iHD", "i915", null, VaapiAlias) + arg + "@" + VaapiAlias;
|
return GetVaapiDeviceArgs(renderNodePath, "iHD", "i915", null, VaapiAlias) + arg + "@" + VaapiAlias;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OperatingSystem.IsWindows())
|
if (OperatingSystem.IsWindows())
|
||||||
@ -1061,7 +1061,7 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
args.Append(GetQsvDeviceArgs(QsvAlias));
|
args.Append(GetQsvDeviceArgs(options.VaapiDevice, QsvAlias));
|
||||||
var filterDevArgs = GetFilterHwDeviceArgs(QsvAlias);
|
var filterDevArgs = GetFilterHwDeviceArgs(QsvAlias);
|
||||||
// child device used by qsv.
|
// child device used by qsv.
|
||||||
if (_mediaEncoder.SupportsHwaccel("vaapi") || _mediaEncoder.SupportsHwaccel("d3d11va"))
|
if (_mediaEncoder.SupportsHwaccel("vaapi") || _mediaEncoder.SupportsHwaccel("d3d11va"))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user