Skip to content

Commit daeb79d

Browse files
committed
Audio device symbols
1 parent 6e5f1c6 commit daeb79d

File tree

7 files changed

+53
-47
lines changed

7 files changed

+53
-47
lines changed

sdk/objc/api/peerconnection/RTCAudioDeviceModule.h

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -23,21 +23,21 @@
2323

2424
NS_ASSUME_NONNULL_BEGIN
2525

26-
typedef NS_ENUM(NSInteger, RTCAudioDeviceModuleType) {
27-
RTCAudioDeviceModuleTypePlatformDefault,
28-
RTCAudioDeviceModuleTypeAudioEngine,
26+
typedef NS_ENUM(NSInteger, RTC_OBJC_TYPE(RTCAudioDeviceModuleType)) {
27+
RTC_OBJC_TYPE(RTCAudioDeviceModuleTypePlatformDefault),
28+
RTC_OBJC_TYPE(RTCAudioDeviceModuleTypeAudioEngine),
2929
};
3030

31-
typedef NS_ENUM(NSInteger, RTCSpeechActivityEvent) {
32-
RTCSpeechActivityEventStarted,
33-
RTCSpeechActivityEventEnded,
31+
typedef NS_ENUM(NSInteger, RTC_OBJC_TYPE(RTCSpeechActivityEvent)) {
32+
RTC_OBJC_TYPE(RTCSpeechActivityEventStarted),
33+
RTC_OBJC_TYPE(RTCSpeechActivityEventEnded),
3434
};
3535

36-
typedef NS_ENUM(NSInteger, RTCAudioEngineMuteMode) {
37-
RTCAudioEngineMuteModeUnknown = -1,
38-
RTCAudioEngineMuteModeVoiceProcessing = 0,
39-
RTCAudioEngineMuteModeRestartEngine = 1,
40-
RTCAudioEngineMuteModeInputMixer = 2,
36+
typedef NS_ENUM(NSInteger, RTC_OBJC_TYPE(RTCAudioEngineMuteMode)) {
37+
RTC_OBJC_TYPE(RTCAudioEngineMuteModeUnknown) = -1,
38+
RTC_OBJC_TYPE(RTCAudioEngineMuteModeVoiceProcessing) = 0,
39+
RTC_OBJC_TYPE(RTCAudioEngineMuteModeRestartEngine) = 1,
40+
RTC_OBJC_TYPE(RTCAudioEngineMuteModeInputMixer) = 2,
4141
};
4242

4343
typedef struct {
@@ -46,10 +46,10 @@ typedef struct {
4646
bool inputEnabled;
4747
bool inputRunning;
4848
bool inputMuted;
49-
RTCAudioEngineMuteMode muteMode;
50-
} RTCAudioEngineState;
49+
RTC_OBJC_TYPE(RTCAudioEngineMuteMode) muteMode;
50+
} RTC_OBJC_TYPE(RTCAudioEngineState);
5151

52-
RTC_EXTERN NSString *const kRTCAudioEngineInputMixerNodeKey;
52+
RTC_EXTERN NSString *const RTC_CONSTANT_TYPE(RTCAudioEngineInputMixerNodeKey);
5353

5454
@class RTC_OBJC_TYPE(RTCAudioDeviceModule);
5555

@@ -58,7 +58,7 @@ RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE
5858

5959
- (void)audioDeviceModule
6060
: (RTC_OBJC_TYPE(RTCAudioDeviceModule) *)audioDeviceModule didReceiveSpeechActivityEvent
61-
: (RTCSpeechActivityEvent)speechActivityEvent NS_SWIFT_NAME(audioDeviceModule(_:didReceiveSpeechActivityEvent:));
61+
: (RTC_OBJC_TYPE(RTCSpeechActivityEvent))speechActivityEvent NS_SWIFT_NAME(audioDeviceModule(_:didReceiveSpeechActivityEvent:));
6262

6363
// Engine events
6464
- (NSInteger)audioDeviceModule:(RTC_OBJC_TYPE(RTCAudioDeviceModule) *)audioDeviceModule
@@ -151,7 +151,7 @@ RTC_OBJC_EXPORT
151151
- (NSInteger)setMicrophoneMuted:(BOOL)muted;
152152

153153
// Directly get & set engine state.
154-
@property(nonatomic, assign) RTCAudioEngineState engineState;
154+
@property(nonatomic, assign) RTC_OBJC_TYPE(RTCAudioEngineState) engineState;
155155

156156
@property(nonatomic, readonly, getter=isRecordingAlwaysPreparedMode)
157157
BOOL recordingAlwaysPreparedMode;
@@ -169,8 +169,8 @@ RTC_OBJC_EXPORT
169169
// Audio ducking level. See `AVAudioVoiceProcessingOtherAudioDuckingLevel` enum for valid values.
170170
@property(nonatomic, assign) NSInteger duckingLevel;
171171

172-
@property(nonatomic, readonly) RTCAudioEngineMuteMode muteMode;
173-
- (NSInteger)setMuteMode:(RTCAudioEngineMuteMode)mode;
172+
@property(nonatomic, readonly) RTC_OBJC_TYPE(RTCAudioEngineMuteMode) muteMode;
173+
- (NSInteger)setMuteMode:(RTC_OBJC_TYPE(RTCAudioEngineMuteMode))mode;
174174

175175
/// Indicates whether Voice-Processing I/O is enabled. Requires restarting the Audio Engine to
176176
/// toggle. Defaults to true.

sdk/objc/api/peerconnection/RTCAudioDeviceModule.mm

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,17 @@
2424
#import "modules/audio_device/audio_engine_device.h"
2525
#import "sdk/objc/native/api/audio_device_module.h"
2626

27-
NSString *const kRTCAudioEngineInputMixerNodeKey = webrtc::kAudioEngineInputMixerNodeKey;
27+
NSString *const RTC_CONSTANT_TYPE(RTCAudioEngineInputMixerNodeKey) =
28+
webrtc::kAudioEngineInputMixerNodeKey;
2829

29-
inline webrtc::AudioEngineDevice::MuteMode MuteModeToRTC(RTCAudioEngineMuteMode mode) {
30+
inline webrtc::AudioEngineDevice::MuteMode MuteModeToRTC(RTC_OBJC_TYPE(RTCAudioEngineMuteMode)
31+
mode) {
3032
return static_cast<webrtc::AudioEngineDevice::MuteMode>(mode);
3133
}
3234

33-
inline RTCAudioEngineMuteMode MuteModeToObjC(webrtc::AudioEngineDevice::MuteMode mode) {
34-
return static_cast<RTCAudioEngineMuteMode>(mode);
35+
inline RTC_OBJC_TYPE(RTCAudioEngineMuteMode)
36+
MuteModeToObjC(webrtc::AudioEngineDevice::MuteMode mode) {
37+
return static_cast<RTC_OBJC_TYPE(RTCAudioEngineMuteMode)>(mode);
3538
}
3639

3740
class AudioDeviceObserver : public webrtc::AudioDeviceObserver {
@@ -118,15 +121,15 @@ int32_t OnEngineWillConnectOutput(AVAudioEngine *engine, AVAudioNode *src, AVAud
118121
private:
119122
__weak RTC_OBJC_TYPE(RTCAudioDeviceModule) * adm_;
120123

121-
RTCSpeechActivityEvent ConvertSpeechActivityEvent(
122-
webrtc::AudioDeviceModule::SpeechActivityEvent event) {
124+
RTC_OBJC_TYPE(RTCSpeechActivityEvent)
125+
ConvertSpeechActivityEvent(webrtc::AudioDeviceModule::SpeechActivityEvent event) {
123126
switch (event) {
124127
case webrtc::AudioDeviceModule::SpeechActivityEvent::kStarted:
125-
return RTCSpeechActivityEvent::RTCSpeechActivityEventStarted;
128+
return RTC_OBJC_TYPE(RTCSpeechActivityEvent)::RTC_OBJC_TYPE(RTCSpeechActivityEventStarted);
126129
case webrtc::AudioDeviceModule::SpeechActivityEvent::kEnded:
127-
return RTCSpeechActivityEvent::RTCSpeechActivityEventEnded;
130+
return RTC_OBJC_TYPE(RTCSpeechActivityEvent)::RTC_OBJC_TYPE(RTCSpeechActivityEventEnded);
128131
default:
129-
return RTCSpeechActivityEvent::RTCSpeechActivityEventEnded;
132+
return RTC_OBJC_TYPE(RTCSpeechActivityEvent)::RTC_OBJC_TYPE(RTCSpeechActivityEventEnded);
130133
}
131134
}
132135
};
@@ -340,15 +343,15 @@ - (NSInteger)setMicrophoneMuted:(BOOL)muted {
340343
return _workerThread->BlockingCall([self, muted] { return _native->SetMicrophoneMute(muted); });
341344
}
342345

343-
- (RTCAudioEngineState)engineState {
346+
- (RTC_OBJC_TYPE(RTCAudioEngineState))engineState {
344347
webrtc::AudioEngineDevice *module = dynamic_cast<webrtc::AudioEngineDevice *>(_native.get());
345-
if (module == nullptr) return RTCAudioEngineState();
348+
if (module == nullptr) return RTC_OBJC_TYPE(RTCAudioEngineState)();
346349

347350
return _workerThread->BlockingCall([module] {
348351
webrtc::AudioEngineDevice::EngineState state;
349-
if (module->GetEngineState(&state) != 0) return RTCAudioEngineState();
352+
if (module->GetEngineState(&state) != 0) return RTC_OBJC_TYPE(RTCAudioEngineState)();
350353

351-
RTCAudioEngineState result;
354+
RTC_OBJC_TYPE(RTCAudioEngineState) result;
352355
result.outputEnabled = state.output_enabled;
353356
result.outputRunning = state.output_running;
354357
result.inputEnabled = state.input_enabled;
@@ -359,7 +362,7 @@ - (RTCAudioEngineState)engineState {
359362
});
360363
}
361364

362-
- (void)setEngineState:(RTCAudioEngineState)state {
365+
- (void)setEngineState:(RTC_OBJC_TYPE(RTCAudioEngineState))state {
363366
webrtc::AudioEngineDevice *module = dynamic_cast<webrtc::AudioEngineDevice *>(_native.get());
364367
if (module == nullptr) return;
365368

@@ -449,17 +452,18 @@ - (void)setDuckingLevel:(NSInteger)value {
449452
_workerThread->BlockingCall([module, value] { return module->SetDuckingLevel(value) == 0; });
450453
}
451454

452-
- (RTCAudioEngineMuteMode)muteMode {
455+
- (RTC_OBJC_TYPE(RTCAudioEngineMuteMode))muteMode {
453456
webrtc::AudioEngineDevice *module = dynamic_cast<webrtc::AudioEngineDevice *>(_native.get());
454-
if (module == nullptr) return RTCAudioEngineMuteModeUnknown;
457+
if (module == nullptr) return RTC_OBJC_TYPE(RTCAudioEngineMuteModeUnknown);
455458

456459
return _workerThread->BlockingCall([module] {
457460
webrtc::AudioEngineDevice::MuteMode mode;
458-
return module->GetMuteMode(&mode) == 0 ? MuteModeToObjC(mode) : RTCAudioEngineMuteModeUnknown;
461+
return module->GetMuteMode(&mode) == 0 ? MuteModeToObjC(mode)
462+
: RTC_OBJC_TYPE(RTCAudioEngineMuteModeUnknown);
459463
});
460464
}
461465

462-
- (NSInteger)setMuteMode:(RTCAudioEngineMuteMode)mode {
466+
- (NSInteger)setMuteMode:(RTC_OBJC_TYPE(RTCAudioEngineMuteMode))mode {
463467
webrtc::AudioEngineDevice *module = dynamic_cast<webrtc::AudioEngineDevice *>(_native.get());
464468
if (module == nullptr) return -1;
465469

@@ -537,7 +541,7 @@ - (void)setVoiceProcessingAGCEnabled:(BOOL)enabled {
537541
NSString *strGUID = [[NSString alloc] initWithCString:guid encoding:NSUTF8StringEncoding];
538542
NSString *strName = [[NSString alloc] initWithCString:name encoding:NSUTF8StringEncoding];
539543
RTC_OBJC_TYPE(RTCIODevice) *device =
540-
[[RTC_OBJC_TYPE(RTCIODevice) alloc] initWithType:RTCIODeviceTypeOutput
544+
[[RTC_OBJC_TYPE(RTCIODevice) alloc] initWithType:RTC_OBJC_TYPE(RTCIODeviceTypeOutput)
541545
deviceId:strGUID
542546
name:strName];
543547
[result addObject:device];
@@ -561,7 +565,7 @@ - (void)setVoiceProcessingAGCEnabled:(BOOL)enabled {
561565
NSString *strGUID = [[NSString alloc] initWithCString:guid encoding:NSUTF8StringEncoding];
562566
NSString *strName = [[NSString alloc] initWithCString:name encoding:NSUTF8StringEncoding];
563567
RTC_OBJC_TYPE(RTCIODevice) *device =
564-
[[RTC_OBJC_TYPE(RTCIODevice) alloc] initWithType:RTCIODeviceTypeInput
568+
[[RTC_OBJC_TYPE(RTCIODevice) alloc] initWithType:RTC_OBJC_TYPE(RTCIODeviceTypeInput)
565569
deviceId:strGUID
566570
name:strName];
567571
[result addObject:device];

sdk/objc/api/peerconnection/RTCPeerConnectionFactory+Native.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ NS_ASSUME_NONNULL_BEGIN
5555
networkControllerFactory:
5656
(std::unique_ptr<webrtc::NetworkControllerFactoryInterface>)
5757
networkControllerFactory
58-
audioDeviceModuleType:(RTCAudioDeviceModuleType)audioDeviceModuleType
58+
audioDeviceModuleType:(RTC_OBJC_TYPE(RTCAudioDeviceModuleType))audioDeviceModuleType
5959
bypassVoiceProcessing:(BOOL)bypassVoiceProcessing;
6060

6161
- (instancetype)

sdk/objc/api/peerconnection/RTCPeerConnectionFactory.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ RTC_OBJC_EXPORT
6262

6363
/* Initialize object with bypass voice processing */
6464
- (instancetype)
65-
initWithAudioDeviceModuleType:(RTCAudioDeviceModuleType)audioDeviceModuleType
65+
initWithAudioDeviceModuleType:(RTC_OBJC_TYPE(RTCAudioDeviceModuleType))audioDeviceModuleType
6666
bypassVoiceProcessing:(BOOL)bypassVoiceProcessing
6767
encoderFactory:(nullable id<RTC_OBJC_TYPE(RTCVideoEncoderFactory)>)encoderFactory
6868
decoderFactory:(nullable id<RTC_OBJC_TYPE(RTCVideoDecoderFactory)>)decoderFactory

sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ - (instancetype)init {
8787
audioDeviceModule:nullptr
8888
audioProcessingModule:nullptr
8989
networkControllerFactory:nullptr
90-
audioDeviceModuleType:RTCAudioDeviceModuleTypePlatformDefault
90+
audioDeviceModuleType:RTC_OBJC_TYPE(RTCAudioDeviceModuleTypePlatformDefault)
9191
bypassVoiceProcessing:NO];
9292
}
9393

@@ -125,7 +125,7 @@ - (instancetype)init {
125125
audioDeviceModule:audio_device_module
126126
audioProcessingModule:nullptr
127127
networkControllerFactory:nullptr
128-
audioDeviceModuleType:RTCAudioDeviceModuleTypePlatformDefault
128+
audioDeviceModuleType:RTC_OBJC_TYPE(RTCAudioDeviceModuleTypePlatformDefault)
129129
bypassVoiceProcessing:NO];
130130
#endif
131131
}
@@ -145,7 +145,7 @@ - (instancetype)init {
145145
}
146146

147147
- (instancetype)
148-
initWithAudioDeviceModuleType:(RTCAudioDeviceModuleType)audioDeviceModuleType
148+
initWithAudioDeviceModuleType:(RTC_OBJC_TYPE(RTCAudioDeviceModuleType))audioDeviceModuleType
149149
bypassVoiceProcessing:(BOOL)bypassVoiceProcessing
150150
encoderFactory:(nullable id<RTC_OBJC_TYPE(RTCVideoEncoderFactory)>)encoderFactory
151151
decoderFactory:(nullable id<RTC_OBJC_TYPE(RTCVideoDecoderFactory)>)decoderFactory
@@ -231,7 +231,7 @@ - (instancetype)initWithNativeAudioEncoderFactory:
231231
networkControllerFactory:
232232
(std::unique_ptr<webrtc::NetworkControllerFactoryInterface>)
233233
networkControllerFactory
234-
audioDeviceModuleType:(RTCAudioDeviceModuleType)audioDeviceModuleType
234+
audioDeviceModuleType:(RTC_OBJC_TYPE(RTCAudioDeviceModuleType))audioDeviceModuleType
235235
bypassVoiceProcessing:(BOOL)bypassVoiceProcessing {
236236
if (self = [self initNative]) {
237237
webrtc::PeerConnectionFactoryDependencies dependencies;
@@ -245,7 +245,7 @@ - (instancetype)initWithNativeAudioEncoderFactory:
245245

246246
if (audioDeviceModule != nullptr) {
247247
_nativeAudioDeviceModule = audioDeviceModule;
248-
} else if (audioDeviceModuleType == RTCAudioDeviceModuleTypeAudioEngine) {
248+
} else if (audioDeviceModuleType == RTC_OBJC_TYPE(RTCAudioDeviceModuleTypeAudioEngine)) {
249249
_nativeAudioDeviceModule = _workerThread->BlockingCall([&bypassVoiceProcessing]() {
250250
return rtc::make_ref_counted<webrtc::AudioEngineDevice>(bypassVoiceProcessing == YES);
251251
});

sdk/objc/api/peerconnection/RTCPeerConnectionFactoryBuilder.mm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ @implementation RTC_OBJC_TYPE(RTCPeerConnectionFactoryBuilder) {
4242
audioDeviceModule:_audioDeviceModule
4343
audioProcessingModule:_audioProcessingModule
4444
networkControllerFactory:nullptr
45-
audioDeviceModuleType:RTCAudioDeviceModuleTypePlatformDefault
45+
audioDeviceModuleType:RTC_OBJC_TYPE(RTCAudioDeviceModuleTypePlatformDefault)
4646
bypassVoiceProcessing:NO];
4747
}
4848

sdk/objc/base/RTCMacros.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,12 @@
3737
// problem.
3838
//
3939
// This macro must be defined uniformily across all the translation units.
40+
#ifndef RTC_OBJC_TYPE_PREFIX
4041
#define RTC_OBJC_TYPE_PREFIX LK
42+
#endif
4143

4244
#ifndef RTC_CONSTANT_TYPE_PREFIX
43-
#define RTC_CONSTANT_TYPE_PREFIX k
45+
#define RTC_CONSTANT_TYPE_PREFIX kLK
4446
#endif
4547

4648
// RCT_OBJC_TYPE

0 commit comments

Comments
 (0)