|
@@ -1,833 +0,0 @@
|
1
|
|
-//
|
2
|
|
-// AgoraEnumerates.h
|
3
|
|
-// AgoraRtcEngineKit
|
4
|
|
-//
|
5
|
|
-// Copyright (c) 2018 Agora. All rights reserved.
|
6
|
|
-//
|
7
|
|
-
|
8
|
|
-#import <Foundation/Foundation.h>
|
9
|
|
-
|
10
|
|
-/** Warning code.
|
11
|
|
-
|
12
|
|
-Warning codes occur when the SDK encounters an error that may be recovered automatically. These are only notifications, and can generally be ignored. For example, when the SDK loses connection to the server, the SDK reports the AgoraWarningCodeOpenChannelTimeout(106) code and tries to reconnect automatically.
|
13
|
|
-*/
|
14
|
|
-typedef NS_ENUM(NSInteger, AgoraWarningCode) {
|
15
|
|
- /** 8: The specified view is invalid. Specify a view when using the video call function. */
|
16
|
|
- AgoraWarningCodeInvalidView = 8,
|
17
|
|
- /** 16: Failed to initialize the video function, possibly caused by a lack of resources. The users cannot see the video while the voice communication is not affected. */
|
18
|
|
- AgoraWarningCodeInitVideo = 16,
|
19
|
|
- /** 20: The request is pending, usually due to some module not being ready, and the SDK postpones processing the request. */
|
20
|
|
- AgoraWarningCodePending = 20,
|
21
|
|
- /** 103: No channel resources are available. Maybe because the server cannot allocate any channel resource. */
|
22
|
|
- AgoraWarningCodeNoAvailableChannel = 103,
|
23
|
|
- /** 104: A timeout occurs when looking up the channel. When joining a channel, the SDK looks up the specified channel. The warning usually occurs when the network condition is too poor to connect to the server. */
|
24
|
|
- AgoraWarningCodeLookupChannelTimeout = 104,
|
25
|
|
- /** 105: The server rejects the request to look up the channel. The server cannot process this request or the request is illegal. */
|
26
|
|
- AgoraWarningCodeLookupChannelRejected = 105,
|
27
|
|
- /** 106: The server rejects the request to look up the channel. The server cannot process this request or the request is illegal. */
|
28
|
|
- AgoraWarningCodeOpenChannelTimeout = 106,
|
29
|
|
- /** 107: The server rejects the request to open the channel. The server cannot process this request or the request is illegal. */
|
30
|
|
- AgoraWarningCodeOpenChannelRejected = 107,
|
31
|
|
- /** 111: A timeout occurs when switching to the live video. */
|
32
|
|
- AgoraWarningCodeSwitchLiveVideoTimeout = 111,
|
33
|
|
- /** 118: A timeout occurs when setting the client role in the live broadcast profile. */
|
34
|
|
- AgoraWarningCodeSetClientRoleTimeout = 118,
|
35
|
|
- /** 119: The client role is unauthorized. */
|
36
|
|
- AgoraWarningCodeSetClientRoleNotAuthorized = 119,
|
37
|
|
- /** 121: The ticket to open the channel is invalid. */
|
38
|
|
- AgoraWarningCodeOpenChannelInvalidTicket = 121,
|
39
|
|
- /** 122: Try connecting to another server. */
|
40
|
|
- AgoraWarningCodeOpenChannelTryNextVos = 122,
|
41
|
|
- /** 701: An error occurs in opening the audio mixing file. */
|
42
|
|
- AgoraWarningCodeAudioMixingOpenError = 701,
|
43
|
|
- /** 1014: Audio Device Module: A warning occurs in the playback device. */
|
44
|
|
- AgoraWarningCodeAdmRuntimePlayoutWarning = 1014,
|
45
|
|
- /** 1016: Audio Device Module: A warning occurs in the recording device. */
|
46
|
|
- AgoraWarningCodeAdmRuntimeRecordingWarning = 1016,
|
47
|
|
- /** 1019: Audio Device Module: No valid audio data is collected. */
|
48
|
|
- AgoraWarningCodeAdmRecordAudioSilence = 1019,
|
49
|
|
- /** 1020: Audio Device Module: A playback device fails. */
|
50
|
|
- AgoraWarningCodeAdmPlaybackMalfunction = 1020,
|
51
|
|
- /** 1021: Audio Device Module: A recording device fails. */
|
52
|
|
- AgoraWarningCodeAdmRecordMalfunction = 1021,
|
53
|
|
- /** 1025: The system interrupts the audio session, and the session is no longer active. */
|
54
|
|
- AgoraWarningCodeAdmInterruption = 1025,
|
55
|
|
- /** 1031: Audio Device Module: The recorded audio voice is too low. */
|
56
|
|
- AgoraWarningCodeAdmRecordAudioLowlevel = 1031,
|
57
|
|
- /** 1032: Audio Device Module: The playback audio voice is too low. */
|
58
|
|
- AgoraWarningCodeAdmPlayoutAudioLowlevel = 1032,
|
59
|
|
- /** 1051: Audio Device Module: Howling is detected. */
|
60
|
|
- AgoraWarningCodeApmHowling = 1051,
|
61
|
|
- /** 1052: Audio Device Module: The device is in the glitch state. */
|
62
|
|
- AgoraWarningCodeAdmGlitchState = 1052,
|
63
|
|
- /** 1053: Audio Device Module: The underlying audio settings have changed. */
|
64
|
|
- AgoraWarningCodeAdmImproperSettings = 1053,
|
65
|
|
-};
|
66
|
|
-
|
67
|
|
-/** Error code.
|
68
|
|
-
|
69
|
|
-Error codes occur when the SDK encounters an error that cannot be recovered automatically without any app intervention. For example, the SDK reports the AgoraErrorCodeStartCall = 1002 error if it fails to start a call, and reminds the user to call the [leaveChannel]([AgoraRtcEngineKit leaveChannel:]) method.
|
70
|
|
-*/
|
71
|
|
-typedef NS_ENUM(NSInteger, AgoraErrorCode) {
|
72
|
|
- /** 0: No error occurs. */
|
73
|
|
- AgoraErrorCodeNoError = 0,
|
74
|
|
- /** 1: A general error occurs (no specified reason). */
|
75
|
|
- AgoraErrorCodeFailed = 1,
|
76
|
|
- /** 2: An invalid parameter is used. For example, the specific channel name includes illegal characters. */
|
77
|
|
- AgoraErrorCodeInvalidArgument = 2,
|
78
|
|
- /** 3: The SDK module is not ready.
|
79
|
|
- <p>Possible solutions:
|
80
|
|
- <ul><li>Check the audio device.</li>
|
81
|
|
- <li>Check the completeness of the app.</li>
|
82
|
|
- <li>Re-initialize the SDK.</li></ul></p>
|
83
|
|
- */
|
84
|
|
- AgoraErrorCodeNotReady = 3,
|
85
|
|
- /** 4: The current state of the SDK does not support this function. */
|
86
|
|
- AgoraErrorCodeNotSupported = 4,
|
87
|
|
- /** 5: The request is rejected. This is for internal SDK use only, and is not returned to the app through any method or callback. */
|
88
|
|
- AgoraErrorCodeRefused = 5,
|
89
|
|
- /** 6: The buffer size is not big enough to store the returned data. */
|
90
|
|
- AgoraErrorCodeBufferTooSmall = 6,
|
91
|
|
- /** 7: The SDK is not initialized before calling this method. */
|
92
|
|
- AgoraErrorCodeNotInitialized = 7,
|
93
|
|
- /** 9: No permission exists. This is for internal SDK use only, and is not returned to the app through any method or callback. */
|
94
|
|
- AgoraErrorCodeNoPermission = 9,
|
95
|
|
- /** 10: An API method timeout occurs. Some API methods require the SDK to return the execution result, and this error occurs if the request takes too long (over 10 seconds) for the SDK to process. */
|
96
|
|
- AgoraErrorCodeTimedOut = 10,
|
97
|
|
- /** 11: The request is canceled. This is for internal SDK use only, and is not returned to the app through any method or callback. */
|
98
|
|
- AgoraErrorCodeCanceled = 11,
|
99
|
|
- /** 12: The method is called too often. This is for internal SDK use only, and is not returned to the app through any method or callback. */
|
100
|
|
- AgoraErrorCodeTooOften = 12,
|
101
|
|
- /** 13: The SDK fails to bind to the network socket. This is for internal SDK use only, and is not returned to the app through any method or callback. */
|
102
|
|
- AgoraErrorCodeBindSocket = 13,
|
103
|
|
- /** 14: The network is unavailable. This is for internal SDK use only, and is not returned to the app through any method or callback. */
|
104
|
|
- AgoraErrorCodeNetDown = 14,
|
105
|
|
- /** 15: No network buffers are available. This is for internal SDK use only, and is not returned to the app through any method or callback. */
|
106
|
|
- AgoraErrorCodeNoBufs = 15,
|
107
|
|
- /** 17: The request to join the channel is rejected.
|
108
|
|
- <p>The possible reasons are:
|
109
|
|
- <ul><li>The user is already in the channel, and still calls the API method to join the channel, for example, [joinChannelByToken]([AgoraRtcEngineKit joinChannelByToken:channelId:info:uid:joinSuccess:]).</li>
|
110
|
|
- <li>The user tries joining the channel during the echo test. Please join the channel after the echo test.</li></ul></p>
|
111
|
|
- */
|
112
|
|
- AgoraErrorCodeJoinChannelRejected = 17,
|
113
|
|
- /** 18: The request to leave the channel is rejected.
|
114
|
|
- <p>The possible reasons are:
|
115
|
|
- <ul><li>The user left the channel and still calls the API method to leave the channel, for example, [leaveChannel]([AgoraRtcEngineKit leaveChannel:]).</li>
|
116
|
|
- <li>The user has not joined the channel and calls the API method to leave the channel.</li></ul></p>
|
117
|
|
- */
|
118
|
|
- AgoraErrorCodeLeaveChannelRejected = 18,
|
119
|
|
- /** 19: The resources are occupied and cannot be used. */
|
120
|
|
- AgoraErrorCodeAlreadyInUse = 19,
|
121
|
|
- /** 20: The SDK gave up the request due to too many requests. */
|
122
|
|
- AgoraErrorCodeAbort = 20,
|
123
|
|
- /** 21: In Windows, specific firewall settings can cause the SDK to fail to initialize and crash. */
|
124
|
|
- AgoraErrorCodeInitNetEngine = 21,
|
125
|
|
- /** 22: The app uses too much of the system resources and the SDK fails to allocate the resources. */
|
126
|
|
- AgoraErrorCodeResourceLimited = 22,
|
127
|
|
- /** 101: The specified App ID is invalid. Please try to rejoin the channel with a valid App ID.*/
|
128
|
|
- AgoraErrorCodeInvalidAppId = 101,
|
129
|
|
- /** 102: The specified channel name is invalid. Please try to rejoin the channel with a valid channel name. */
|
130
|
|
- AgoraErrorCodeInvalidChannelId = 102,
|
131
|
|
- /** 109: The token expired.
|
132
|
|
- <p>The possible reasons are:
|
133
|
|
- <ul><li>Authorized Timestamp expired: The timestamp is represented by the number of seconds elapsed since 1/1/1970. The user can use the token to access the Agora service within five minutes after the token is generated. If the user does not access the Agora service after five minutes, this token is no longer valid.</li>
|
134
|
|
- <li>Call Expiration Timestamp expired: The timestamp is the exact time when a user can no longer use the Agora service (for example, when a user is forced to leave an ongoing call). When a value is set for the Call Expiration Timestamp, it does not mean that the token will expire, but that the user will be banned from the channel.</li></ul></p>
|
135
|
|
- */
|
136
|
|
- AgoraErrorCodeTokenExpired = 109,
|
137
|
|
- /** 110: The token is invalid.
|
138
|
|
- <p>The possible reasons are:
|
139
|
|
- <ul><li>The App Certificate for the project is enabled in Dashboard, but the user is using the App ID. Once the App Certificate is enabled, the user must use a token.</li>
|
140
|
|
- <li>The uid is mandatory, and users must set the same uid as the one set in the [joinChannelByToken]([AgoraRtcEngineKit joinChannelByToken:channelId:info:uid:joinSuccess:]) method.</li></ul></p>
|
141
|
|
- */
|
142
|
|
- AgoraErrorCodeInvalidToken = 110,
|
143
|
|
- /** 111: The Internet connection is interrupted. This applies to the Agora Web SDK only. */
|
144
|
|
- AgoraErrorCodeConnectionInterrupted = 111,
|
145
|
|
- /** 112: The Internet connection is lost. This applies to the Agora Web SDK only. */
|
146
|
|
- AgoraErrorCodeConnectionLost = 112,
|
147
|
|
- /** 113: The user is not in the channel when calling the [sendStreamMessage]([AgoraRtcEngineKit sendStreamMessage:data:]) method. */
|
148
|
|
- AgoraErrorCodeNotInChannel = 113,
|
149
|
|
- /** 114: The size of the sent data is over 1024 bytes when the user calls the [sendStreamMessage]([AgoraRtcEngineKit sendStreamMessage:data:]) method. */
|
150
|
|
- AgoraErrorCodeSizeTooLarge = 114,
|
151
|
|
- /** 115: The bitrate of the sent data exceeds the limit of 6 Kbps when the user calls the [sendStreamMessage]([AgoraRtcEngineKit sendStreamMessage:data:]) method. */
|
152
|
|
- AgoraErrorCodeBitrateLimit = 115,
|
153
|
|
- /** 116: Too many data streams (over five streams) are created when the user calls the [createDataStream]([AgoraRtcEngineKit createDataStream:reliable:ordered:]) method. */
|
154
|
|
- AgoraErrorCodeTooManyDataStreams = 116,
|
155
|
|
- /** 120: Decryption fails. The user may have used a different encryption password to join the channel. Check your settings or try rejoining the channel. */
|
156
|
|
- AgoraErrorCodeDecryptionFailed = 120,
|
157
|
|
- /** 124: An error occurs in the watermark file parameter. */
|
158
|
|
- AgoraErrorCodeWatermarkParam = 124,
|
159
|
|
- /** 125: An error occurs in the watermark file path. */
|
160
|
|
- AgoraErrorCodeWatermarkPath = 125,
|
161
|
|
- /** 126: An error occurs in the watermark file format. */
|
162
|
|
- AgoraErrorCodeWatermarkPng = 126,
|
163
|
|
- /** 127: An error occurs in the watermark file information. */
|
164
|
|
- AgoraErrorCodeWatermarkInfo = 127,
|
165
|
|
- /** 128: An error occurs in the watermark file data format. */
|
166
|
|
- AgoraErrorCodeWatermarkAGRB = 128,
|
167
|
|
- /** 129: An error occurs in reading the watermark file. */
|
168
|
|
- AgoraErrorCodeWatermarkRead = 129,
|
169
|
|
- /** 130: The encrypted stream is not allowed to publish. */
|
170
|
|
- AgoraErrorCodeEncryptedStreamNotAllowedPublish = 130,
|
171
|
|
- /** 150: Stream publishing fails. */
|
172
|
|
- AgoraErrorCodePublishFailed = 150,
|
173
|
|
- /** 1001: Fails to load the media engine. */
|
174
|
|
- AgoraErrorCodeLoadMediaEngine = 1001,
|
175
|
|
- /** 1002: Fails to start the call after enabling the media engine. */
|
176
|
|
- AgoraErrorCodeStartCall = 1002,
|
177
|
|
- /** 1003: Fails to start the camera. */
|
178
|
|
- AgoraErrorCodeStartCamera = 1003,
|
179
|
|
- /** 1004: Fails to start the video rendering module. */
|
180
|
|
- AgoraErrorCodeStartVideoRender = 1004,
|
181
|
|
- /** 1005: A general error occurs in the Audio Device Module (the reason is not classified specifically). Check if the audio device is used by another app, or try rejoining the channel. */
|
182
|
|
- AgoraErrorCodeAdmGeneralError = 1005,
|
183
|
|
- /** 1006: Audio Device Module: An error occurs in using the Java resources. */
|
184
|
|
- AgoraErrorCodeAdmJavaResource = 1006,
|
185
|
|
- /** 1007: Audio Device Module: An error occurs in setting the sampling frequency. */
|
186
|
|
- AgoraErrorCodeAdmSampleRate = 1007,
|
187
|
|
- /** 1008: Audio Device Module: An error occurs in initializing the playback device. */
|
188
|
|
- AgoraErrorCodeAdmInitPlayout = 1008,
|
189
|
|
- /** 1009: Audio Device Module: An error occurs in starting the playback device. */
|
190
|
|
- AgoraErrorCodeAdmStartPlayout = 1009,
|
191
|
|
- /** 1010: Audio Device Module: An error occurs in stopping the playback device. */
|
192
|
|
- AgoraErrorCodeAdmStopPlayout = 1010,
|
193
|
|
- /** 1011: Audio Device Module: An error occurs in initializing the recording device. */
|
194
|
|
- AgoraErrorCodeAdmInitRecording = 1011,
|
195
|
|
- /** 1012: Audio Device Module: An error occurs in starting the recording device. */
|
196
|
|
- AgoraErrorCodeAdmStartRecording = 1012,
|
197
|
|
- /** 1013: Audio Device Module: An error occurs in stopping the recording device. */
|
198
|
|
- AgoraErrorCodeAdmStopRecording = 1013,
|
199
|
|
- /** 1015: Audio Device Module: A playback error occurs. Check your playback device, or try rejoining the channel. */
|
200
|
|
- AgoraErrorCodeAdmRuntimePlayoutError = 1015,
|
201
|
|
- /** 1017: Audio Device Module: A recording error occurs. */
|
202
|
|
- AgoraErrorCodeAdmRuntimeRecordingError = 1017,
|
203
|
|
- /** 1018: Audio Device Module: Fails to record. */
|
204
|
|
- AgoraErrorCodeAdmRecordAudioFailed = 1018,
|
205
|
|
- /** 1020: Audio Device Module: Abnormal audio playback frequency. */
|
206
|
|
- AgoraErrorCodeAdmPlayAbnormalFrequency = 1020,
|
207
|
|
- /** 1021: Audio Device Module: Abnormal audio recording frequency. */
|
208
|
|
- AgoraErrorCodeAdmRecordAbnormalFrequency = 1021,
|
209
|
|
- /** 1022: Audio Device Module: An error occurs in initializing the loopback device. */
|
210
|
|
- AgoraErrorCodeAdmInitLoopback = 1022,
|
211
|
|
- /** 1023: Audio Device Module: An error occurs in starting the loopback device. */
|
212
|
|
- AgoraErrorCodeAdmStartLoopback = 1023,
|
213
|
|
- /** 1359: No recording device exists. */
|
214
|
|
- AgoraErrorCodeAdmNoRecordingDevice = 1359,
|
215
|
|
- /** 1360: No playback device exists. */
|
216
|
|
- AgoraErrorCodeAdmNoPlayoutDevice = 1360,
|
217
|
|
- /** 1501: Video Device Module: The camera is unauthorized. */
|
218
|
|
- AgoraErrorCodeVdmCameraNotAuthorized = 1501,
|
219
|
|
- /** 1600: Video Device Module: An unknown error occurs. */
|
220
|
|
- AgoraErrorCodeVcmUnknownError = 1600,
|
221
|
|
- /** 1601: Video Device Module: An error occurs in initializing the video encoder. */
|
222
|
|
- AgoraErrorCodeVcmEncoderInitError = 1601,
|
223
|
|
- /** 1602: Video Device Module: An error occurs in video encoding. */
|
224
|
|
- AgoraErrorCodeVcmEncoderEncodeError = 1602,
|
225
|
|
- /** 1603: Video Device Module: An error occurs in setting the video encoder.
|
226
|
|
- <p><b>DEPRECATED</b></p>
|
227
|
|
- */
|
228
|
|
- AgoraErrorCodeVcmEncoderSetError = 1603,
|
229
|
|
-};
|
230
|
|
-
|
231
|
|
-/** Video profile.
|
232
|
|
-
|
233
|
|
-**DEPRECATED**
|
234
|
|
-
|
235
|
|
-Please use AgoraVideoEncoderConfiguration.
|
236
|
|
-
|
237
|
|
-iPhone does not support resolutions above 720p.
|
238
|
|
-*/
|
239
|
|
-typedef NS_ENUM(NSInteger, AgoraVideoProfile) {
|
240
|
|
- /** Invalid profile. */
|
241
|
|
- AgoraVideoProfileInvalid = -1,
|
242
|
|
- /** Resolution 160 × 120, frame rate 15 fps, bitrate 65 Kbps. */
|
243
|
|
- AgoraVideoProfileLandscape120P = 0,
|
244
|
|
- /** Resolution 120 × 120, frame rate 15 fps, bitrate 50 Kbps. */
|
245
|
|
- AgoraVideoProfileLandscape120P_3 = 2, // iOS
|
246
|
|
- /** Resolution 320 × 180, frame rate 15 fps, bitrate 140 Kbps. */
|
247
|
|
- AgoraVideoProfileLandscape180P = 10, // iOS
|
248
|
|
- /** Resolution 180 × 180, frame rate 15 fps, bitrate 100 Kbps. */
|
249
|
|
- AgoraVideoProfileLandscape180P_3 = 12, // iOS
|
250
|
|
- /** Resolution 240 × 180, frame rate 15 fps, bitrate 120 Kbps. */
|
251
|
|
- AgoraVideoProfileLandscape180P_4 = 13, // iOS
|
252
|
|
- /** Resolution 320 × 240, frame rate 15 fps, bitrate 200 Kbps. */
|
253
|
|
- AgoraVideoProfileLandscape240P = 20,
|
254
|
|
- /** Resolution 240 × 240, frame rate 15 fps, bitrate 140 Kbps. */
|
255
|
|
- AgoraVideoProfileLandscape240P_3 = 22, //iOS
|
256
|
|
- /** Resolution 424 × 240, frame rate 15 fps, bitrate 220 Kbps. */
|
257
|
|
- AgoraVideoProfileLandscape240P_4 = 23, // iOS
|
258
|
|
- /** Resolution 640 × 360, frame rate 15 fps, bitrate 400 Kbps. */
|
259
|
|
- AgoraVideoProfileLandscape360P = 30,
|
260
|
|
- /** Resolution 360 × 360, frame rate 15 fps, bitrate 260 Kbps. */
|
261
|
|
- AgoraVideoProfileLandscape360P_3 = 32, // iOS
|
262
|
|
- /** Resolution 640 × 360, frame rate 30 fps, bitrate 600 Kbps. */
|
263
|
|
- AgoraVideoProfileLandscape360P_4 = 33,
|
264
|
|
- /** Resolution 360 × 360, frame rate 30 fps, bitrate 400 Kbps. */
|
265
|
|
- AgoraVideoProfileLandscape360P_6 = 35,
|
266
|
|
- /** Resolution 480 × 360, frame rate 15 fps, bitrate 320 Kbps. */
|
267
|
|
- AgoraVideoProfileLandscape360P_7 = 36,
|
268
|
|
- /** Resolution 480 × 360, frame rate 30 fps, bitrate 490 Kbps. */
|
269
|
|
- AgoraVideoProfileLandscape360P_8 = 37,
|
270
|
|
- /** Resolution 640 × 360, frame rate 15 fps, bitrate 800 Kbps.
|
271
|
|
-
|
272
|
|
- Note: This profile applies to the live broadcast channel profile only.
|
273
|
|
- */
|
274
|
|
- AgoraVideoProfileLandscape360P_9 = 38,
|
275
|
|
- /** Resolution 640 × 360, frame rate 24 fps, bitrate 800 Kbps.
|
276
|
|
-
|
277
|
|
- Note: This profile applies to the live broadcast channel profile only.
|
278
|
|
- */
|
279
|
|
- AgoraVideoProfileLandscape360P_10 = 39,
|
280
|
|
- /** Resolution 640 × 360, frame rate 24 fps, bitrate 1000 Kbps.
|
281
|
|
-
|
282
|
|
- Note: This profile applies to the live broadcast channel profile only.
|
283
|
|
- */
|
284
|
|
- AgoraVideoProfileLandscape360P_11 = 100,
|
285
|
|
- /** Resolution 640 × 480, frame rate 15 fps, bitrate 500 Kbps. */
|
286
|
|
- AgoraVideoProfileLandscape480P = 40,
|
287
|
|
- /** Resolution 480 × 480, frame rate 15 fps, bitrate 400 Kbps. */
|
288
|
|
- AgoraVideoProfileLandscape480P_3 = 42, // iOS
|
289
|
|
- /** Resolution 640 × 480, frame rate 30 fps, bitrate 750 Kbps. */
|
290
|
|
- AgoraVideoProfileLandscape480P_4 = 43,
|
291
|
|
- /** Resolution 480 × 480, frame rate 30 fps, bitrate 600 Kbps. */
|
292
|
|
- AgoraVideoProfileLandscape480P_6 = 45,
|
293
|
|
- /** Resolution 848 × 480, frame rate 15 fps, bitrate 610 Kbps. */
|
294
|
|
- AgoraVideoProfileLandscape480P_8 = 47,
|
295
|
|
- /** Resolution 848 × 480, frame rate 30 fps, bitrate 930 Kbps. */
|
296
|
|
- AgoraVideoProfileLandscape480P_9 = 48,
|
297
|
|
- /** Resolution 640 × 480, frame rate 10 fps, bitrate 400 Kbps. */
|
298
|
|
- AgoraVideoProfileLandscape480P_10 = 49,
|
299
|
|
- /** Resolution 1280 × 720, frame rate 15 fps, bitrate 1130 Kbps. */
|
300
|
|
- AgoraVideoProfileLandscape720P = 50,
|
301
|
|
- /** Resolution 1280 × 720, frame rate 30 fps, bitrate 1710 Kbps. */
|
302
|
|
- AgoraVideoProfileLandscape720P_3 = 52,
|
303
|
|
- /** Resolution 960 × 720, frame rate 15 fps, bitrate 910 Kbps. */
|
304
|
|
- AgoraVideoProfileLandscape720P_5 = 54,
|
305
|
|
- /** Resolution 960 × 720, frame rate 30 fps, bitrate 1380 Kbps. */
|
306
|
|
- AgoraVideoProfileLandscape720P_6 = 55,
|
307
|
|
- /** Resolution 1920 × 1080, frame rate 15 fps, bitrate 2080 Kbps. */
|
308
|
|
- AgoraVideoProfileLandscape1080P = 60,
|
309
|
|
- /** Resolution 1920 × 1080, frame rate 30 fps, bitrate 3150 Kbps. */
|
310
|
|
- AgoraVideoProfileLandscape1080P_3 = 62,
|
311
|
|
- /** Resolution 1920 × 1080, frame rate 60 fps, bitrate 4780 Kbps. */
|
312
|
|
- AgoraVideoProfileLandscape1080P_5 = 64,
|
313
|
|
- /** Resolution 2560 × 1440, frame rate 30 fps, bitrate 4850 Kbps. */
|
314
|
|
- AgoraVideoProfileLandscape1440P = 66,
|
315
|
|
- /** Resolution 2560 × 1440, frame rate 60 fps, bitrate 6500 Kbps. */
|
316
|
|
- AgoraVideoProfileLandscape1440P_2 = 67,
|
317
|
|
- /** Resolution 3840 × 2160, frame rate 30 fps, bitrate 6500 Kbps. */
|
318
|
|
- AgoraVideoProfileLandscape4K = 70,
|
319
|
|
- /** Resolution 3840 × 2160, frame rate 60 fps, bitrate 6500 Kbps. */
|
320
|
|
- AgoraVideoProfileLandscape4K_3 = 72,
|
321
|
|
-
|
322
|
|
- /** Resolution 120 × 160, frame rate 15 fps, bitrate 65 Kbps. */
|
323
|
|
- AgoraVideoProfilePortrait120P = 1000,
|
324
|
|
- /** Resolution 120 × 120, frame rate 15 fps, bitrate 50 Kbps. */
|
325
|
|
- AgoraVideoProfilePortrait120P_3 = 1002, //iOS
|
326
|
|
- /** Resolution 180 × 320, frame rate 15 fps, bitrate 140 Kbps. */
|
327
|
|
- AgoraVideoProfilePortrait180P = 1010, // iOS
|
328
|
|
- /** Resolution 180 × 180, frame rate 15 fps, bitrate 100 Kbps. */
|
329
|
|
- AgoraVideoProfilePortrait180P_3 = 1012, // iOS
|
330
|
|
- /** Resolution 180 × 240, frame rate 15 fps, bitrate 120 Kbps. */
|
331
|
|
- AgoraVideoProfilePortrait180P_4 = 1013, // iOS
|
332
|
|
- /** Resolution 240 × 320, frame rate 15 fps, bitrate 200 Kbps. */
|
333
|
|
- AgoraVideoProfilePortrait240P = 1020,
|
334
|
|
- /** Resolution 240 × 240, frame rate 15 fps, bitrate 140 Kbps. */
|
335
|
|
- AgoraVideoProfilePortrait240P_3 = 1022, // iOS
|
336
|
|
- /** Resolution 240 × 424, frame rate 15 fps, bitrate 220 Kbps. */
|
337
|
|
- AgoraVideoProfilePortrait240P_4 = 1023,
|
338
|
|
- /** Resolution 360 × 640, frame rate 15 fps, bitrate 400 Kbps. */
|
339
|
|
- AgoraVideoProfilePortrait360P = 1030, // iOS
|
340
|
|
- /** Resolution 360 × 360, frame rate 15 fps, bitrate 260 Kbps. */
|
341
|
|
- AgoraVideoProfilePortrait360P_3 = 1032, // iOS
|
342
|
|
- /** Resolution 360 × 640, frame rate 30 fps, bitrate 600 Kbps. */
|
343
|
|
- AgoraVideoProfilePortrait360P_4 = 1033,
|
344
|
|
- /** Resolution 360 × 360, frame rate 30 fps, bitrate 400 Kbps. */
|
345
|
|
- AgoraVideoProfilePortrait360P_6 = 1035,
|
346
|
|
- /** Resolution 360 × 480, frame rate 15 fps, bitrate 320 Kbps. */
|
347
|
|
- AgoraVideoProfilePortrait360P_7 = 1036,
|
348
|
|
- /** Resolution 360 × 480, frame rate 30 fps, bitrate 490 Kbps. */
|
349
|
|
- AgoraVideoProfilePortrait360P_8 = 1037,
|
350
|
|
- /** Resolution 360 × 640, frame rate 15 fps, bitrate 600 Kbps. */
|
351
|
|
- AgoraVideoProfilePortrait360P_9 = 1038,
|
352
|
|
- /** Resolution 360 × 640, frame rate 24 fps, bitrate 800 Kbps. */
|
353
|
|
- AgoraVideoProfilePortrait360P_10 = 1039,
|
354
|
|
- /** Resolution 360 × 640, frame rate 24 fps, bitrate 800 Kbps. */
|
355
|
|
- AgoraVideoProfilePortrait360P_11 = 1100,
|
356
|
|
- /** Resolution 480 × 640, frame rate 15 fps, bitrate 500 Kbps. */
|
357
|
|
- AgoraVideoProfilePortrait480P = 1040,
|
358
|
|
- /** Resolution 480 × 480, frame rate 15 fps, bitrate 400 Kbps. */
|
359
|
|
- AgoraVideoProfilePortrait480P_3 = 1042, // iOS
|
360
|
|
- /** Resolution 480 × 640, frame rate 30 fps, bitrate 750 Kbps. */
|
361
|
|
- AgoraVideoProfilePortrait480P_4 = 1043,
|
362
|
|
- /** Resolution 480 × 480, frame rate 30 fps, bitrate 600 Kbps. */
|
363
|
|
- AgoraVideoProfilePortrait480P_6 = 1045,
|
364
|
|
- /** Resolution 480 × 848, frame rate 15 fps, bitrate 610 Kbps. */
|
365
|
|
- AgoraVideoProfilePortrait480P_8 = 1047,
|
366
|
|
- /** Resolution 480 × 848, frame rate 30 fps, bitrate 930 Kbps. */
|
367
|
|
- AgoraVideoProfilePortrait480P_9 = 1048,
|
368
|
|
- /** Resolution 480 × 640, frame rate 10 fps, bitrate 400 Kbps. */
|
369
|
|
- AgoraVideoProfilePortrait480P_10 = 1049,
|
370
|
|
- /** Resolution 720 × 1280, frame rate 15 fps, bitrate 1130 Kbps. */
|
371
|
|
- AgoraVideoProfilePortrait720P = 1050,
|
372
|
|
- /** Resolution 720 × 1280, frame rate 30 fps, bitrate 1710 Kbps. */
|
373
|
|
- AgoraVideoProfilePortrait720P_3 = 1052,
|
374
|
|
- /** Resolution 720 × 960, frame rate 15 fps, bitrate 910 Kbps. */
|
375
|
|
- AgoraVideoProfilePortrait720P_5 = 1054,
|
376
|
|
- /** Resolution 720 × 960, frame rate 30 fps, bitrate 1380 Kbps. */
|
377
|
|
- AgoraVideoProfilePortrait720P_6 = 1055,
|
378
|
|
- /** Resolution 1080 × 1920, frame rate 15 fps, bitrate 2080 Kbps. */
|
379
|
|
- AgoraVideoProfilePortrait1080P = 1060, // macOS
|
380
|
|
- /** Resolution 1080 × 1920, frame rate 30 fps, bitrate 3150 Kbps. */
|
381
|
|
- AgoraVideoProfilePortrait1080P_3 = 1062, // macOS
|
382
|
|
- /** Resolution 1080 × 1920, frame rate 60 fps, bitrate 4780 Kbps. */
|
383
|
|
- AgoraVideoProfilePortrait1080P_5 = 1064, // macOS
|
384
|
|
- /** Resolution 1440 × 2560, frame rate 30 fps, bitrate 4850 Kbps. */
|
385
|
|
- AgoraVideoProfilePortrait1440P = 1066, // macOS
|
386
|
|
- /** Resolution 1440 × 2560, frame rate 60 fps, bitrate 6500 Kbps. */
|
387
|
|
- AgoraVideoProfilePortrait1440P_2 = 1067, // macOS
|
388
|
|
- /** Resolution 2160 × 3840, frame rate 30 fps, bitrate 6500 Kbps. */
|
389
|
|
- AgoraVideoProfilePortrait4K = 1070, // macOS
|
390
|
|
- /** Resolution 2160 × 3840, frame rate 60 fps, bitrate 6500 Kbps. */
|
391
|
|
- AgoraVideoProfilePortrait4K_3 = 1072, // macOS
|
392
|
|
- /** (Default) Resolution 640 × 360, frame rate 15 fps, bitrate 400 Kbps. */
|
393
|
|
- AgoraVideoProfileDEFAULT = AgoraVideoProfileLandscape360P,
|
394
|
|
-};
|
395
|
|
-
|
396
|
|
-/** Frame rate of the video. */
|
397
|
|
-typedef NS_ENUM(NSInteger, AgoraVideoFrameRate) {
|
398
|
|
- /** 1 fps. */
|
399
|
|
- AgoraVideoFrameRateFps1 = 1,
|
400
|
|
- /** 7 fps. */
|
401
|
|
- AgoraVideoFrameRateFps7 = 7,
|
402
|
|
- /** 10 fps. */
|
403
|
|
- AgoraVideoFrameRateFps10 = 10,
|
404
|
|
- /** 15 fps. */
|
405
|
|
- AgoraVideoFrameRateFps15 = 15,
|
406
|
|
- /** 24 fps. */
|
407
|
|
- AgoraVideoFrameRateFps24 = 24,
|
408
|
|
- /** 30 fps. */
|
409
|
|
- AgoraVideoFrameRateFps30 = 30,
|
410
|
|
- /** 60 fps. */
|
411
|
|
- AgoraVideoFrameRateFps60 = 60,
|
412
|
|
-};
|
413
|
|
-
|
414
|
|
-/** Video output orientation mode.
|
415
|
|
-
|
416
|
|
- **Note:** When a custom video source is used, if you set AgoraVideoOutputOrientationMode as AgoraVideoOutputOrientationModeFixedLandscape(1) or AgoraVideoOutputOrientationModeFixedPortrait(2), when the rotated video image has a different orientation than the specified output orientation, the video encoder first crops it and then encodes it.
|
417
|
|
- */
|
418
|
|
-typedef NS_ENUM(NSInteger, AgoraVideoOutputOrientationMode) {
|
419
|
|
- /** Adaptive mode (Default).
|
420
|
|
- <p>The video encoder adapts to the orientation mode of the video input device. When you use a custom video source, the output video from the encoder inherits the orientation of the original video.
|
421
|
|
- <ul><li>If the width of the captured video from the SDK is greater than the height, the encoder sends the video in landscape mode. The encoder also sends the rotational information of the video, and the receiver uses the rotational information to rotate the received video.</li>
|
422
|
|
- <li>If the original video is in portrait mode, the output video from the encoder is also in portrait mode. The encoder also sends the rotational information of the video to the receiver.</li></ul></p>
|
423
|
|
- */
|
424
|
|
- AgoraVideoOutputOrientationModeAdaptative = 0,
|
425
|
|
- /** Landscape mode.
|
426
|
|
- <p>The video encoder always sends the video in landscape mode. The video encoder rotates the original video before sending it and the rotational information is 0. This mode applies to scenarios involving CDN live streaming.</p>
|
427
|
|
- */
|
428
|
|
- AgoraVideoOutputOrientationModeFixedLandscape = 1,
|
429
|
|
- /** Portrait mode.
|
430
|
|
- <p>The video encoder always sends the video in portrait mode. The video encoder rotates the original video before sending it and the rotational information is 0. This mode applies to scenarios involving CDN live streaming.</p>
|
431
|
|
- */
|
432
|
|
- AgoraVideoOutputOrientationModeFixedPortrait = 2,
|
433
|
|
-};
|
434
|
|
-
|
435
|
|
-/** Channel profile. */
|
436
|
|
-typedef NS_ENUM(NSInteger, AgoraChannelProfile) {
|
437
|
|
- /** Communication (default).
|
438
|
|
- <p>This is used in one-on-one or group calls, where all users in the channel can talk freely.</p>
|
439
|
|
- */
|
440
|
|
- AgoraChannelProfileCommunication = 0,
|
441
|
|
- /** Live Broadcast.
|
442
|
|
- <p>Host and audience roles that can be set by calling the [setClientRole]([AgoraRtcEngineKit setClientRole:]) method. The host sends and receives voice/video, while the audience can only receive voice/video.</p>
|
443
|
|
- */
|
444
|
|
- AgoraChannelProfileLiveBroadcasting = 1,
|
445
|
|
- /** Gaming.
|
446
|
|
- <p>This mode is for the Agora Gaming SDK only.</p>
|
447
|
|
- <p>Any user in the channel can talk freely. This mode uses the codec with low-power consumption and low bitrate by default. </p>
|
448
|
|
- */
|
449
|
|
- AgoraChannelProfileGame = 2,
|
450
|
|
-};
|
451
|
|
-
|
452
|
|
-/** Client role in a live broadcast. */
|
453
|
|
-typedef NS_ENUM(NSInteger, AgoraClientRole) {
|
454
|
|
- /** Host. */
|
455
|
|
- AgoraClientRoleBroadcaster = 1,
|
456
|
|
- /** Audience. */
|
457
|
|
- AgoraClientRoleAudience = 2,
|
458
|
|
-};
|
459
|
|
-
|
460
|
|
-
|
461
|
|
-/** Media type. */
|
462
|
|
-typedef NS_ENUM(NSInteger, AgoraMediaType) {
|
463
|
|
- /** No audio and video. */
|
464
|
|
- AgoraMediaTypeNone = 0,
|
465
|
|
- /** Audio only. */
|
466
|
|
- AgoraMediaTypeAudioOnly = 1,
|
467
|
|
- /** Video only. */
|
468
|
|
- AgoraMediaTypeVideoOnly = 2,
|
469
|
|
- /** Audio and video. */
|
470
|
|
- AgoraMediaTypeAudioAndVideo = 3,
|
471
|
|
-};
|
472
|
|
-
|
473
|
|
-
|
474
|
|
-/** Encryption mode.
|
475
|
|
-
|
476
|
|
-When encryptionMode is set as NULL, the encryption mode is set to 128-bit AES encryption, XTS mode by default.
|
477
|
|
-*/
|
478
|
|
-typedef NS_ENUM(NSInteger, AgoraEncryptionMode) {
|
479
|
|
- AgoraEncryptionModeNone = 0,
|
480
|
|
- /** 128-bit AES encryption, XTS mode. */
|
481
|
|
- AgoraEncryptionModeAES128XTS = 1,
|
482
|
|
- /** 256-bit AES encryption, XTS mode. */
|
483
|
|
- AgoraEncryptionModeAES256XTS = 2,
|
484
|
|
- /** 128-bit AES encryption, ECB mode. */
|
485
|
|
- AgoraEncryptionModeAES128ECB = 3,
|
486
|
|
-};
|
487
|
|
-
|
488
|
|
-/** Reason for the user being offline. */
|
489
|
|
-typedef NS_ENUM(NSUInteger, AgoraUserOfflineReason) {
|
490
|
|
- /** The user left the current channel. */
|
491
|
|
- AgoraUserOfflineReasonQuit = 0,
|
492
|
|
- /** The SDK timed out and the user dropped offline because no data packet is received within a certain period of time. If a user quits the call and the message is not passed to the SDK (due to an unreliable channel), the SDK assumes the user dropped offline. */
|
493
|
|
- AgoraUserOfflineReasonDropped = 1,
|
494
|
|
- /** (Live broadcast only.) The client role switched from the host to the audience. */
|
495
|
|
- AgoraUserOfflineReasonBecomeAudience = 2,
|
496
|
|
-};
|
497
|
|
-
|
498
|
|
-/** State of importing an external video stream in a live broadcast. */
|
499
|
|
-typedef NS_ENUM(NSUInteger, AgoraInjectStreamStatus) {
|
500
|
|
- /** The external video stream imported successfully. */
|
501
|
|
- AgoraInjectStreamStatusStartSuccess = 0,
|
502
|
|
- /** The external video stream already exists. */
|
503
|
|
- AgoraInjectStreamStatusStartAlreadyExists = 1,
|
504
|
|
- /** The external video stream import is unauthorized. */
|
505
|
|
- AgoraInjectStreamStatusStartUnauthorized = 2,
|
506
|
|
- /** Import external video stream timeout. */
|
507
|
|
- AgoraInjectStreamStatusStartTimedout = 3,
|
508
|
|
- /** The external video stream failed to import. */
|
509
|
|
- AgoraInjectStreamStatusStartFailed = 4,
|
510
|
|
- /** The external video stream imports successfully. */
|
511
|
|
- AgoraInjectStreamStatusStopSuccess = 5,
|
512
|
|
- /** No external video stream is found. */
|
513
|
|
- AgoraInjectStreamStatusStopNotFound = 6,
|
514
|
|
- /** The external video stream is stopped from being unauthorized. */
|
515
|
|
- AgoraInjectStreamStatusStopUnauthorized = 7,
|
516
|
|
- /** Importing the external video stream timeout. */
|
517
|
|
- AgoraInjectStreamStatusStopTimedout = 8,
|
518
|
|
- /** Importing the external video stream failed. */
|
519
|
|
- AgoraInjectStreamStatusStopFailed = 9,
|
520
|
|
- /** The external video stream import is interrupted. */
|
521
|
|
- AgoraInjectStreamStatusBroken = 10,
|
522
|
|
-};
|
523
|
|
-
|
524
|
|
-/** Output log filter level. */
|
525
|
|
-typedef NS_ENUM(NSUInteger, AgoraLogFilter) {
|
526
|
|
- /** Do not output any log information. */
|
527
|
|
- AgoraLogFilterOff = 0,
|
528
|
|
- /** Output all log information. */
|
529
|
|
- AgoraLogFilterDebug = 0x080f,
|
530
|
|
- /** Output CRITICAL, ERROR, WARNING, and INFO level log information. */
|
531
|
|
- AgoraLogFilterInfo = 0x000f,
|
532
|
|
- /** Outputs CRITICAL, ERROR, and WARNING level log information. */
|
533
|
|
- AgoraLogFilterWarning = 0x000e,
|
534
|
|
- /** Outputs CRITICAL and ERROR level log information. */
|
535
|
|
- AgoraLogFilterError = 0x000c,
|
536
|
|
- /** Outputs CRITICAL level log information. */
|
537
|
|
- AgoraLogFilterCritical = 0x0008,
|
538
|
|
-};
|
539
|
|
-
|
540
|
|
-/** Audio recording quality. */
|
541
|
|
-typedef NS_ENUM(NSInteger, AgoraAudioRecordingQuality) {
|
542
|
|
- /** Low quality: The file size is around 1.2 MB after 10 minutes of recording. */
|
543
|
|
- AgoraAudioRecordingQualityLow = 0,
|
544
|
|
- /** Medium quality: The file size is around 2 MB after 10 minutes of recording. */
|
545
|
|
- AgoraAudioRecordingQualityMedium = 1,
|
546
|
|
- /** High quality: The file size is around 3.75 MB after 10 minutes of recording. */
|
547
|
|
- AgoraAudioRecordingQualityHigh = 2
|
548
|
|
-};
|
549
|
|
-
|
550
|
|
-/** Lifecycle of the CDN live video stream.
|
551
|
|
-
|
552
|
|
-**DEPRECATED**
|
553
|
|
-*/
|
554
|
|
-typedef NS_ENUM(NSInteger, AgoraRtmpStreamLifeCycle) {
|
555
|
|
- /** Bound to the channel lifecycle. If all hosts leave the channel, the CDN live streaming stops after 30 seconds. */
|
556
|
|
- AgoraRtmpStreamLifeCycleBindToChannel = 1,
|
557
|
|
- /** Bound to the owner of the RTMP stream. If the owner leaves the channel, the CDN live streaming stops immediately. */
|
558
|
|
- AgoraRtmpStreamLifeCycleBindToOwnner = 2,
|
559
|
|
-};
|
560
|
|
-
|
561
|
|
-/** Network quality. */
|
562
|
|
-typedef NS_ENUM(NSUInteger, AgoraNetworkQuality) {
|
563
|
|
- /** The network quality is unknown. */
|
564
|
|
- AgoraNetworkQualityUnknown = 0,
|
565
|
|
- /** The network quality is excellent. */
|
566
|
|
- AgoraNetworkQualityExcellent = 1,
|
567
|
|
- /** The network quality is quite good, but the bitrate may be slightly lower than excellent. */
|
568
|
|
- AgoraNetworkQualityGood = 2,
|
569
|
|
- /** Users can feel the communication slightly impaired. */
|
570
|
|
- AgoraNetworkQualityPoor = 3,
|
571
|
|
- /** Users can communicate only not very smoothly. */
|
572
|
|
- AgoraNetworkQualityBad = 4,
|
573
|
|
- /** The network quality is so bad that users can hardly communicate. */
|
574
|
|
- AgoraNetworkQualityVBad = 5,
|
575
|
|
- /** The network is disconnected and users cannot communicate at all. */
|
576
|
|
- AgoraNetworkQualityDown = 6,
|
577
|
|
-};
|
578
|
|
-
|
579
|
|
-/** Video stream type. */
|
580
|
|
-typedef NS_ENUM(NSInteger, AgoraVideoStreamType) {
|
581
|
|
- /** High-bitrate, high-resolution video stream. */
|
582
|
|
- AgoraVideoStreamTypeHigh = 0,
|
583
|
|
- /** Low-bitrate, low-resolution video stream. */
|
584
|
|
- AgoraVideoStreamTypeLow = 1,
|
585
|
|
-};
|
586
|
|
-
|
587
|
|
-/** Video display mode. */
|
588
|
|
-typedef NS_ENUM(NSUInteger, AgoraVideoRenderMode) {
|
589
|
|
- /** Hidden(1): Uniformly scale the video until it fills the visible boundaries (cropped). One dimension of the video may have clipped contents. */
|
590
|
|
- AgoraVideoRenderModeHidden = 1,
|
591
|
|
-
|
592
|
|
- /** Fit(2): Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). Areas that are not filled due to the disparity in the aspect ratio are filled with black. */
|
593
|
|
- AgoraVideoRenderModeFit = 2,
|
594
|
|
-
|
595
|
|
- /**
|
596
|
|
- Adaptive(3):This mode is deprecated.
|
597
|
|
- */
|
598
|
|
- AgoraVideoRenderModeAdaptive __deprecated_enum_msg("AgoraVideoRenderModeAdaptive is deprecated.") = 3,
|
599
|
|
-};
|
600
|
|
-
|
601
|
|
-/** Self-defined video codec profile. */
|
602
|
|
-typedef NS_ENUM(NSInteger, AgoraVideoCodecProfileType) {
|
603
|
|
- /** 66: Baseline video codec profile. Generally used in video calls on mobile phones. */
|
604
|
|
- AgoraVideoCodecProfileTypeBaseLine = 66,
|
605
|
|
- /** 77: Main video codec profile. Generally used in mainstream electronics, such as MP4 players, portable video players, PSP, and iPads. */
|
606
|
|
- AgoraVideoCodecProfileTypeMain = 77,
|
607
|
|
- /** 100: (Default) High video codec profile. Generally used in high-resolution broadcasts or television. */
|
608
|
|
- AgoraVideoCodecProfileTypeHigh = 100
|
609
|
|
-};
|
610
|
|
-
|
611
|
|
-/** Video mirror mode. */
|
612
|
|
-typedef NS_ENUM(NSUInteger, AgoraVideoMirrorMode) {
|
613
|
|
- /** The SDK determines the default mirror mode. */
|
614
|
|
- AgoraVideoMirrorModeAuto = 0,
|
615
|
|
- /** Enables mirror mode. */
|
616
|
|
- AgoraVideoMirrorModeEnabled = 1,
|
617
|
|
- /** Disables mirror mode. */
|
618
|
|
- AgoraVideoMirrorModeDisabled = 2,
|
619
|
|
-};
|
620
|
|
-
|
621
|
|
-/** Remote video state. */
|
622
|
|
-typedef NS_ENUM(NSUInteger, AgoraVideoRemoteState) {
|
623
|
|
- /** The remote video stopped playing. */
|
624
|
|
- AgoraVideoRemoteStateStopped = 0,
|
625
|
|
- /** The remote video is playing. */
|
626
|
|
- AgoraVideoRemoteStateRunning = 1,
|
627
|
|
- /** The remote video is frozen. */
|
628
|
|
- AgoraVideoRemoteStateFrozen = 2,
|
629
|
|
-};
|
630
|
|
-
|
631
|
|
-/** Stream fallback option. */
|
632
|
|
-typedef NS_ENUM(NSInteger, AgoraStreamFallbackOptions) {
|
633
|
|
- /** No fallback behavior for the local/remote stream when the uplink/downlink network condition is unreliable. The quality of the stream is not guaranteed. */
|
634
|
|
- AgoraStreamFallbackOptionDisabled = 0,
|
635
|
|
- /** Under unreliable downlink network conditions, the remote stream falls back to the low-video stream (low resolution and low bitrate). You can only set this option in [setRemoteSubscribeFallbackOption]([AgoraRtcEngineKit setRemoteSubscribeFallbackOption:]). Nothing happens when you set this in [setLocalPublishFallbackOption]([AgoraRtcEngineKit setLocalPublishFallbackOption:]). */
|
636
|
|
- AgoraStreamFallbackOptionVideoStreamLow = 1,
|
637
|
|
- /**
|
638
|
|
- <li> Under unreliable uplink network conditions, the published stream falls back audio only.
|
639
|
|
- <li>> Under unreliable downlink network conditions, the remote stream first falls back to the low-video stream (low resolution and low bitrate); and then to an audio-only stream if the network condition deteriorates. */
|
640
|
|
- AgoraStreamFallbackOptionAudioOnly = 2,
|
641
|
|
-};
|
642
|
|
-
|
643
|
|
-/** Audio sampling rate. */
|
644
|
|
-typedef NS_ENUM(NSInteger, AgoraAudioSampleRateType) {
|
645
|
|
- /** 32 kHz. */
|
646
|
|
- AgoraAudioSampleRateType32000 = 32000,
|
647
|
|
- /** 44.1 kHz. */
|
648
|
|
- AgoraAudioSampleRateType44100 = 44100,
|
649
|
|
- /** 48 kHz. */
|
650
|
|
- AgoraAudioSampleRateType48000 = 48000,
|
651
|
|
-};
|
652
|
|
-
|
653
|
|
-/** Audio profile. */
|
654
|
|
-typedef NS_ENUM(NSInteger, AgoraAudioProfile) {
|
655
|
|
- /** Default audio profile. In the communication profile, the default value is 1; in the live-broadcast profile, the default value is 2. */
|
656
|
|
- AgoraAudioProfileDefault = 0,
|
657
|
|
- /** Sampling rate of 32 kHz, audio encoding, mono, and a bitrate of up to 18 Kbps. */
|
658
|
|
- AgoraAudioProfileSpeechStandard = 1,
|
659
|
|
- /** Sampling rate of 48 kHz, music encoding, mono, and a bitrate of up to 48 Kbps. */
|
660
|
|
- AgoraAudioProfileMusicStandard = 2,
|
661
|
|
- /** Sampling rate of 48 kHz, music encoding, stereo, and a bitrate of up to 56 Kbps. */
|
662
|
|
- AgoraAudioProfileMusicStandardStereo = 3,
|
663
|
|
- /** Sampling rate of 48 kHz, music encoding, mono, and a bitrate of up to 128 Kbps. */
|
664
|
|
- AgoraAudioProfileMusicHighQuality = 4,
|
665
|
|
- /** Sampling rate of 48 kHz, music encoding, stereo, and a bitrate of up to 192 Kbps. */
|
666
|
|
- AgoraAudioProfileMusicHighQualityStereo = 5,
|
667
|
|
-};
|
668
|
|
-
|
669
|
|
-/** Audio scenario. */
|
670
|
|
-typedef NS_ENUM(NSInteger, AgoraAudioScenario) {
|
671
|
|
- /** Default. */
|
672
|
|
- AgoraAudioScenarioDefault = 0,
|
673
|
|
- /** Entertainment scenario, supporting voice during gameplay. */
|
674
|
|
- AgoraAudioScenarioChatRoomEntertainment = 1,
|
675
|
|
- /** Education scenario, prioritizing fluency and stability. */
|
676
|
|
- AgoraAudioScenarioEducation = 2,
|
677
|
|
- /** Live gaming scenario, enabling the gaming audio effects in the speaker mode in a live broadcast scenario. Choose this scenario for high-fidelity music playback.*/
|
678
|
|
- AgoraAudioScenarioGameStreaming = 3,
|
679
|
|
- /** Showroom scenario, optimizing the audio quality with external professional equipment. */
|
680
|
|
- AgoraAudioScenarioShowRoom = 4,
|
681
|
|
- /** Gaming scenario. */
|
682
|
|
- AgoraAudioScenarioChatRoomGaming = 5
|
683
|
|
-};
|
684
|
|
-
|
685
|
|
-/** Audio output routing. */
|
686
|
|
-typedef NS_ENUM(NSInteger, AgoraAudioOutputRouting) {
|
687
|
|
- /** Default. */
|
688
|
|
- AgoraAudioOutputRoutingDefault = -1,
|
689
|
|
- /** Headset.*/
|
690
|
|
- AgoraAudioOutputRoutingHeadset = 0,
|
691
|
|
- /** Earpiece. */
|
692
|
|
- AgoraAudioOutputRoutingEarpiece = 1,
|
693
|
|
- /** Headset with no microphone. */
|
694
|
|
- AgoraAudioOutputRoutingHeadsetNoMic = 2,
|
695
|
|
- /** Speakerphone. */
|
696
|
|
- AgoraAudioOutputRoutingSpeakerphone = 3,
|
697
|
|
- /** Loudspeaker. */
|
698
|
|
- AgoraAudioOutputRoutingLoudspeaker = 4,
|
699
|
|
- /** Bluetooth headset. */
|
700
|
|
- AgoraAudioOutputRoutingHeadsetBluetooth = 5
|
701
|
|
-};
|
702
|
|
-
|
703
|
|
-/** Use mode of the onRecordAudioFrame callback. */
|
704
|
|
-typedef NS_ENUM(NSInteger, AgoraAudioRawFrameOperationMode) {
|
705
|
|
- /** Read-only mode: Users only read the AudioFrame data without modifying anything. For example, when users acquire data with the Agora SDK then push the RTMP streams. */
|
706
|
|
- AgoraAudioRawFrameOperationModeReadOnly = 0,
|
707
|
|
- /** Write-only mode: Users replace the AudioFrame data with their own data and pass them to the SDK for encoding. For example, when users acquire data. */
|
708
|
|
- AgoraAudioRawFrameOperationModeWriteOnly = 1,
|
709
|
|
- /** Read and write mode: Users read the data from AudioFrame, modify it, and then play it. For example, when users have their own sound-effect processing module and perform some voice pre-processing such as a voice change. */
|
710
|
|
- AgoraAudioRawFrameOperationModeReadWrite = 2,
|
711
|
|
-};
|
712
|
|
-
|
713
|
|
-/** Audio equalization band frequency. */
|
714
|
|
-typedef NS_ENUM(NSInteger, AgoraAudioEqualizationBandFrequency) {
|
715
|
|
- /** 31 Hz. */
|
716
|
|
- AgoraAudioEqualizationBand31 = 0,
|
717
|
|
- /** 62 Hz. */
|
718
|
|
- AgoraAudioEqualizationBand62 = 1,
|
719
|
|
- /** 125 Hz. */
|
720
|
|
- AgoraAudioEqualizationBand125 = 2,
|
721
|
|
- /** 250 Hz. */
|
722
|
|
- AgoraAudioEqualizationBand250 = 3,
|
723
|
|
- /** 500 Hz */
|
724
|
|
- AgoraAudioEqualizationBand500 = 4,
|
725
|
|
- /** 1 kHz. */
|
726
|
|
- AgoraAudioEqualizationBand1K = 5,
|
727
|
|
- /** 2 kHz. */
|
728
|
|
- AgoraAudioEqualizationBand2K = 6,
|
729
|
|
- /** 4 kHz. */
|
730
|
|
- AgoraAudioEqualizationBand4K = 7,
|
731
|
|
- /** 8 kHz. */
|
732
|
|
- AgoraAudioEqualizationBand8K = 8,
|
733
|
|
- /** 16 kHz. */
|
734
|
|
- AgoraAudioEqualizationBand16K = 9,
|
735
|
|
-};
|
736
|
|
-
|
737
|
|
-/** Audio reverberation type. */
|
738
|
|
-typedef NS_ENUM(NSInteger, AgoraAudioReverbType) {
|
739
|
|
- /** The level of the dry signal (dB). The value ranges between -20 and 10. */
|
740
|
|
- AgoraAudioReverbDryLevel = 0,
|
741
|
|
- /** The level of the early reflection signal (wet signal) in dB. The value ranges between -20 and 10. */
|
742
|
|
- AgoraAudioReverbWetLevel = 1,
|
743
|
|
- /** The room size of the reverberation. A larger room size means a stronger reverberation. The value ranges between 0 and 100. */
|
744
|
|
- AgoraAudioReverbRoomSize = 2,
|
745
|
|
- /** The length of the initial delay of the wet signal (ms). The value ranges between 0 and 200. */
|
746
|
|
- AgoraAudioReverbWetDelay = 3,
|
747
|
|
- /** The reverberation strength. The value ranges between 0 and 100. */
|
748
|
|
- AgoraAudioReverbStrength = 4,
|
749
|
|
-};
|
750
|
|
-
|
751
|
|
-/** Audio session restriction. */
|
752
|
|
-typedef NS_OPTIONS(NSUInteger, AgoraAudioSessionOperationRestriction) {
|
753
|
|
- /** No restriction, the SDK has full control of the audio session operations. */
|
754
|
|
- AgoraAudioSessionOperationRestrictionNone = 0,
|
755
|
|
- /** The SDK does not change the audio session category. */
|
756
|
|
- AgoraAudioSessionOperationRestrictionSetCategory = 1,
|
757
|
|
- /** The SDK does not change any setting of the audio session (category, mode, categoryOptions). */
|
758
|
|
- AgoraAudioSessionOperationRestrictionConfigureSession = 1 << 1,
|
759
|
|
- /** The SDK keeps the audio session active when leaving a channel. */
|
760
|
|
- AgoraAudioSessionOperationRestrictionDeactivateSession = 1 << 2,
|
761
|
|
- /** The SDK does not configure the audio session anymore. */
|
762
|
|
- AgoraAudioSessionOperationRestrictionAll = 1 << 7
|
763
|
|
-};
|
764
|
|
-
|
765
|
|
-/** Media device type. */
|
766
|
|
-typedef NS_ENUM(NSInteger, AgoraMediaDeviceType) {
|
767
|
|
- /** Unknown device. */
|
768
|
|
- AgoraMediaDeviceTypeAudioUnknown = -1,
|
769
|
|
- /** Audio recording device. */
|
770
|
|
- AgoraMediaDeviceTypeAudioRecording = 0,
|
771
|
|
- /** Audio playback device. */
|
772
|
|
- AgoraMediaDeviceTypeAudioPlayout = 1,
|
773
|
|
- /** Video render device. */
|
774
|
|
- AgoraMediaDeviceTypeVideoRender = 2,
|
775
|
|
- /** Video capture device. */
|
776
|
|
- AgoraMediaDeviceTypeVideoCapture = 3,
|
777
|
|
-};
|
778
|
|
-
|
779
|
|
-/** Connection states. */
|
780
|
|
-typedef NS_ENUM(NSInteger, AgoraConnectionStateType) {
|
781
|
|
- /** <p>1: The SDK is disconnected from Agora's edge server.</p>
|
782
|
|
- <ul>
|
783
|
|
- <li>This is the initial state before calling the [joinChannelByToken]([AgoraRtcEngineKit joinChannelByToken:channelId:info:uid:joinSuccess:]) method.</li>
|
784
|
|
- <li>The SDK also enters this state when the app calls the [leaveChannel]([AgoraRtcEngineKit leaveChannel:]) method.</li>
|
785
|
|
- </ul>
|
786
|
|
- */
|
787
|
|
- AgoraConnectionStateDisconnected = 1,
|
788
|
|
- /** <p>2: The SDK is connecting to Agora's edge server.</p>
|
789
|
|
- <ul>
|
790
|
|
- <li>When the app calls the [joinChannelByToken]([AgoraRtcEngineKit joinChannelByToken:channelId:info:uid:joinSuccess:]) method, the SDK starts to establish a connection to the specified channel, triggers the [connectionChangedToState]([AgoraRtcEngineDelegate rtcEngine:connectionChangedToState:reason:]) callback, and switches to the `AgoraConnectionStateConnecting` state.</li>
|
791
|
|
- <li>When the SDK successfully joins the channel, the SDK triggers the [connectionChangedToState]([AgoraRtcEngineDelegate rtcEngine:connectionChangedToState:reason:]) callback and switches to the `AgoraConnectionStateConnected` state.</li>
|
792
|
|
- <li>After the SDK joins the channel and when it finishes initializing the media engine, the SDK triggers the [didJoinChannel]([AgoraRtcEngineDelegate rtcEngine:didJoinChannel:withUid:elapsed:]) callback.</li>
|
793
|
|
- </ul>
|
794
|
|
-*/
|
795
|
|
- AgoraConnectionStateConnecting = 2,
|
796
|
|
- /** <p>3: The SDK is connected to Agora's edge server and joins a channel. You can now publish or subscribe to a media stream in the channel.</p>
|
797
|
|
- <p>If the connection to the channel is lost because, for example, the network is down or switched, the SDK automatically tries to reconnect and triggers:</p>
|
798
|
|
- <ul>
|
799
|
|
- <li>The [rtcEngineConnectionDidInterrupted]([AgoraRtcEngineDelegate rtcEngineConnectionDidInterrupted:])(deprecated) callback.</li>
|
800
|
|
- <li>The [connectionChangedToState]([AgoraRtcEngineDelegate rtcEngine:connectionChangedToState:reason:]) callback, and switches to the `AgoraConnectionStateReconnecting` state.</li>
|
801
|
|
- </ul>
|
802
|
|
- */
|
803
|
|
- AgoraConnectionStateConnected = 3,
|
804
|
|
- /** <p>4: The SDK keeps rejoining the channel after being disconnected from a joined channel because of network issues.</p>
|
805
|
|
- <ul>
|
806
|
|
- <li>If the SDK cannot rejoin the channel within 10 seconds after being disconnected from Agora's edge server, the SDK triggers the [rtcEngineConnectionDidLost]([AgoraRtcEngineDelegate rtcEngineConnectionDidLost:]) callback, stays in the `AgoraConnectionStateReconnecting` state, and keeps rejoining the channel.</li>
|
807
|
|
- <li>If the SDK fails to rejoin the channel 20 minutes after being disconnected from Agora's edge server, the SDK triggers the [connectionChangedToState]([AgoraRtcEngineDelegate rtcEngine:connectionChangedToState:reason:]) callback, switches to the `AgoraConnectionStateFailed` state, and stops rejoining the channel.</li>
|
808
|
|
- </ul>
|
809
|
|
-
|
810
|
|
- */
|
811
|
|
- AgoraConnectionStateReconnecting = 4,
|
812
|
|
- /** <p>5: The SDK fails to connect to Agora's edge server or join the channel.</p>
|
813
|
|
- <p>You must call the [leaveChannel]([AgoraRtcEngineKit leaveChannel:])method to leave this state, and call the [joinChannelByToken]([AgoraRtcEngineKit joinChannelByToken:channelId:info:uid:joinSuccess:]) method again to rejoin the channel.</p>
|
814
|
|
- <p>If the SDK is banned from joining the channel by Agora's edge server (through the RESTful API), the SDK triggers the [rtcEngineConnectionDidBanned]([AgoraRtcEngineDelegate rtcEngineConnectionDidBanned:])(deprecated) and [connectionChangedToState]([AgoraRtcEngineDelegate rtcEngine:connectionChangedToState:reason:]) callbacks.</p>
|
815
|
|
- */
|
816
|
|
- AgoraConnectionStateFailed = 5,
|
817
|
|
-};
|
818
|
|
-
|
819
|
|
-/** Reason for the connection state change. */
|
820
|
|
-typedef NS_ENUM(NSUInteger, AgoraConnectionChangedReason) {
|
821
|
|
- /** 0: The SDK is connecting to Agora's edge server. */
|
822
|
|
- AgoraConnectionChangedConnecting = 0,
|
823
|
|
- /** 1: The SDK has joined the channel successfully. */
|
824
|
|
- AgoraConnectionChangedJoinSuccess = 1,
|
825
|
|
- /** 2: The connection between the SDK and Agora's edge server is interrupted. */
|
826
|
|
- AgoraConnectionChangedInterrupted = 2,
|
827
|
|
- /** 3: The connection between the SDK and Agora's edge server is banned by Agora's edge server. */
|
828
|
|
- AgoraConnectionChangedBannedByServer = 3,
|
829
|
|
- /** 4: The SDK fails to join the channel for more than 20 minutes and stops reconnecting to the channel. */
|
830
|
|
- AgoraConnectionChangedJoinFailed = 4,
|
831
|
|
- /** 5: The SDK has left the channel. */
|
832
|
|
- AgoraConnectionChangedLeaveChannel = 5,
|
833
|
|
-};
|