Disable SOPS for streams over 60 FPS for GFE 3.20.3

This commit is contained in:
Cameron Gutman 2020-04-12 11:25:53 -07:00
parent 8efbe2670a
commit fdaf7f92a1

View File

@ -203,16 +203,20 @@ static const NSString* HTTPS_PORT = @"47984";
}
- (NSURLRequest*) newLaunchRequest:(StreamConfiguration*)config {
// Using an FPS value over 60 causes SOPS to default to 720p60,
// so force it to 60 when starting. This won't impact our ability
// to get > 60 FPS while actually streaming though.
int fps = config.frameRate > 60 ? 60 : config.frameRate;
BOOL sops = config.optimizeGameSettings;
// Using an FPS value over 60 causes SOPS to default to 720p60.
// We used to set it to 60, but that stopped working in GFE 3.20.3.
// Disabling SOPS allows the actual game frame rate to exceed 60.
if (config.frameRate > 60) {
sops = NO;
}
NSString* urlString = [NSString stringWithFormat:@"%@/launch?uniqueid=%@&appid=%@&mode=%dx%dx%d&additionalStates=1&sops=%d&rikey=%@&rikeyid=%d%@&localAudioPlayMode=%d&surroundAudioInfo=%d&remoteControllersBitmap=%d&gcmap=%d",
_baseHTTPSURL, _uniqueId,
config.appID,
config.width, config.height, fps,
config.optimizeGameSettings ? 1 : 0,
config.width, config.height, config.frameRate,
sops ? 1 : 0,
[Utils bytesToHex:config.riKey], config.riKeyId,
config.enableHdr ? @"&hdrMode=1&clientHdrCapVersion=0&clientHdrCapSupportedFlagsInUint32=0&clientHdrCapMetaDataId=NV_STATIC_METADATA_TYPE_1&clientHdrCapDisplayData=0x0x0x0x0x0x0x0x0x0x0": @"",
config.playAudioOnPC ? 1 : 0,