Skip to content

Commit 844bafa

Browse files
authored
Expose apm config (#163)
1 parent f5243e3 commit 844bafa

File tree

7 files changed

+71
-11
lines changed

7 files changed

+71
-11
lines changed

sdk/BUILD.gn

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1482,6 +1482,7 @@ if (is_ios || is_mac) {
14821482
"objc/components/audio/RTCAudioProcessingModule.h",
14831483
"objc/components/audio/RTCDefaultAudioProcessingModule.h",
14841484
"objc/components/audio/RTCAudioCustomProcessingDelegate.h",
1485+
"objc/components/audio/RTCAudioProcessingConfig.h",
14851486
]
14861487

14871488
if (target_environment != "xrdevice" && target_environment != "xrsimulator") {
@@ -1656,6 +1657,7 @@ if (is_ios || is_mac) {
16561657
"objc/components/audio/RTCAudioProcessingModule.h",
16571658
"objc/components/audio/RTCDefaultAudioProcessingModule.h",
16581659
"objc/components/audio/RTCAudioCustomProcessingDelegate.h",
1660+
"objc/components/audio/RTCAudioProcessingConfig.h",
16591661
]
16601662
if (!build_with_chromium) {
16611663
sources += [

sdk/objc/components/audio/RTCAudioProcessingConfig+Private.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ NS_ASSUME_NONNULL_BEGIN
2222

2323
@interface RTC_OBJC_TYPE (RTCAudioProcessingConfig)()
2424

25+
- (instancetype)initWithNativeAudioProcessingConfig:(webrtc::AudioProcessing::Config)config;
26+
2527
@property(nonatomic, readonly) webrtc::AudioProcessing::Config nativeAudioProcessingConfig;
2628

2729
@end

sdk/objc/components/audio/RTCAudioProcessingConfig.h

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,14 @@ NS_ASSUME_NONNULL_BEGIN
2222
RTC_OBJC_EXPORT
2323
@interface RTC_OBJC_TYPE (RTCAudioProcessingConfig) : NSObject
2424

25-
@property(nonatomic, assign) BOOL echoCancellerEnabled;
26-
@property(nonatomic, assign) BOOL echoCancellerMobileMode;
25+
@property(nonatomic, assign) BOOL isEchoCancellationEnabled;
26+
@property(nonatomic, assign) BOOL isEchoCancellationMobileMode;
27+
28+
@property(nonatomic, assign) BOOL isNoiseSuppressionEnabled;
29+
@property(nonatomic, assign) BOOL isHighpassFilterEnabled;
30+
31+
@property(nonatomic, assign) BOOL isAutoGainControl1Enabled;
32+
@property(nonatomic, assign) BOOL isAutoGainControl2Enabled;
2733

2834

2935
@end

sdk/objc/components/audio/RTCAudioProcessingConfig.mm

Lines changed: 51 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,26 +24,73 @@ @implementation RTC_OBJC_TYPE (RTCAudioProcessingConfig) {
2424

2525
// config.echo_canceller.enabled
2626

27-
- (BOOL)echoCancellerEnabled {
27+
- (BOOL)isEchoCancellationEnabled {
2828
return _config.echo_canceller.enabled;
2929
}
3030

31-
- (void)setEchoCancellerEnabled:(BOOL)value {
31+
- (void)setIsEchoCancellationEnabled:(BOOL)value {
3232
_config.echo_canceller.enabled = value;
3333
}
3434

3535
// config.echo_canceller.mobile_mode
3636

37-
- (BOOL)echoCancellerMobileMode {
37+
- (BOOL)isEchoCancellationMobileMode {
3838
return _config.echo_canceller.mobile_mode;
3939
}
4040

41-
- (void)setEchoCancellerMobileMode:(BOOL)value {
41+
- (void)setIsEchoCancellationMobileMode:(BOOL)value {
4242
_config.echo_canceller.mobile_mode = value;
4343
}
4444

45+
// config.noise_suppression.enabled
46+
47+
- (BOOL)isNoiseSuppressionEnabled {
48+
return _config.noise_suppression.enabled;
49+
}
50+
51+
- (void)setIsNoiseSuppressionEnabled:(BOOL)value {
52+
_config.noise_suppression.enabled = value;
53+
}
54+
55+
// config.high_pass_filter.enabled
56+
57+
- (BOOL)isHighpassFilterEnabled {
58+
return _config.high_pass_filter.enabled;
59+
}
60+
61+
- (void)setIsHighpassFilterEnabled:(BOOL)value {
62+
_config.high_pass_filter.enabled = value;
63+
}
64+
65+
// config.gain_controller1.enabled
66+
67+
- (BOOL)isAutoGainControl1Enabled {
68+
return _config.gain_controller1.enabled;
69+
}
70+
71+
- (void)setIsAutoGainControl1Enabled:(BOOL)value {
72+
_config.gain_controller1.enabled = value;
73+
}
74+
75+
// config.gain_controller2.enabled
76+
77+
- (BOOL)isAutoGainControl2Enabled {
78+
return _config.gain_controller2.enabled;
79+
}
80+
81+
- (void)setIsAutoGainControl2Enabled:(BOOL)value {
82+
_config.gain_controller2.enabled = value;
83+
}
84+
4585
#pragma mark - Private
4686

87+
- (instancetype)initWithNativeAudioProcessingConfig:(webrtc::AudioProcessing::Config)config {
88+
if (self = [super init]) {
89+
_config = config;
90+
}
91+
return self;
92+
}
93+
4794
- (webrtc::AudioProcessing::Config)nativeAudioProcessingConfig {
4895
return _config;
4996
}

sdk/objc/components/audio/RTCAudioProcessingModule.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,7 @@ NS_ASSUME_NONNULL_BEGIN
2424

2525
RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCAudioProcessingModule)<NSObject>
2626

27-
- (void)applyConfig: (RTC_OBJC_TYPE(RTCAudioProcessingConfig) *)config;
28-
29-
// TODO: Implement...
27+
@property(nonatomic, assign) RTC_OBJC_TYPE(RTCAudioProcessingConfig) * config;
3028

3129
@end
3230

sdk/objc/components/audio/RTCDefaultAudioProcessingModule.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ RTC_OBJC_EXPORT
3232
renderPreProcessingDelegate: (nullable id<RTC_OBJC_TYPE(RTCAudioCustomProcessingDelegate)>)renderPreProcessingDelegate
3333
NS_SWIFT_NAME(init(config:capturePostProcessingDelegate:renderPreProcessingDelegate:)) NS_DESIGNATED_INITIALIZER;
3434

35-
- (void)applyConfig:(RTC_OBJC_TYPE(RTCAudioProcessingConfig) *)config;
35+
@property(nonatomic, assign) RTC_OBJC_TYPE(RTCAudioProcessingConfig) * config;
3636

3737
// Dynamically update delegates at runtime
3838

sdk/objc/components/audio/RTCDefaultAudioProcessingModule.mm

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,12 @@ - (void)setRenderPreProcessingDelegate:
8383

8484
#pragma mark - RTCAudioProcessingModule protocol
8585

86-
- (void)applyConfig:(RTC_OBJC_TYPE(RTCAudioProcessingConfig) *)config {
86+
- (RTC_OBJC_TYPE(RTCAudioProcessingConfig) *)config {
87+
webrtc::AudioProcessing::Config nativeConfig = _nativeAudioProcessingModule->GetConfig();
88+
return [[RTC_OBJC_TYPE(RTCAudioProcessingConfig) alloc] initWithNativeAudioProcessingConfig: nativeConfig];
89+
}
90+
91+
- (void)setConfig:(RTC_OBJC_TYPE(RTCAudioProcessingConfig) *)config {
8792
_nativeAudioProcessingModule->ApplyConfig(config.nativeAudioProcessingConfig);
8893
}
8994

0 commit comments

Comments
 (0)