@@ -40,6 +40,63 @@ RTC_FWD_DECL_OBJC_CLASS(RTC_OBJC_TYPE(RTCNativeAudioSessionDelegateAdapter));
4040
4141namespace webrtc {
4242
43+ // Error codes for AudioEngineDevice.
44+ // Apple recommends that you use values in the range -1000 through -9999 inclusive. Values outside
45+ // of this range are reserved by Apple for internal use.
46+ enum AudioEngineErrorCode {
47+ // Success (no error)
48+ kAudioEngineNoError = 0 ,
49+
50+ // General errors
51+ kAudioEngineUnknownError = -1000 ,
52+ kAudioEngineInitError = -1001 ,
53+ kAudioEngineTerminateError = -1002 ,
54+ kAudioEngineNotInitializedError = -1003 ,
55+ kAudioEngineAlreadyInitializedError = -1004 ,
56+
57+ // Device errors
58+ kAudioEngineDeviceNotFoundError = -2000 ,
59+ kAudioEngineDeviceUnavailableError = -2001 ,
60+ kAudioEngineDeviceDisconnectedError = -2002 ,
61+ kAudioEngineDeviceUnauthorizedError = -2003 ,
62+ kAudioEngineDeviceInUseError = -2004 ,
63+ kAudioEngineDeviceFormatError = -2005 ,
64+
65+ // Playback errors
66+ kAudioEnginePlayoutInitError = -3000 ,
67+ kAudioEnginePlayoutStartError = -3001 ,
68+ kAudioEnginePlayoutStopError = -3002 ,
69+ kAudioEnginePlayoutAlreadyInitializedError = -3003 ,
70+ kAudioEnginePlayoutNotInitializedError = -3004 ,
71+ kAudioEnginePlayoutDeviceNotAvailableError = -3010 ,
72+
73+ // Recording errors
74+ kAudioEngineRecordingInitError = -4000 ,
75+ kAudioEngineRecordingStartError = -4001 ,
76+ kAudioEngineRecordingStopError = -4002 ,
77+ kAudioEngineRecordingAlreadyInitializedError = -4003 ,
78+ kAudioEngineRecordingNotInitializedError = -4004 ,
79+ kAudioEngineRecordingPermissionDeniedError = -4005 ,
80+ kAudioEngineRecordingDeviceNotAvailableError = -4010 ,
81+
82+ // Engine state errors
83+ kAudioEngineInvalidStateError = -5000 ,
84+ kAudioEngineStateTransitionError = -5001 ,
85+ kAudioEngineInterruptionError = -5002 ,
86+
87+ // Resource errors
88+ kAudioEngineOutOfMemoryError = -6000 ,
89+ kAudioEngineResourceLimitError = -6001 ,
90+
91+ // Render mode errors
92+ kAudioEngineRenderModeError = -7000 ,
93+ kAudioEngineManualRenderingError = -7001 ,
94+
95+ // Voice processing errors
96+ kAudioEngineVoiceProcessingError = -8000 ,
97+ kAudioEngineAGCError = -8001
98+ };
99+
43100class FineAudioBuffer;
44101
45102extern NSString * const kAudioEngineInputMixerNodeKey ;
@@ -332,9 +389,9 @@ class AudioEngineDevice : public AudioDeviceModule, public AudioSessionObserver
332389 AVAudioOutputNode* OutputNode ();
333390
334391 bool IsMicrophonePermissionGranted ();
335- void ModifyEngineState (std::function<EngineState (EngineState)> state_transform);
336- void ApplyDeviceEngineState (EngineStateUpdate state);
337- void ApplyManualEngineState (EngineStateUpdate state);
392+ int32_t ModifyEngineState (std::function<EngineState (EngineState)> state_transform);
393+ int32_t ApplyDeviceEngineState (EngineStateUpdate state);
394+ int32_t ApplyManualEngineState (EngineStateUpdate state);
338395
339396 // AudioEngine observer methods. May be called from any thread.
340397 void ReconfigureEngine (bool is_required);
0 commit comments