mirror of
https://github.com/moonlight-stream/moonlight-common-c.git
synced 2026-06-22 00:31:09 +00:00
Add workaround for nvstreamer.exe crash on GFE 3.26 when streaming below 720x540
This commit is contained in:
@@ -197,8 +197,20 @@ static int addGen5Options(PSDP_OPTION* head) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (APP_VERSION_AT_LEAST(7, 1, 446) && (StreamConfig.width < 720 || StreamConfig.height < 540)) {
|
||||||
|
// We enable DRC with a static DRC table for very low resoutions on GFE 3.26 to work around
|
||||||
|
// a bug that causes nvstreamer.exe to crash due to failing to populate a list of valid resolutions.
|
||||||
|
//
|
||||||
|
// Despite the fact that the DRC table doesn't include our target streaming resolution, we still
|
||||||
|
// seem to stream at the target resolution, presumably because we don't send control data to tell
|
||||||
|
// the host otherwise.
|
||||||
|
err |= addAttributeString(head, "x-nv-vqos[0].drc.enable", "1");
|
||||||
|
err |= addAttributeString(head, "x-nv-vqos[0].drc.tableType", "2");
|
||||||
|
}
|
||||||
|
else {
|
||||||
// Disable dynamic resolution switching
|
// Disable dynamic resolution switching
|
||||||
err |= addAttributeString(head, "x-nv-vqos[0].drc.enable", "0");
|
err |= addAttributeString(head, "x-nv-vqos[0].drc.enable", "0");
|
||||||
|
}
|
||||||
|
|
||||||
// Recovery mode can cause the FEC percentage to change mid-frame, which
|
// Recovery mode can cause the FEC percentage to change mid-frame, which
|
||||||
// breaks many assumptions in RTP FEC queue.
|
// breaks many assumptions in RTP FEC queue.
|
||||||
|
|||||||
Reference in New Issue
Block a user