diff --git a/VoidLink/Base.lproj/iPad.storyboard b/VoidLink/Base.lproj/iPad.storyboard
index ae03359a..2aae85ee 100644
--- a/VoidLink/Base.lproj/iPad.storyboard
+++ b/VoidLink/Base.lproj/iPad.storyboard
@@ -1305,13 +1305,12 @@
-
+
-
@@ -3244,19 +3243,19 @@
-
+
-
+
-
+
-
+
diff --git a/VoidLink/Base.lproj/iPhone.storyboard b/VoidLink/Base.lproj/iPhone.storyboard
index b612e756..5da9b955 100644
--- a/VoidLink/Base.lproj/iPhone.storyboard
+++ b/VoidLink/Base.lproj/iPhone.storyboard
@@ -1129,13 +1129,12 @@
-
+
-
diff --git a/VoidLink/ViewControllers/MainFrameViewController.m b/VoidLink/ViewControllers/MainFrameViewController.m
index db165fdd..84bc1887 100644
--- a/VoidLink/ViewControllers/MainFrameViewController.m
+++ b/VoidLink/ViewControllers/MainFrameViewController.m
@@ -871,6 +871,7 @@ static NSMutableSet* hostList;
case CODEC_PREF_AV1:
#if defined(__IPHONE_16_0) || defined(__TVOS_16_0)
if (VTIsHardwareDecodeSupported(kCMVideoCodecType_AV1)) {
+ _streamConfig.fullColorRange = false;
if (streamSettings.enableYUV444) {
_streamConfig.supportedVideoFormats |= VIDEO_FORMAT_AV1_HIGH8_444;
}
@@ -1589,11 +1590,14 @@ static NSMutableSet* hostList;
if(![GenericUtils needUpdateDefaultSettings]) return;
DataManager* dataMan = [[DataManager alloc] init];
Settings* settings = [dataMan retrieveSettings];
+
+ settings.preferredCodec = VTIsHardwareDecodeSupported(kCMVideoCodecType_HEVC) ? CODEC_PREF_HEVC : CODEC_PREF_H264;
+
switch ([UIDevice currentDevice].userInterfaceIdiom) {
case UIUserInterfaceIdiomPhone:
settings.sdrPerformanceWorkaround = true;
settings.framePacingMode = @(FramePacingModeQueue);
- settings.asyncFrameDequeue = true;
+ settings.asyncFrameDequeue = false;
settings.touchMoveEventInterval = @(45);
break;
case UIUserInterfaceIdiomPad:
diff --git a/VoidLink/ViewControllers/SettingsViewController.m b/VoidLink/ViewControllers/SettingsViewController.m
index 2e42cb24..0fe3bc18 100644
--- a/VoidLink/ViewControllers/SettingsViewController.m
+++ b/VoidLink/ViewControllers/SettingsViewController.m
@@ -1875,7 +1875,8 @@ BOOL isCustomResolution(int resolutionSelected) {
switch (self->tempSettings.preferredCodec) {
case CODEC_PREF_AUTO:
- [self.codecSelector setSelectedSegmentIndex:self.codecSelector.numberOfSegments - 1];
+ [self.codecSelector setSelectedSegmentIndex:VTIsHardwareDecodeSupported(kCMVideoCodecType_HEVC) ? CODEC_PREF_HEVC-1 : CODEC_PREF_H264-1];
+ [self codecSelectorChanged:self.codecSelector];
break;
case CODEC_PREF_AV1:
@@ -3280,24 +3281,16 @@ BOOL isCustomResolution(int resolutionSelected) {
- (uint32_t) getChosenCodecPreference {
// Auto is always the last segment
- if (self.codecSelector.selectedSegmentIndex == self.codecSelector.numberOfSegments - 1) {
- return CODEC_PREF_AUTO;
- }
- else {
switch (self.codecSelector.selectedSegmentIndex) {
case 0:
return CODEC_PREF_H264;
-
case 1:
return CODEC_PREF_HEVC;
-
case 2:
return CODEC_PREF_AV1;
-
default:
- abort();
+ return VTIsHardwareDecodeSupported(kCMVideoCodecType_HEVC) ? CODEC_PREF_HEVC : CODEC_PREF_H264;
}
- }
}
- (NSInteger) getChosenStreamHeight {
@@ -3788,7 +3781,7 @@ BOOL isCustomResolution(int resolutionSelected) {
BOOL isAV1 = (codec == CODEC_PREF_AV1);
BOOL isH264 = (codec == CODEC_PREF_H264);
BOOL isHEVC = (codec == CODEC_PREF_HEVC);
-
+
if (isAV1) {
// AV1 must use limited range, so disable fullRange and turn it off
[self.fullColorRangeSwitch setOn:NO animated:NO];
diff --git a/VoidLink/mul.lproj/iPad.xcstrings b/VoidLink/mul.lproj/iPad.xcstrings
index fbe83788..5feba062 100644
--- a/VoidLink/mul.lproj/iPad.xcstrings
+++ b/VoidLink/mul.lproj/iPad.xcstrings
@@ -55,7 +55,7 @@
},
"zh-HK" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "關閉"
}
}
@@ -115,7 +115,7 @@
},
"zh-HK" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "佇列緩衝"
}
}
@@ -385,7 +385,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "非线性因子"
}
},
@@ -445,7 +445,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "内置陀螺仪映射为"
}
},
@@ -661,7 +661,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "延迟鼠标左单击"
}
},
@@ -1045,36 +1045,6 @@
}
}
},
- "aFy-0w-YPe.segmentTitles[3]" : {
- "comment" : "Class = \"UISegmentedControl\"; aFy-0w-YPe.segmentTitles[3] = \"Auto\"; ObjectID = \"aFy-0w-YPe\";",
- "extractionState" : "extracted_with_value",
- "localizations" : {
- "en" : {
- "stringUnit" : {
- "state" : "new",
- "value" : "Auto"
- }
- },
- "zh-Hans" : {
- "stringUnit" : {
- "state" : "translated",
- "value" : "自动"
- }
- },
- "zh-Hant" : {
- "stringUnit" : {
- "state" : "translated",
- "value" : "自動"
- }
- },
- "zh-HK" : {
- "stringUnit" : {
- "state" : "translated",
- "value" : "自動"
- }
- }
- }
- },
"aGg-ET-e9F.text" : {
"comment" : "Class = \"UILabel\"; text = \"Edge Trigger Sensitivity\"; ObjectID = \"aGg-ET-e9F\";",
"extractionState" : "extracted_with_value",
@@ -1087,7 +1057,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "边缘触发灵敏度"
}
},
@@ -1117,7 +1087,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "串流帧率"
}
},
@@ -1219,7 +1189,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "显示本地软键盘工具栏"
}
},
@@ -1249,7 +1219,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "关闭"
}
},
@@ -1279,7 +1249,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "启用"
}
},
@@ -1429,7 +1399,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "单点鼠标"
}
},
@@ -1489,7 +1459,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "导出所有"
}
},
@@ -1729,7 +1699,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "HD"
}
},
@@ -1759,7 +1729,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "鼠标按下"
}
},
@@ -1789,7 +1759,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "捏合快捷键"
}
},
@@ -2436,7 +2406,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "触点灵敏度"
}
},
@@ -3138,7 +3108,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "最小偏移量(陀螺仪→摇杆)"
}
},
@@ -3774,7 +3744,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "禁用"
}
},
@@ -3804,7 +3774,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "允许"
}
},
@@ -3834,7 +3804,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "屏显控件"
}
},
@@ -3864,7 +3834,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "串流码率"
}
},
@@ -3894,7 +3864,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "帧步进控制"
}
},
@@ -4146,7 +4116,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "触控模式"
}
},
@@ -4326,7 +4296,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "打开软键盘"
}
},
@@ -4458,7 +4428,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "鼠标指针灵敏度"
}
},
@@ -4680,7 +4650,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "手势滑动触发距离"
}
},
@@ -4752,7 +4722,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "串流分辨率"
}
},
@@ -4993,7 +4963,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "灵敏度分割位置"
}
},
@@ -5095,7 +5065,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "唤醒本地软键盘时, 抬升串流视图"
}
},
@@ -5593,7 +5563,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "轻点两下快捷键"
}
},
@@ -5917,7 +5887,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "异步帧出队"
}
},
@@ -5989,7 +5959,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "轻按任意控件加载配置 (各控件独立)"
}
},
@@ -6031,7 +6001,7 @@
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "needs_review",
+ "state" : "translated",
"value" : "指针速度"
}
},
@@ -6079,36 +6049,6 @@
}
}
},
- "Ylu-hT-Cuz.text" : {
- "comment" : "Class = \"UILabel\"; text = \"The recommended value is 2. 1 frame provides the lowest latency, but may require an Ethernet connection.\"; ObjectID = \"Ylu-hT-Cuz\";",
- "extractionState" : "stale",
- "localizations" : {
- "en" : {
- "stringUnit" : {
- "state" : "new",
- "value" : "The recommended value is 2. 1 frame provides the lowest latency, but may require an Ethernet connection."
- }
- },
- "zh-Hans" : {
- "stringUnit" : {
- "state" : "translated",
- "value" : "建议值为2。1帧提供最低延迟,但可能需要以太网连接。"
- }
- },
- "zh-Hant" : {
- "stringUnit" : {
- "state" : "translated",
- "value" : "建議值為2。1影格提供最低延遲,但可能需要乙太網路連線。"
- }
- },
- "zh-HK" : {
- "stringUnit" : {
- "state" : "translated",
- "value" : "建議值為2。1影格提供最低延遲,但可能需要乙太網路連線。"
- }
- }
- }
- },
"YM8-us-6sh.text" : {
"comment" : "Class = \"UILabel\"; text = \"Haptic Engine\"; ObjectID = \"YM8-us-6sh\";",
"extractionState" : "extracted_with_value",
diff --git a/VoidLink/mul.lproj/iPhone.xcstrings b/VoidLink/mul.lproj/iPhone.xcstrings
index 836c3ca4..3dc37ff7 100644
--- a/VoidLink/mul.lproj/iPhone.xcstrings
+++ b/VoidLink/mul.lproj/iPhone.xcstrings
@@ -487,36 +487,6 @@
}
}
},
- "5Y7-To-ca2.segmentTitles[3]" : {
- "comment" : "Class = \"UISegmentedControl\"; 5Y7-To-ca2.segmentTitles[3] = \"Auto\"; ObjectID = \"5Y7-To-ca2\";",
- "extractionState" : "extracted_with_value",
- "localizations" : {
- "en" : {
- "stringUnit" : {
- "state" : "new",
- "value" : "Auto"
- }
- },
- "zh-Hans" : {
- "stringUnit" : {
- "state" : "translated",
- "value" : "自动"
- }
- },
- "zh-Hant" : {
- "stringUnit" : {
- "state" : "translated",
- "value" : "自動"
- }
- },
- "zh-HK" : {
- "stringUnit" : {
- "state" : "translated",
- "value" : "自動"
- }
- }
- }
- },
"6g1-G6-jZx.segmentTitles[0]" : {
"comment" : "Class = \"UISegmentedControl\"; 6g1-G6-jZx.segmentTitles[0] = \"3 Finger Tap\"; ObjectID = \"6g1-G6-jZx\";",
"extractionState" : "extracted_with_value",