diff --git a/Limelight/Network/HttpManager.m b/Limelight/Network/HttpManager.m index 779640f0..030f2023 100644 --- a/Limelight/Network/HttpManager.m +++ b/Limelight/Network/HttpManager.m @@ -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,