mirror of
https://github.com/moonlight-stream/moonlight-qt.git
synced 2026-06-17 22:23:31 +00:00
Allow HEVC decoders to satisfy hardware decoding check if H.264 is unavailable
This commit is contained in:
+1
-1
@@ -412,7 +412,7 @@ ApplicationWindow {
|
|||||||
|
|
||||||
ErrorMessageDialog {
|
ErrorMessageDialog {
|
||||||
id: noHwDecoderDialog
|
id: noHwDecoderDialog
|
||||||
text: qsTr("No functioning hardware accelerated H.264 video decoder was detected by Moonlight. " +
|
text: qsTr("No functioning hardware accelerated video decoder was detected by Moonlight. " +
|
||||||
"Your streaming performance may be severely degraded in this configuration.")
|
"Your streaming performance may be severely degraded in this configuration.")
|
||||||
helpText: qsTr("Click the Help button for more information on solving this problem.")
|
helpText: qsTr("Click the Help button for more information on solving this problem.")
|
||||||
helpUrl: "https://github.com/moonlight-stream/moonlight-docs/wiki/Fixing-Hardware-Decoding-Problems"
|
helpUrl: "https://github.com/moonlight-stream/moonlight-docs/wiki/Fixing-Hardware-Decoding-Problems"
|
||||||
|
|||||||
@@ -307,6 +307,23 @@ void Session::getDecoderInfo(SDL_Window* window,
|
|||||||
maxResolution = decoder->getDecoderMaxResolution();
|
maxResolution = decoder->getDecoderMaxResolution();
|
||||||
|
|
||||||
delete decoder;
|
delete decoder;
|
||||||
|
|
||||||
|
// If we don't get back a hardware H.264 decoder, see if we have a hardware
|
||||||
|
// HEVC decoder. This can be the case on the Raspberry Pi with Full KMS
|
||||||
|
// when not running in X11. Everything since Maxwell in 2014 can encode HEVC,
|
||||||
|
// so we probably don't need to be concerned about a lack of fast H.264
|
||||||
|
// decoding enough to bug the user about it every launch.
|
||||||
|
if (!isHardwareAccelerated) {
|
||||||
|
if (chooseDecoder(StreamingPreferences::VDS_FORCE_HARDWARE,
|
||||||
|
window, VIDEO_FORMAT_H265, 1920, 1080, 60,
|
||||||
|
false, false, true, decoder)) {
|
||||||
|
isHardwareAccelerated = decoder->isHardwareAccelerated();
|
||||||
|
isFullScreenOnly = decoder->isAlwaysFullScreen();
|
||||||
|
maxResolution = decoder->getDecoderMaxResolution();
|
||||||
|
|
||||||
|
delete decoder;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Session::isHardwareDecodeAvailable(SDL_Window* window,
|
bool Session::isHardwareDecodeAvailable(SDL_Window* window,
|
||||||
|
|||||||
Reference in New Issue
Block a user