[fix] use VideoToolbox exclusively for iOS H.264

This commit is contained in:
dijunkun
2026-09-27 20:53:12 +08:00
parent 52f6f23f93
commit e65a30e969
7 changed files with 28 additions and 73 deletions
@@ -100,7 +100,6 @@ typedef NS_ENUM(NSInteger, CrossDeskVideoAdaptationPolicy) {
- (void)configureWithSignalHost:(NSString *)host
signalPort:(NSInteger)signalPort;
- (void)setHardwareAccelerationEnabled:(BOOL)enabled;
- (void)setVideoAdaptationPolicy:(CrossDeskVideoAdaptationPolicy)policy;
- (void)requestPresenceForRemoteIDs:(NSArray<NSString *> *)remoteIDs
subscribe:(BOOL)subscribe
@@ -75,7 +75,6 @@ struct RTCState {
CallbackContext controller_context;
std::string signal_host;
int signal_port = 0;
bool hardware_acceleration = true;
VideoDegradationPreference video_adaptation_policy =
VideoDegradationPreference::MaintainResolution;
bool identity_ready = false;
@@ -332,7 +331,8 @@ Params MakeParams(const RTCState &state, const std::string &user_id,
state.signal_host);
params.signal_server_port = state.signal_port;
CopyCString(params.log_path, sizeof(params.log_path), state.log_path);
params.hardware_acceleration = state.hardware_acceleration;
// iOS H.264 is provided exclusively by VideoToolbox.
params.hardware_acceleration = true;
params.native_video_output = true;
params.av1_encoding = false;
params.turn_mode = TurnMode::TurnAutoUdpTcp;
@@ -495,12 +495,6 @@ Params MakeParams(const RTCState &state, const std::string &user_id,
});
}
- (void)setHardwareAccelerationEnabled:(BOOL)enabled {
dispatch_async(_rtcQueue, ^{
self->_state->hardware_acceleration = enabled;
});
}
- (void)setVideoAdaptationPolicy:(CrossDeskVideoAdaptationPolicy)policy {
dispatch_async(_rtcQueue, ^{
switch (policy) {