mirror of
https://github.com/moonlight-stream/moonlight-ios.git
synced 2026-06-17 06:01:13 +00:00
Disable the HEVC toggle for devices that don't support HEVC
This commit is contained in:
@@ -327,7 +327,7 @@ void ClRumble(unsigned short controllerNumber, unsigned short lowFreqMotor, unsi
|
|||||||
// Additionally, iPhone X had a bug which would cause video
|
// Additionally, iPhone X had a bug which would cause video
|
||||||
// to freeze after a few minutes with HEVC prior to iOS 11.3.
|
// to freeze after a few minutes with HEVC prior to iOS 11.3.
|
||||||
// As a result, we will only use HEVC on iOS 11.3 or later.
|
// As a result, we will only use HEVC on iOS 11.3 or later.
|
||||||
if (@available(iOS 11.3, *)) {
|
if (@available(iOS 11.3, tvOS 11.3, *)) {
|
||||||
_streamConfig.supportsHevc = config.allowHevc && VTIsHardwareDecodeSupported(kCMVideoCodecType_HEVC);
|
_streamConfig.supportsHevc = config.allowHevc && VTIsHardwareDecodeSupported(kCMVideoCodecType_HEVC);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -10,6 +10,8 @@
|
|||||||
#import "TemporarySettings.h"
|
#import "TemporarySettings.h"
|
||||||
#import "DataManager.h"
|
#import "DataManager.h"
|
||||||
|
|
||||||
|
#import <VideoToolbox/VideoToolbox.h>
|
||||||
|
|
||||||
@implementation SettingsViewController {
|
@implementation SettingsViewController {
|
||||||
NSInteger _bitrate;
|
NSInteger _bitrate;
|
||||||
Boolean _adjustedForSafeArea;
|
Boolean _adjustedForSafeArea;
|
||||||
@@ -150,10 +152,27 @@ static const int bitrateTable[] = {
|
|||||||
[self.framerateSelector removeSegmentAtIndex:2 animated:NO];
|
[self.framerateSelector removeSegmentAtIndex:2 animated:NO];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Disable the HEVC selector if HEVC is not supported by the hardware
|
||||||
|
// or the version of iOS.
|
||||||
|
if (@available(iOS 11.3, tvOS 11.3, *)) {
|
||||||
|
if (VTIsHardwareDecodeSupported(kCMVideoCodecType_HEVC)) {
|
||||||
|
[self.hevcSelector setSelectedSegmentIndex:currentSettings.useHevc ? 1 : 0];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
[self.hevcSelector removeAllSegments];
|
||||||
|
[self.hevcSelector insertSegmentWithTitle:@"Unsupported on this device" atIndex:0 animated:NO];
|
||||||
|
[self.hevcSelector setEnabled:NO];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
[self.hevcSelector removeAllSegments];
|
||||||
|
[self.hevcSelector insertSegmentWithTitle:@"Requires iOS 11.3 or later" atIndex:0 animated:NO];
|
||||||
|
[self.hevcSelector setEnabled:NO];
|
||||||
|
}
|
||||||
|
|
||||||
[self.optimizeSettingsSelector setSelectedSegmentIndex:currentSettings.optimizeGames ? 1 : 0];
|
[self.optimizeSettingsSelector setSelectedSegmentIndex:currentSettings.optimizeGames ? 1 : 0];
|
||||||
[self.multiControllerSelector setSelectedSegmentIndex:currentSettings.multiController ? 1 : 0];
|
[self.multiControllerSelector setSelectedSegmentIndex:currentSettings.multiController ? 1 : 0];
|
||||||
[self.audioOnPCSelector setSelectedSegmentIndex:currentSettings.playAudioOnPC ? 1 : 0];
|
[self.audioOnPCSelector setSelectedSegmentIndex:currentSettings.playAudioOnPC ? 1 : 0];
|
||||||
[self.hevcSelector setSelectedSegmentIndex:currentSettings.useHevc ? 1 : 0];
|
|
||||||
NSInteger onscreenControls = [currentSettings.onscreenControls integerValue];
|
NSInteger onscreenControls = [currentSettings.onscreenControls integerValue];
|
||||||
[self.resolutionSelector setSelectedSegmentIndex:resolution];
|
[self.resolutionSelector setSelectedSegmentIndex:resolution];
|
||||||
[self.resolutionSelector addTarget:self action:@selector(newResolutionFpsChosen) forControlEvents:UIControlEventValueChanged];
|
[self.resolutionSelector addTarget:self action:@selector(newResolutionFpsChosen) forControlEvents:UIControlEventValueChanged];
|
||||||
|
|||||||
Reference in New Issue
Block a user