Agora RTC Objective-C API Reference  Refactor
AgoraObjects.h
Go to the documentation of this file.
1 //
2 // AgoraObjects.h
3 // AgoraRtcEngineKit
4 //
5 // Copyright (c) 2018 Agora. All rights reserved.
6 //
7 
8 #import <CoreMedia/CoreMedia.h>
9 #import <Foundation/Foundation.h>
10 #import "AgoraEnumerates.h"
12 
13 #if TARGET_OS_IPHONE
14 #import <UIKit/UIKit.h>
15 typedef UIView VIEW_CLASS;
16 typedef UIColor COLOR_CLASS;
17 typedef UIImage IMAGE_CLASS;
18 #elif TARGET_OS_MAC
19 #import <AppKit/AppKit.h>
20 typedef NSView VIEW_CLASS;
21 typedef NSColor COLOR_CLASS;
22 typedef NSImage IMAGE_CLASS;
23 #endif
24 
33 typedef int(^AgoraRtcMediaPlayerCustomSourceOnReadCallback)(id<AgoraRtcMediaPlayerProtocol> _Nonnull playerKit, unsigned char * _Nullable buffer, int bufferSize);
34 
48 typedef long long(^AgoraRtcMediaPlayerCustomSourceOnSeekCallback)(id<AgoraRtcMediaPlayerProtocol> _Nonnull playerKit, long long offset, int whence);
49 
50 __attribute__((visibility("default"))) @interface AgoraMediaSource : NSObject
54 @property(copy, nonatomic) NSString *_Nullable url;
58 @property(copy, nonatomic) NSString *_Nullable uri;
62 @property(assign, nonatomic) NSUInteger startPos;
68 @property(assign, nonatomic) BOOL autoPlay;
75 @property(assign, nonatomic) BOOL enableCache;
81 @property(assign, nonatomic) BOOL isAgoraSource;
87 @property(assign, nonatomic) BOOL isLiveSource;
93 
94 @end
95 
96 __attribute__((visibility("default"))) @interface AgoraMediaPlayerCacheStatistics : NSObject
97 
98 @property(assign, nonatomic) NSInteger fileSize;
99 @property(assign, nonatomic) NSInteger cacheSize;
100 @property(assign, nonatomic) NSInteger downloadSize;
101 
102 @end
103 
108 __attribute__((visibility("default"))) @interface AgoraMediaPlayerUpdatedInfo : NSObject
109 @property(copy, nonatomic) NSString *_Nullable playerId;
110 @property(copy, nonatomic) NSString *_Nullable deviceId;
111 @property(strong, nonatomic) AgoraMediaPlayerCacheStatistics *_Nullable cacheStatistics;
112 @end
113 
118 __attribute__((visibility("default"))) @interface AgoraMediaPlayerSrcInfo : NSObject
122 @property(assign, nonatomic) int bitrateInKbps;
126 @property(copy, nonatomic) NSString *_Nullable name;
127 
128 @end
129 
130 
134 __attribute__((visibility("default"))) @interface AgoraDirectCdnStreamingStats : NSObject
138 @property(assign, nonatomic) NSUInteger videoWidth;
142 @property(assign, nonatomic) NSUInteger videoHeight;
146 @property(assign, nonatomic) NSUInteger fps;
150 @property(assign, nonatomic) NSUInteger videoBitrate;
154 @property(assign, nonatomic) NSUInteger audioBitrate;
155 
156 @end
157 
161 __attribute__((visibility("default"))) @interface AgoraDirectCdnStreamingMediaOptions : NSObject
167 @property(assign, nonatomic) BOOL publishCameraTrack;
173 @property(assign, nonatomic) BOOL publishMicrophoneTrack;
179 @property(assign, nonatomic) BOOL publishCustomAudioTrack;
185 @property(assign, nonatomic) BOOL publishCustomVideoTrack;
191 @property(assign, nonatomic) BOOL publishMediaPlayerAudioTrack;
196 @property(assign, nonatomic) NSInteger publishMediaPlayerId;
197 
201 @property(assign, nonatomic) NSInteger customVideoTrackId;
202 
203 @end
204 
208 __attribute__((visibility("default"))) @interface AgoraEncodedVideoTrackOptions : NSObject
214 @property(assign, nonatomic) int ccMode;
225 @property(assign, nonatomic) int codecType;
229 @property(assign, nonatomic) int targetBitrate;
230 @end
231 
235 __attribute__((visibility("default"))) @interface AgoraRtcChannelMediaOptions : NSObject
241 @property(assign, nonatomic) BOOL publishCameraTrack;
247 @property(assign, nonatomic) BOOL publishSecondaryCameraTrack;
253 @property(assign, nonatomic) BOOL publishMicrophoneTrack;
254 #if TARGET_OS_IPHONE
255 
260 @property(assign, nonatomic) BOOL publishScreenCaptureVideo;
266 @property(assign, nonatomic) BOOL publishScreenCaptureAudio;
267 #elif TARGET_OS_MAC
268 
273 @property(assign, nonatomic) BOOL publishScreenTrack;
279 @property(assign, nonatomic) BOOL publishSecondaryScreenTrack;
280 #endif
281 
286 @property(assign, nonatomic) BOOL publishCustomAudioTrack;
290 @property(assign, nonatomic) NSInteger publishCustomAudioSourceId;
296 @property(assign, nonatomic) BOOL publishCustomAudioTrackEnableAec;
302 @property(assign, nonatomic) BOOL publishDirectCustomAudioTrack;
308 @property(assign, nonatomic) BOOL publishCustomAudioTrackAec;
309 
315 @property(assign, nonatomic) BOOL publishCustomVideoTrack;
321 @property(assign, nonatomic) BOOL publishEncodedVideoTrack;
327 @property(assign, nonatomic) BOOL publishMediaPlayerAudioTrack;
333 @property(assign, nonatomic) BOOL publishMediaPlayerVideoTrack;
339 @property(assign, nonatomic) BOOL publishTrancodedVideoTrack;
347 @property(assign, nonatomic) BOOL autoSubscribeAudio;
355 @property(assign, nonatomic) BOOL autoSubscribeVideo;
361 @property(assign, nonatomic) BOOL enableAudioRecordingOrPlayout;
366 @property(assign, nonatomic) NSInteger publishMediaPlayerId;
371 @property(assign, nonatomic) AgoraClientRole clientRoleType;
376 @property(assign, nonatomic) AgoraAudienceLatencyLevelType audienceLatencyLevel;
381 @property(assign, nonatomic) AgoraVideoStreamType defaultVideoStreamType;
386 @property(assign, nonatomic) AgoraChannelProfile channelProfile;
391 @property(assign, nonatomic) NSInteger audioDelayMs;
396 @property(assign, nonatomic) NSInteger mediaPlayerAudioDelayMs;
400 @property(copy, nonatomic) NSString * _Nullable token;
407 @property(assign, nonatomic) BOOL enableBuiltInMediaEncryption;
408 
414 @property(assign, nonatomic) BOOL publishRhythmPlayerTrack;
422 @property(assign, nonatomic) BOOL isInteractiveAudience;
423 
427 @property(assign, nonatomic) NSInteger customVideoTrackId;
428 
434 @property(assign, nonatomic) BOOL isAudioFilterable;
435 
436 @end
437 
440 __attribute__((visibility("default"))) @interface AgoraRtcVideoCanvas : NSObject
449 @property(strong, nonatomic) VIEW_CLASS *_Nullable view;
453 @property(assign, nonatomic) NSUInteger uid;
458 @property(assign, nonatomic) AgoraVideoRenderMode renderMode;
468 @property(assign, nonatomic) AgoraVideoMirrorMode mirrorMode;
473 @property(assign, nonatomic) AgoraVideoViewSetupMode setupMode;
478 @property(nonatomic, assign) AgoraVideoSourceType sourceType;
484 @property(nonatomic, assign) int mediaPlayerId;
490 @property(assign, nonatomic) CGRect cropArea;
491 @end
492 
496 __attribute__((visibility("default"))) @interface AgoraLastmileProbeConfig : NSObject
504 @property (assign, nonatomic) BOOL probeUplink;
510 @property (assign, nonatomic) BOOL probeDownlink;
517 @property (assign, nonatomic) NSUInteger expectedUplinkBitrate;
522 @property (assign, nonatomic) NSUInteger expectedDownlinkBitrate;
523 @end
524 
528 __attribute__((visibility("default"))) @interface AgoraLastmileProbeOneWayResult : NSObject
532 @property (assign, nonatomic) NSUInteger packetLossRate;
536 @property (assign, nonatomic) NSUInteger jitter;
540 @property (assign, nonatomic) NSUInteger availableBandwidth;
541 @end
542 
546 __attribute__((visibility("default"))) @interface AgoraLastmileProbeResult : NSObject
551 @property (assign, nonatomic) AgoraLastmileProbeResultState state;
555 @property (assign, nonatomic) NSUInteger rtt;
561 @property (strong, nonatomic) AgoraLastmileProbeOneWayResult *_Nonnull uplinkReport;
567 @property (strong, nonatomic) AgoraLastmileProbeOneWayResult *_Nonnull downlinkReport;
568 @end
569 
570 
574 __attribute__((visibility("default"))) @interface AgoraRtcLocalVideoStats : NSObject
579 @property(assign, nonatomic) NSUInteger sentBitrate;
584 @property(assign, nonatomic) NSUInteger sentFrameRate;
588 @property(assign, nonatomic) NSUInteger uid;
589 
592 @property(assign, nonatomic) NSInteger captureFrameRate;
595 @property(assign, nonatomic) NSInteger captureFrameWidth;
598 @property(assign, nonatomic) NSInteger captureFrameHeight;
602 @property(assign, nonatomic) NSInteger regulatedCaptureFrameRate;
606 @property(assign, nonatomic) NSInteger regulatedCaptureFrameWidth;
610 @property(assign, nonatomic) NSInteger regulatedCaptureFrameHeight;
611 
614 @property(assign, nonatomic) NSInteger encoderOutputFrameRate;
617 @property(assign, nonatomic) NSInteger rendererOutputFrameRate;
620 @property(assign, nonatomic) NSInteger targetFrameRate;
622 @property(assign, nonatomic) AgoraVideoQualityAdaptIndication qualityAdaptIndication;
627 @property(assign, nonatomic) NSInteger targetBitrate;
632 @property(assign, nonatomic) NSInteger encodedBitrate;
636 @property(assign, nonatomic) NSInteger encodedFrameWidth;
640 @property(assign, nonatomic) NSInteger encodedFrameHeight;
644 @property(assign, nonatomic) NSInteger encodedFrameCount;
650 @property(assign, nonatomic) AgoraVideoCodecType codecType;
656 @property(assign, nonatomic) AgoraVideoHwEncoderAccelerating hwEncoderAccelerating;
660 @property(assign, nonatomic) NSInteger txPacketLossRate;
664 @property(assign, nonatomic) AgoraCaptureBrightnessLevelType captureBrightnessLevel NS_SWIFT_NAME(captureBrightnessLevel);
668 @property(assign, nonatomic) BOOL dualStreamEnabled;
669 @end
670 
672 __attribute__((visibility("default"))) @interface AgoraRtcRemoteVideoStats : NSObject
676 @property(assign, nonatomic) NSUInteger uid;
679 @property(assign, nonatomic) NSUInteger delay __deprecated;
682 @property(assign, nonatomic) NSUInteger width;
685 @property(assign, nonatomic) NSUInteger height;
688 @property(assign, nonatomic) NSUInteger receivedBitrate;
691 @property(assign, nonatomic) NSUInteger receivedFrameRate;
694 @property(assign, nonatomic) AgoraVideoStreamType rxStreamType;
695 
698 @property(assign, nonatomic) NSInteger decoderOutputFrameRate;
701 @property(assign, nonatomic) NSInteger rendererOutputFrameRate;
704 @property(assign, nonatomic) NSInteger frameLossRate;
707 @property(assign, nonatomic) NSInteger packetLossRate;
713 @property(assign, nonatomic) NSInteger totalFrozenTime;
718 @property(assign, nonatomic) NSUInteger totalActiveTime;
722 @property(assign, nonatomic) NSInteger publishDuration;
726 @property(assign, nonatomic) NSInteger frozenRate;
731 @property(assign, nonatomic) NSInteger avSyncTimeMs;
739 @property(assign, nonatomic) NSInteger mosValue;
740 
741 @end
742 
746 __attribute__((visibility("default"))) @interface AgoraRtcLocalAudioStats : NSObject
750 @property(assign, nonatomic) NSUInteger numChannels;
754 @property(assign, nonatomic) NSUInteger sentSampleRate;
758 @property(assign, nonatomic) NSUInteger sentBitrate;
761 @property(assign, nonatomic) NSUInteger internalCodec;
764 @property(assign, nonatomic) NSUInteger txPacketLossRate;
768 @property(assign, nonatomic) NSUInteger audioDeviceDelay;
769 
770 @end
771 
775 __attribute__((visibility("default"))) @interface AgoraRtcRemoteAudioStats : NSObject
779 @property(assign, nonatomic) NSUInteger uid;
792 @property(assign, nonatomic) NSUInteger quality;
796 @property(assign, nonatomic) NSUInteger networkTransportDelay;
800 @property(assign, nonatomic) NSUInteger jitterBufferDelay;
804 @property(assign, nonatomic) NSUInteger audioLossRate;
808 @property(assign, nonatomic) NSUInteger numChannels;
812 @property(assign, nonatomic) NSUInteger receivedSampleRate;
816 @property(assign, nonatomic) NSUInteger receivedBitrate;
823 @property(assign, nonatomic) NSUInteger totalFrozenTime;
828 @property(assign, nonatomic) NSUInteger totalActiveTime;
832 @property(assign, nonatomic) NSInteger publishDuration;
836 @property(assign, nonatomic) NSUInteger frozenRate;
854 @property(assign, nonatomic) NSUInteger mosValue;
858 @property(assign, nonatomic) AgoraExperienceQuality qoeQuality;
862 @property(assign, nonatomic) AgoraExperiencePoorReason qualityChangedReason;
863 @end
864 
867 __attribute__((visibility("default"))) @interface AgoraRtcAudioVolumeInfo : NSObject
870 @property(assign, nonatomic) NSUInteger uid;
873 @property(assign, nonatomic) NSUInteger volume;
874 
875 @property(assign, nonatomic) NSUInteger vad;
876 
879 @property (assign, nonatomic) double voicePitch;
880 
881 @end
882 
886 __attribute__((visibility("default"))) @interface AgoraChannelStats : NSObject
890 @property(assign, nonatomic) NSUInteger duration;
894 @property(assign, nonatomic) NSUInteger txBytes;
898 @property(assign, nonatomic) NSUInteger rxBytes;
902 @property(assign, nonatomic) NSUInteger txAudioKBitrate;
906 @property(assign, nonatomic) NSUInteger rxAudioKBitrate;
910 @property(assign, nonatomic) NSUInteger txVideoKBitrate;
914 @property(assign, nonatomic) NSUInteger rxVideoKBitrate;
918 @property(assign, nonatomic) NSUInteger txAudioBytes;
922 @property(assign, nonatomic) NSUInteger txVideoBytes;
927 @property(assign, nonatomic) NSUInteger rxAudioBytes;
931 @property(assign, nonatomic) NSUInteger rxVideoBytes;
935 @property(assign, nonatomic) NSUInteger lastmileDelay;
939 @property(assign, nonatomic) NSUInteger userCount;
942 @property(assign, nonatomic) double cpuAppUsage;
945 @property(assign, nonatomic) double cpuTotalUsage;
948 @property(assign, nonatomic) NSInteger gatewayRtt;
952 @property(assign, nonatomic) double memoryAppUsageRatio;
956 @property(assign, nonatomic) double memoryTotalUsageRatio;
960 @property(assign, nonatomic) NSInteger memoryAppUsageInKbytes;
964 @property(assign, nonatomic) NSInteger connectTimeMs;
965 
969 @property(assign, nonatomic) NSUInteger txKBitrate;
973 @property(assign, nonatomic) NSUInteger rxKBitrate;
974 
977 @property(assign, nonatomic) NSInteger firstAudioPacketDuration;
980 @property(assign, nonatomic) NSInteger firstVideoPacketDuration;
983 @property(assign, nonatomic) NSInteger firstVideoKeyFramePacketDuration;
986 @property(assign, nonatomic) NSInteger packetsBeforeFirstKeyFramePacket;
990 @property(assign, nonatomic) NSInteger txPacketLossRate;
994 @property(assign, nonatomic) NSInteger rxPacketLossRate;
995 
996 @end
999 __attribute__((visibility("default"))) @interface AgoraAdvancedVideoOptions : NSObject
1003 @property(assign, nonatomic) AgoraEncodingPreference encodingPreference;
1004 
1006 @property(assign, nonatomic) AgoraCompressionPreference compressionPreference;
1007 
1008 @end
1009 
1012 __attribute__((visibility("default"))) @interface AgoraVideoEncoderConfiguration : NSObject
1041 @property(assign, nonatomic) CGSize dimensions;
1042 
1045 @property(assign, nonatomic) AgoraVideoCodecType codecType;
1046 
1049 @property(assign, nonatomic) AgoraVideoFrameRate frameRate;
1050 
1071 @property(assign, nonatomic) NSInteger bitrate;
1072 
1073 @property(assign, nonatomic) NSInteger minBitrate;
1074 
1077 @property(assign, nonatomic) AgoraVideoOutputOrientationMode orientationMode;
1078 
1081 @property(assign, nonatomic) AgoraVideoMirrorMode mirrorMode;
1082 
1090 @property (assign, nonatomic) AgoraDegradationPreference degradationPreference;
1091 
1093 @property (strong, nonatomic) AgoraAdvancedVideoOptions *_Nullable advancedVideoOptions;
1094 
1105 - (instancetype _Nonnull)initWithSize:(CGSize)size
1106  frameRate:(AgoraVideoFrameRate)frameRate
1107  bitrate:(NSInteger)bitrate
1108  orientationMode:(AgoraVideoOutputOrientationMode)orientationMode
1109  mirrorMode:(AgoraVideoMirrorMode)mirrorMode NS_SWIFT_NAME(init(size:frameRate:bitrate:orientationMode:mirrorMode:));
1110 
1122 - (instancetype _Nonnull)initWithWidth:(NSInteger)width
1123  height:(NSInteger)height
1124  frameRate:(AgoraVideoFrameRate)frameRate
1125  bitrate:(NSInteger)bitrate
1126  orientationMode:(AgoraVideoOutputOrientationMode)orientationMode
1127  mirrorMode:(AgoraVideoMirrorMode)mirrorMode NS_SWIFT_NAME(init(width:height:frameRate:bitrate:orientationMode:mirrorMode:));
1128 @end
1129 
1132 __attribute__((visibility("default"))) @interface AgoraLiveTranscodingUser : NSObject
1135 @property(assign, nonatomic) NSUInteger uid;
1138 @property(assign, nonatomic) CGRect rect;
1144 @property(assign, nonatomic) NSInteger zOrder;
1150 @property(assign, nonatomic) double alpha;
1165 @property(assign, nonatomic) NSInteger audioChannel;
1166 @end
1167 
1170 __attribute__((visibility("default"))) @interface AgoraLiveStreamAdvancedFeature : NSObject
1171 
1177 @property(copy, nonatomic) NSString* _Nullable featureName;
1178 
1184 @property(assign, nonatomic) BOOL opened;
1185 @end
1186 
1189 __attribute__((visibility("default"))) @interface AgoraImage : NSObject
1192 @property(strong, nonatomic) NSURL *_Nonnull url;
1195 @property(assign, nonatomic) CGRect rect;
1199 @property (assign, nonatomic) NSInteger zOrder;
1207 @property(assign, nonatomic) double alpha;
1208 @end
1209 
1212 __attribute__((visibility("default"))) @interface WatermarkOptions : NSObject
1218 @property(assign, nonatomic) BOOL visibleInPreview;
1226 @property(assign, nonatomic) CGRect positionInLandscapeMode;
1234 @property(assign, nonatomic) CGRect positionInPortraitMode;
1235 @end
1236 
1239 __attribute__((visibility("default"))) @interface AgoraLiveTranscoding : NSObject
1253 @property(assign, nonatomic) CGSize size;
1260 @property(assign, nonatomic) NSInteger videoBitrate;
1267 @property(assign, nonatomic) NSInteger videoFramerate;
1273 @property(assign, nonatomic) BOOL lowLatency;
1275 @property(assign, nonatomic) NSInteger videoGop;
1282 @property(assign, nonatomic) AgoraVideoCodecProfileType videoCodecProfile;
1283 
1288 @property(assign, nonatomic) AgoraVideoCodecTypeForStream videoCodecType;
1289 
1292 @property(copy, nonatomic) NSArray<AgoraLiveTranscodingUser*>* _Nullable transcodingUsers;
1293 
1296 @property(copy, nonatomic) NSString* _Nullable transcodingExtraInfo;
1297 
1301 @property(copy, nonatomic) NSArray<AgoraImage*>* _Nullable watermarkArray;
1302 
1306 @property(copy, nonatomic) NSArray<AgoraImage*>* _Nullable backgroundImageArray;
1307 
1317 @property(strong, nonatomic) COLOR_CLASS* _Nullable backgroundColor;
1318 
1321 @property(assign, nonatomic) AgoraAudioSampleRateType audioSampleRate;
1324 @property(assign, nonatomic) NSInteger audioBitrate;
1335 @property(assign, nonatomic) NSInteger audioChannels;
1341 @property(assign, nonatomic) AgoraAudioCodecProfileType audioCodecProfile;
1342 
1347 + (AgoraLiveTranscoding* _Nonnull)defaultTranscoding NS_SWIFT_NAME(default());
1348 
1356 - (int)addUser:(AgoraLiveTranscodingUser* _Nonnull)user NS_SWIFT_NAME(add(_:));
1357 
1365 - (int)removeUser:(NSUInteger)uid NS_SWIFT_NAME(removeUser(_:));
1366 
1376 - (void)setAdvancedFeatures:(NSString* _Nonnull)featureName opened:(BOOL)opened NS_SWIFT_NAME(setAdvancedFeatures(_:opened:));
1377 
1381 - (NSArray<AgoraLiveStreamAdvancedFeature*>* _Nullable)getAdvancedFeatures NS_SWIFT_NAME(getAdvancedFeatures());
1382 
1383 @end
1384 
1387 __attribute__((visibility("default"))) @interface AgoraLiveInjectStreamConfig : NSObject
1391 @property(assign, nonatomic) CGSize size;
1394 @property(assign, nonatomic) NSInteger videoGop;
1397 @property(assign, nonatomic) NSInteger videoFramerate;
1400 @property(assign, nonatomic) NSInteger videoBitrate;
1401 
1404 @property(assign, nonatomic) AgoraAudioSampleRateType audioSampleRate;
1407 @property(assign, nonatomic) NSInteger audioBitrate;
1410 @property(assign, nonatomic) NSInteger audioChannels;
1411 
1416 + (AgoraLiveInjectStreamConfig *_Nonnull)defaultConfig NS_SWIFT_NAME(defaultConfig());
1417 @end
1418 
1419  __deprecated
1420 
1423  __attribute__((visibility("default"))) @interface AgoraRtcVideoCompositingRegion
1424  : NSObject
1427  @property(assign, nonatomic) NSUInteger uid;
1430 @property(assign, nonatomic) CGFloat x;
1433 @property(assign, nonatomic) CGFloat y;
1436 @property(assign, nonatomic) CGFloat width;
1439 @property(assign, nonatomic) CGFloat height;
1442 @property(assign, nonatomic) NSInteger zOrder;
1445 @property(assign, nonatomic) CGFloat alpha;
1448 @property(assign, nonatomic) AgoraVideoRenderMode renderMode;
1449 @end
1450 
1451  __deprecated
1454  __attribute__((visibility("default"))) @interface AgoraRtcVideoCompositingLayout
1455  : NSObject
1458  @property(assign, nonatomic) NSInteger canvasWidth;
1461 @property(assign, nonatomic) NSInteger canvasHeight;
1464 @property(copy, nonatomic) NSString *_Nullable backgroundColor;
1467 @property(copy, nonatomic) NSArray<AgoraRtcVideoCompositingRegion *> *_Nullable regions;
1470 @property(copy, nonatomic) NSString *_Nullable appData;
1471 @end
1472 
1478  __deprecated __attribute__((visibility("default"))) @interface AgoraPublisherConfiguration
1479  : NSObject
1485  @property(assign, nonatomic) BOOL owner;
1486 
1489 @property(assign, nonatomic) NSInteger width;
1492 @property(assign, nonatomic) NSInteger height;
1495 @property(assign, nonatomic) NSInteger framerate;
1498 @property(assign, nonatomic) NSInteger bitrate;
1501 @property(assign, nonatomic) NSInteger audiosamplerate;
1504 @property(assign, nonatomic) NSInteger audiobitrate;
1507 @property(assign, nonatomic) NSInteger audiochannels;
1508 
1515 @property(assign, nonatomic) NSInteger defaultLayout;
1518 @property(assign, nonatomic) AgoraRtmpStreamLifeCycle lifeCycle;
1519 
1522 @property(assign, nonatomic) NSInteger injectStreamWidth;
1523 
1526 @property(assign, nonatomic) NSInteger injectStreamHeight;
1527 
1530 @property(copy, nonatomic) NSString *_Nullable injectStreamUrl;
1531 
1534 @property(copy, nonatomic) NSString *_Nullable publishUrl;
1535 
1539 @property(copy, nonatomic) NSString *_Nullable rawStreamUrl;
1540 
1543 @property(copy, nonatomic) NSString *_Nullable extraInfo;
1544 
1547 - (BOOL)validate NS_SWIFT_NAME(validate());
1548 
1549 - (NSString * _Nullable)toJsonString NS_SWIFT_NAME(toJsonString());
1550 @end
1551 
1552 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
1553 
1556 __attribute__((visibility("default"))) @interface AgoraRtcDeviceInfo : NSObject
1557 @property (assign, nonatomic) int __deprecated index;
1558 
1561 @property(assign, nonatomic) AgoraMediaDeviceType type;
1562 
1565 @property(copy, nonatomic) NSString *_Nullable deviceId;
1566 
1569 @property(copy, nonatomic) NSString *_Nullable deviceName;
1570 @end
1571 #endif
1572 
1575 __attribute__((visibility("default"))) @interface AgoraVideoFrame : NSObject
1588 @property(assign, nonatomic) NSInteger format;
1589 
1593 @property(assign, nonatomic) CMTime time; // Time for this frame.
1594 
1598 @property(assign, nonatomic) int stride DEPRECATED_MSG_ATTRIBUTE("use strideInPixels instead");
1599 
1603 @property(assign, nonatomic) int strideInPixels; // Number of pixels between two consecutive rows.
1604  // Note: in pixel, not byte. Not used for iOS
1605  // textures.
1606 
1609 @property(assign, nonatomic) int height; // Number of rows of pixels. Not used for iOS textures.
1610 
1613 @property(assign, nonatomic) CVPixelBufferRef _Nullable textureBuf;
1614 
1617 @property(strong, nonatomic) IMAGE_CLASS * _Nullable image;
1618 
1621 @property(strong, nonatomic) NSData *_Nullable dataBuf; // Raw data buffer. Not used for iOS textures.
1622 
1625 @property(assign, nonatomic) int cropLeft; // Number of pixels to crop on the left boundary.
1628 @property(assign, nonatomic) int cropTop; // Number of pixels to crop on the top boundary.
1631 @property(assign, nonatomic) int cropRight; // Number of pixels to crop on the right boundary.
1634 @property(assign, nonatomic) int cropBottom; // Number of pixels to crop on the bottom boundary.
1638 @property(assign, nonatomic) int rotation; // 0, 90, 180, 270. See document for rotation calculation.
1639 /* Note
1640  * 1. strideInPixels
1641  * Stride is in pixels, not bytes
1642  * 2. About the frame width and height
1643  * No field is defined for the width. However, it can be deduced by:
1644  * croppedWidth = (strideInPixels - cropLeft - cropRight)
1645  * And
1646  * croppedHeight = (height - cropTop - cropBottom)
1647  * 3. About crop
1648  * _________________________________________________________________.....
1649  * | ^ | ^
1650  * | | | |
1651  * | cropTop | |
1652  * | | | |
1653  * | v | |
1654  * | ________________________________ | |
1655  * | | | | |
1656  * | | | | |
1657  * |<-- cropLeft -->| valid region |<- cropRight ->|
1658  * | | | | height
1659  * | | | |
1660  * | |_____________________________ | | |
1661  * | ^ | |
1662  * | | | |
1663  * | cropBottom | |
1664  * | | | |
1665  * | v | v
1666  * _________________________________________________________________......
1667  * | |
1668  * |<---------------- strideInPixels ----------------------------->|
1669  *
1670  * If your buffer contains garbage data, you can crop them. For example, the frame size is
1671  * 360 x 640, often the buffer stride is 368, that is, there extra 8 pixels on the
1672  * right are for padding, and should be removed. In this case, you can set:
1673  * strideInPixels = 368;
1674  * height = 640;
1675  * cropRight = 8;
1676  * // cropLeft, cropTop, cropBottom are set to a default of 0
1677  */
1678 @end
1679 
1680 __attribute__((visibility("default"))) @interface AgoraLogConfig: NSObject
1692 @property (copy, nonatomic) NSString * _Nullable filePath;
1700 @property (assign, nonatomic) NSInteger fileSizeInKB;
1706 @property (assign, nonatomic) AgoraLogLevel level;
1707 @end
1708 
1712 __attribute__((visibility("default"))) @interface AgoraRtcEngineConfig: NSObject
1713 
1718  @property (copy, nonatomic) NSString * _Nullable appId;
1719 
1723  @property (assign, nonatomic) AgoraChannelProfile channelProfile;
1724 
1728  @property (copy, nonatomic) NSString * _Nullable license;
1729 
1737  @property (assign, nonatomic) AgoraAudioScenario audioScenario;
1747  @property (assign, nonatomic) AgoraAreaCodeType areaCode;
1748  @property (strong, nonatomic) AgoraLogConfig * _Nullable logConfig;
1754  @property (assign, nonatomic) AgoraThreadPriorityType threadPriority;
1755  @property (weak, nonatomic) id<AgoraMediaFilterEventDelegate> _Nullable eventDelegate;
1761  @property (assign, nonatomic) BOOL domainLimit;
1762 @end
1763 
1767 __attribute__((visibility("default"))) @interface AgoraAudioFrame : NSObject
1770 @property(assign, nonatomic) NSInteger samplesPerChannel;
1774 @property(assign, nonatomic) NSInteger bytesPerSample;
1781 @property(assign, nonatomic) NSInteger channels;
1784 @property(assign, nonatomic) NSInteger samplesPerSec;
1789 @property(assign, nonatomic) void* _Nullable buffer;
1797 @property(assign, nonatomic) int64_t renderTimeMs;
1800 @property(assign, nonatomic) NSInteger avSyncType;
1801 @end
1802 
1831 __attribute__((visibility("default"))) @interface AgoraAudioParams : NSObject
1832 
1841 @property (assign, nonatomic) NSInteger sampleRate;
1842 
1843 /* The number of audio channels, which can be set as either of the following values:
1844 
1845  - `1`: Mono (Default)
1846  - `2`: Stereo
1847  */
1848 @property (assign, nonatomic) NSInteger channel;
1849 
1850 /* The use mode of the audio data. See AgoraAudioRawFrameOperationMode.
1851  */
1852 @property (assign, nonatomic) AgoraAudioRawFrameOperationMode mode;
1853 
1857 @property (assign, nonatomic) NSInteger samplesPerCall;
1858 
1859 @end
1860 
1864 __attribute__((visibility("default"))) @interface AgoraEncodedAudioFrameInfo: NSObject
1865  @property (assign, nonatomic) NSInteger samplesPerChannel;
1866  @property (assign, nonatomic) NSInteger channels;
1867  @property (assign, nonatomic) NSInteger samplesPerSec;
1868  @property (assign, nonatomic) AgoraAudioCodecType codecType;
1869 @end
1870 
1874 __attribute__((visibility("default"))) @interface AgoraUplinkNetworkInfo : NSObject
1878 @property(nonatomic, assign) int videoEncoderTargetBitrateBps;
1879 @end
1880 
1884 __attribute__((visibility("default"))) @interface AgoraDownlinkNetworkInfo : NSObject
1888 @property(nonatomic, assign) int lastmileBufferDelayTimeMs;
1892 @property(nonatomic, assign) int bandwidthEstimationBps;
1893 @end
1894 
1898 __attribute__((visibility("default"))) @interface AgoraLeaveChannelOptions : NSObject
1904 @property(nonatomic, assign) BOOL stopAudioMixing;
1905 
1911 @property(nonatomic, assign) BOOL stopAllEffect;
1912 
1918 @property(nonatomic, assign) BOOL stopMicrophoneRecording;
1919 
1920 @end
1921 
1922 __attribute__((visibility("default"))) @interface AgoraOutputVideoFrame : NSObject
1923 
1936 @property (nonatomic, assign) NSInteger type;
1940 @property (nonatomic, assign) int width;
1944 @property (nonatomic, assign) int height;
1948 @property (nonatomic, assign) int yStride;
1952 @property (nonatomic, assign) int uStride;
1956 @property (nonatomic, assign) int vStride;
1960 @property (nonatomic, assign) uint8_t* _Nullable yBuffer;
1964 @property (nonatomic, assign) uint8_t* _Nullable uBuffer;
1968 @property (nonatomic, assign) uint8_t* _Nullable vBuffer;
1972 @property (nonatomic, assign) int rotation;
1979 @property (nonatomic, assign) int64_t renderTimeMs;
1983 @property (nonatomic, assign) int avSyncType;
1984 
1987 @property(assign, nonatomic) CVPixelBufferRef _Nullable pixelBuffer;
1992 @property (nonatomic, assign) uint8_t* _Nullable alphaBuffer;
1993 
1994 @end
1995 
1998 __attribute__((visibility("default"))) @interface AgoraEncryptionConfig: NSObject
1999 
2002  @property (assign, nonatomic) AgoraEncryptionMode encryptionMode;
2003 
2010  @property (copy, nonatomic) NSString * _Nullable encryptionKey;
2011  @property (strong, nonatomic) NSData * _Nullable encryptionKdfSalt;
2012  @end
2013 
2016 __attribute__((visibility("default"))) @interface AgoraUserInfo: NSObject
2017 
2020 @property(assign, nonatomic) NSUInteger uid;
2021 
2024  @property (copy, nonatomic) NSString * _Nullable userAccount;
2025  @end
2026 
2029 __attribute__((visibility("default"))) @interface AgoraClientRoleOptions: NSObject
2030 
2033 @property (assign, nonatomic) AgoraAudienceLatencyLevelType audienceLatencyLevel;
2034 
2035 @end
2036 
2039 __attribute__((visibility("default"))) @interface AgoraCameraCapturerConfiguration: NSObject
2045 #if TARGET_OS_IOS
2046 @property (assign, nonatomic) AgoraCameraDirection cameraDirection;
2047 #endif
2048 
2052 @property(assign, nonatomic) CGSize dimensions;
2053 
2056 @property(assign, nonatomic) int frameRate;
2057 
2062 @property(assign, nonatomic) BOOL followEncodeDimensionRatio;
2063 
2064 @end
2065 
2068 __attribute__((visibility("default"))) @interface AgoraDataStreamConfig: NSObject
2069 
2070 @property (assign, nonatomic) BOOL ordered;
2071 
2072 @property (assign, nonatomic) BOOL syncWithAudio;
2073 @end
2074 
2075 
2078 __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayInfo: NSObject
2081 @property (copy, nonatomic) NSString * _Nullable token;
2084 @property (copy, nonatomic) NSString * _Nullable channelName;
2087 @property (assign, nonatomic) NSUInteger uid;
2092 - (instancetype _Nonnull)initWithToken:(NSString *_Nullable)token NS_SWIFT_NAME(init(token:));
2093 @end
2094 
2097 __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayConfiguration: NSObject
2107 @property (strong, nonatomic, readonly) NSDictionary<NSString *, AgoraChannelMediaRelayInfo *> *_Nullable destinationInfos;
2117 @property (strong, nonatomic) AgoraChannelMediaRelayInfo *_Nonnull sourceInfo;
2136 - (BOOL)setDestinationInfo:(AgoraChannelMediaRelayInfo *_Nonnull)destinationInfo forChannelName:(NSString *_Nonnull)channelName NS_SWIFT_NAME(setDestinationInfo(_:forChannelName:));
2144 - (BOOL)removeDestinationInfoForChannelName:(NSString *_Nonnull)channelName NS_SWIFT_NAME(removeDestinationInfo(forChannelName:));
2145 @end
2146 
2147 
2149 __attribute__((visibility("default"))) @interface AgoraBeautyOptions : NSObject
2150 
2159 @property(nonatomic, assign) AgoraLighteningContrastLevel lighteningContrastLevel;
2160 
2165 @property(nonatomic, assign) float lighteningLevel;
2166 
2171 @property(nonatomic, assign) float smoothnessLevel;
2172 
2177 @property(nonatomic, assign) float rednessLevel;
2178 
2183 @property(nonatomic, assign) float sharpnessLevel;
2184 
2185 @end
2186 
2192 __attribute__((visibility("default"))) @interface AgoraVideoDenoiserOptions : NSObject
2193 
2196 @property(nonatomic, assign) AgoraVideoDenoiserMode mode;
2197 
2200 @property(nonatomic, assign) AgoraVideoDenoiserLevel level;
2201 
2202 @end
2203 
2209 __attribute__((visibility("default"))) @interface AgoraLowlightEnhanceOptions : NSObject
2210 
2212 @property(nonatomic, assign) AgoraLowlightEnhanceMode mode;
2213 
2215 @property(nonatomic, assign) AgoraLowlightEnhanceLevel level;
2216 
2217 @end
2218 
2224 __attribute__((visibility("default"))) @interface AgoraColorEnhanceOptions : NSObject
2225 
2227 @property(nonatomic, assign) float strengthLevel;
2228 
2230 @property(nonatomic, assign) float skinProtectLevel;
2231 
2232 @end
2233 
2234 
2237 __attribute__((visibility("default"))) @interface AgoraVirtualBackgroundSource : NSObject
2238 
2241 @property(nonatomic, assign) AgoraVirtualBackgroundSourceType backgroundSourceType NS_SWIFT_NAME(backgroundSourceType);
2242 
2251 @property(nonatomic, assign) NSUInteger color NS_SWIFT_NAME(color);
2252 
2259 @property(nonatomic, copy) NSString* _Nullable source NS_SWIFT_NAME(source);
2260 
2262 @property(nonatomic, assign) AgoraBlurDegree blurDegree;
2263 
2264 @end
2265 
2268 __attribute__((visibility("default"))) @interface AgoraSegmentationProperty: NSObject
2269 
2270 @property(nonatomic, assign) SegModelType modelType;
2271 
2272 @property(nonatomic, assign) float greenCapacity;
2273 
2274 @end
2275 
2276 
2279 __attribute__((visibility("default"))) @interface AgoraTranscodingVideoStream: NSObject
2283 @property (assign, nonatomic) AgoraMediaSourceType sourceType;
2287 @property (assign, nonatomic) NSUInteger remoteUserUid;
2291 @property (copy, nonatomic) NSString * _Nullable imageUrl;
2295 @property (assign, nonatomic) CGRect rect;
2301 @property (assign, nonatomic) NSInteger zOrder;
2305 @property(assign, nonatomic) double alpha;
2306 
2307 @end
2308 
2311 __attribute__((visibility("default"))) @interface AgoraLocalTranscoderConfiguration: NSObject
2315 @property(copy, nonatomic) NSArray<AgoraTranscodingVideoStream *> *_Nullable videoInputStreams;
2319 @property (strong, nonatomic) AgoraVideoEncoderConfiguration *_Nonnull videoOutputConfiguration;
2320 
2321 @end
2322 
2325 __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters: NSObject
2330 @property (assign, nonatomic) CGSize dimensions;
2335 @property (assign, nonatomic) NSInteger frameRate;
2340 @property (assign, nonatomic) NSInteger bitrate;
2341 
2347 @property(assign, nonatomic) BOOL captureMouseCursor;
2348 
2357 @property(assign, nonatomic) BOOL windowFocus;
2358 
2367 @property(copy, nonatomic) NSArray* _Nullable excludeWindowList;
2368 
2377 @property(assign, nonatomic) BOOL highLighted;
2383 @property(strong, nonatomic) COLOR_CLASS* _Nullable highLightColor;
2387 @property(assign, nonatomic) NSUInteger highLightWidth;
2388 
2389 @end
2390 
2391 __attribute__((visibility("default"))) @interface AgoraScreenVideoParameters : NSObject
2392 
2423 @property(assign, nonatomic) CGSize dimensions;
2436 @property(assign, nonatomic) AgoraVideoFrameRate frameRate;
2490 @property(assign, nonatomic) NSInteger bitrate;
2491 
2494 @property(assign, nonatomic) AgoraVideoContentHint contentHint;
2495 
2496 @end
2497 
2498 __attribute__((visibility("default"))) @interface AgoraScreenAudioParameters : NSObject
2499 
2500 @property(assign, nonatomic) NSInteger captureSignalVolume;
2501 
2502 @end
2503 
2504 __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters2 : NSObject
2508 @property(assign, nonatomic) BOOL captureAudio;
2512 @property(strong, nonatomic) AgoraScreenAudioParameters* _Nonnull audioParams;
2516 @property(assign, nonatomic) BOOL captureVideo;
2520 @property(strong, nonatomic) AgoraScreenVideoParameters* _Nonnull videoParams;
2521 @end
2522 
2526 __attribute__((visibility("default"))) @interface AgoraAudioRecordingConfiguration: NSObject
2531 @property (copy, nonatomic) NSString * _Nullable filePath;
2541 @property (assign, nonatomic) NSUInteger sampleRate;
2545 @property (assign, nonatomic) AgoraAudioFileRecordingType fileRecordOption;
2550 @property (assign, nonatomic) AgoraAudioRecordingQuality quality;
2551 
2557 @property (assign, nonatomic) NSInteger recordingChannel;
2558 
2559 @end
2560 
2563 __attribute__((visibility("default"))) @interface AgoraSimulcastStreamConfig: NSObject
2564 
2568  @property (assign, nonatomic) int kBitrate;
2572  @property (assign, nonatomic) int framerate;
2576  @property (assign, nonatomic) CGSize dimensions;
2577  @end
2578 
2582 __attribute__((visibility("default"))) @interface AgoraRtcMediaStreamInfo : NSObject
2584 @property(nonatomic, assign) NSInteger streamIndex;
2586 @property(nonatomic, assign) AgoraMediaStreamType streamType;
2588 @property(nonatomic, copy) NSString *_Nonnull codecName;
2590 @property(nonatomic, copy) NSString *_Nullable language;
2592 @property(nonatomic, assign) NSInteger videoFrameRate;
2594 @property(nonatomic, assign) NSInteger videoBitRate;
2596 @property(nonatomic, assign) NSInteger videoWidth;
2598 @property(nonatomic, assign) NSInteger videoHeight;
2600 @property(nonatomic, assign) NSInteger audioSampleRate;
2602 @property(nonatomic, assign) NSInteger audioChannels;
2604 @property(nonatomic, assign) NSInteger duration;
2606 @property(nonatomic, assign) NSInteger rotation;
2607 
2608 @end
2609 
2610 __attribute__((visibility("default"))) @interface AgoraAudioSpectrumInfo : NSObject
2611 
2613 @property(nonatomic, assign) NSInteger uid;
2614 @property(nonatomic, strong) NSArray<NSNumber *> * _Nullable audioSpectrumData;
2615 
2616 @end
2617 
2621 __attribute__((visibility("default"))) @interface AgoraAudioEncodedFrameDelegateConfig: NSObject
2625 @property (assign, nonatomic) AgoraAudioEncodedFrameDelegatePosition postionType;
2629 @property (assign, nonatomic) AgoraAudioEncodingType encodingType;
2630 @end
2631 
2632 __attribute__((visibility("default"))) @interface AgoraContentInspectModule: NSObject
2633 @property (assign, nonatomic) AgoraContentInspectType type;
2634 
2635 @property (assign, nonatomic) NSInteger interval;
2636 @end
2637 
2638 __attribute__((visibility("default"))) @interface AgoraContentInspectConfig: NSObject
2639 @property (nonatomic, copy) NSString* _Nullable extraInfo;
2640 @property(copy, nonatomic) NSArray<AgoraContentInspectModule*>* _Nullable modules;
2641 @end
2645 __attribute__((visibility("default"))) @interface AgoraRtcConnection: NSObject <NSCopying>
2646 
2654 - (instancetype _Nonnull)initWithChannelId:(NSString *_Nonnull)channelId localUid:(NSInteger)localUid;
2655 
2656 /* channelId Unique channel name for the AgoraRTC session in the string
2657  * format. The string length must be less than 64 bytes. Supported character
2658  * scopes are:
2659  * - All lowercase English letters: a to z.
2660  * - All uppercase English letters: A to Z.
2661  * - All numeric characters: 0 to 9.
2662  * - The space character.
2663  * - Punctuation characters and other symbols, including: "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", " {", "}", "|", "~", ",".
2664  */
2665 @property (nonatomic, copy) NSString *_Nonnull channelId;
2666 /* uid Local User ID. A 32-bit unsigned integer with a value ranging from 1 to
2667  * (2<sup>32</sup>-1). The `uid` must be unique and not set to 0 . Your app
2668  * must record and maintain the returned `uid` since the SDK does not do so.
2669  */
2670 @property (nonatomic, assign) NSUInteger localUid;
2671 
2672 @end
2676 __attribute__((visibility("default"))) @interface AgoraVideoSubscriptionOptions: NSObject
2677 
2678 /*
2679 * The type of the video stream to subscribe to.
2680 *
2681 * The default value is `VIDEO_STREAM_HIGH`, which means the high-quality
2682 * video stream.
2683 */
2684 @property (nonatomic, assign) AgoraVideoStreamType type;
2685 /*
2686 * Whether to subscribe to encoded video data only:
2687 * - `true`: Subscribe to encoded video data only.
2688 * - `false`: (Default) Subscribe to decoded video data.
2689 */
2690 @property (nonatomic, assign) bool encodedFrameOnly;
2691 
2692 @end
2696 __attribute__((visibility("default"))) @interface AgoraEncodedVideoFrameInfo: NSObject
2697 
2701 @property (assign, nonatomic) AgoraVideoCodecType codecType;
2705 @property (assign, nonatomic) NSInteger width;
2709 @property (assign, nonatomic) NSInteger height;
2716 @property (assign, nonatomic) NSInteger framesPerSecond;
2720 @property (assign, nonatomic) AgoraVideoFrameType frameType;
2724 @property (assign, nonatomic) NSInteger rotation;
2728 @property (assign, nonatomic) NSInteger trackId; // This can be reserved for multiple video tracks, we need to create different ssrc
2729  // and additional payload for later implementation.
2733 @property (assign, nonatomic) NSInteger captureTimeMs;
2737 @property (assign, nonatomic) NSInteger decodeTimeMs;
2741 @property (assign, nonatomic) NSInteger uid;
2745 @property (assign, nonatomic) AgoraVideoStreamType streamType;
2746 @end
2747 
2748 NS_SWIFT_NAME(LogUploadServerInfo) __attribute__((visibility("default"))) @interface LogUploadServerInfo : NSObject
2751 @property(copy, nonatomic) NSString* _Nullable serverDomain;
2754 @property(copy, nonatomic) NSString* _Nullable serverPath;
2757 @property(assign, nonatomic) NSInteger serverPort;
2762 @property(assign, nonatomic) BOOL serverHttps;
2763 @end
2764 
2765 NS_SWIFT_NAME(AdvancedConfigInfo) __attribute__((visibility("default"))) @interface AdvancedConfigInfo : NSObject
2768 @property(strong, nonatomic) LogUploadServerInfo* _Nullable logUploadServer;
2769 @end
2770 
2771 NS_SWIFT_NAME(AgoraLocalAccessPointConfiguration) __attribute__((visibility("default"))) @interface AgoraLocalAccessPointConfiguration : NSObject
2774 @property(copy, nonatomic) NSArray* _Nullable ipList NS_SWIFT_NAME(ipList);
2777 @property(copy, nonatomic) NSArray* _Nullable domainList NS_SWIFT_NAME(domainList);
2781 @property(copy, nonatomic) NSString* _Nullable verifyDomainName NS_SWIFT_NAME(verifyDomainName);
2784 @property(assign, nonatomic) AgoraLocalProxyMode mode NS_SWIFT_NAME(mode);
2787 @property(strong, nonatomic) AdvancedConfigInfo* _Nullable advancedConfig NS_SWIFT_NAME(advancedConfig);
2788 @end
2789 
2794 __attribute__((visibility("default"))) @interface AgoraRhythmPlayerConfig: NSObject
2800 @property (assign, nonatomic) int beatsPerMeasure;
2801 /*
2802  * The range is 60 to 360.
2803  * The default value is 60,
2804  * which means that the rhythm player plays 60 beats in one minute.
2805  */
2806 @property (assign, nonatomic) int beatsPerMinute;
2807 
2808 @end
2809 
2812 NS_SWIFT_NAME(AgoraFacePositionInfo) __attribute__((visibility("default"))) @interface AgoraFacePositionInfo : NSObject
2813 
2816 @property(assign, nonatomic) NSInteger x NS_SWIFT_NAME(x);
2817 
2820 @property(assign, nonatomic) NSInteger y NS_SWIFT_NAME(y);
2821 
2824 @property(assign, nonatomic) NSInteger width NS_SWIFT_NAME(width);
2825 
2828 @property(assign, nonatomic) NSInteger height NS_SWIFT_NAME(height);
2829 
2832 @property(assign, nonatomic) NSInteger distance NS_SWIFT_NAME(distance);
2833 @end
2834 
2837 __attribute__((visibility("default"))) @interface AgoraAdvancedAudioOptions: NSObject
2838 
2839 @property(assign, nonatomic) AgoraAudioProcessChannels audioProcessingChannels;
2840 
2841 @end
2842 
2843 __attribute__((visibility("default"))) @interface AgoraImageTrackOptions : NSObject
2844 @property(copy, nonatomic) NSString *_Nullable imageUrl;
2845 @property(assign, nonatomic) int fps;
2846 @property(assign, nonatomic) AgoraVideoMirrorMode mirrorMode;
2847 @end
2848 
2853 __attribute__((visibility("default"))) @interface AgoraSpatialAudioParams : NSObject
2857 @property(assign, nonatomic) double speaker_azimuth;
2861 @property(assign, nonatomic) double speaker_elevation;
2865 @property(assign, nonatomic) double speaker_distance;
2869 @property(assign, nonatomic) NSInteger speaker_orientation;
2873 @property(assign, nonatomic) BOOL enable_blur;
2877 @property(assign, nonatomic) BOOL enable_air_absorb;
2881 @property(assign, nonatomic) double speaker_attenuation;
2885 @property(assign, nonatomic) BOOL enable_doppler;
2886 @end
2887 
2888 NS_SWIFT_NAME(AgoraEchoTestConfiguration)
2889 __attribute__((visibility("default"))) @interface AgoraEchoTestConfiguration : NSObject
2897 @property(strong, nonatomic) VIEW_CLASS* _Nullable view NS_SWIFT_NAME(view);
2900 @property(assign, nonatomic) BOOL enableAudio NS_SWIFT_NAME(enableAudio);
2903 @property(assign, nonatomic) BOOL enableVideo NS_SWIFT_NAME(enableVideo);
2906 @property(copy, nonatomic) NSString* _Nullable token NS_SWIFT_NAME(token);
2909 @property(copy, nonatomic) NSString* _Nonnull channelId NS_SWIFT_NAME(channelId);
2910 @end
2911 
2915 NS_SWIFT_NAME(AgoraWlAccStats) __attribute__((visibility("default"))) @interface AgoraWlAccStats : NSObject
2919 @property(assign, nonatomic) NSInteger e2eDelayPercent NS_SWIFT_NAME(e2eDelayPercent);
2923 @property(assign, nonatomic) NSInteger frozenRatioPercent NS_SWIFT_NAME(frozenRatioPercent);
2927 @property(assign, nonatomic) NSInteger lossRatePercent NS_SWIFT_NAME(lossRatePercent);
2928 @end
2929 
2930 __attribute__((visibility("default"))) @interface AgoraMediaRecorderInfo : NSObject
2931 
2934 @property(copy, nonatomic) NSString* _Nonnull recorderFileName;
2937 @property(assign, nonatomic) NSUInteger durationMs;
2940 @property(assign, nonatomic) NSUInteger fileSize;
2941 
2942 @end
2943 
2944 __attribute__((visibility("default"))) @interface AgoraMediaRecorderConfiguration : NSObject
2945 
2948 @property(copy, nonatomic) NSString* _Nonnull storagePath;
2951 @property(assign, nonatomic) AgoraMediaRecorderContainerFormat containerFormat;
2954 @property(assign, nonatomic) AgoraMediaRecorderStreamType streamType;
2957 @property(assign, nonatomic) NSUInteger maxDurationMs;
2960 @property(assign, nonatomic) NSUInteger recorderInfoUpdateInterval;
2961 
2962 @end
2963 
2964 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
2965 
2969 __attribute__((visibility("default"))) @interface AgoraScreenCaptureSourceInfo : NSObject
2971 @property(assign, nonatomic) AgoraScreenCaptureSourceType type;
2973 @property(assign, nonatomic) CGWindowID sourceId;
2975 @property(copy, nonatomic) NSString* _Nonnull sourceName;
2977 @property(strong, nonatomic) NSImage* _Nonnull thumbImage;
2979 @property(strong, nonatomic) NSImage* _Nullable iconImage;
2981 @property(copy, nonatomic) NSString* _Nonnull processPath;
2983 @property(copy, nonatomic) NSString* _Nonnull sourceTitle;
2989 @property(assign, nonatomic) BOOL primaryMonitor;
2990 
2991 @end
2992 
2993 #endif
2994 
2995 NS_SWIFT_NAME(AgoraExtensionInfo) __attribute__((visibility("default"))) @interface AgoraExtensionInfo : NSObject
2996 
3000 @property (assign, nonatomic) AgoraMediaSourceType sourceType NS_SWIFT_NAME(sourceType);
3001 
3007 @property (assign, nonatomic) NSUInteger remoteUid NS_SWIFT_NAME(remoteUid);
3008 
3020 @property (copy, nonatomic) NSString *_Nonnull channelId NS_SWIFT_NAME(channelId);
3021 
3025 @property (assign, nonatomic) NSUInteger localUid NS_SWIFT_NAME(localUid);
3026 
3027 @end
3028 
3032 NS_SWIFT_NAME(AgoraVideoRenderingTracingInfo) __attribute__((visibility("default"))) @interface AgoraVideoRenderingTracingInfo : NSObject
3036 @property (assign, nonatomic) NSInteger elapsedTime NS_SWIFT_NAME(elapsedTime);
3043 @property (assign, nonatomic) NSInteger start2JoinChannel NS_SWIFT_NAME(start2JoinChannel);
3047 @property (assign, nonatomic) NSInteger join2JoinSuccess NS_SWIFT_NAME(join2JoinSuccess);
3055 @property (assign, nonatomic) NSInteger joinSuccess2RemoteJoined NS_SWIFT_NAME(joinSuccess2RemoteJoined);
3063 @property (assign, nonatomic) NSInteger remoteJoined2SetView NS_SWIFT_NAME(remoteJoined2SetView);
3072 @property (assign, nonatomic) NSInteger remoteJoined2UnmuteVideo NS_SWIFT_NAME(remoteJoined2UnmuteVideo);
3081 @property (assign, nonatomic) NSInteger remoteJoined2PacketReceived NS_SWIFT_NAME(remoteJoined2PacketReceived);
3082 
3083 @end
3084 
AgoraMediaSource
Definition: AgoraObjects.h:51
AgoraLowlightEnhanceLevel
AgoraLowlightEnhanceLevel
Definition: AgoraEnumerates.h:1863
AgoraFacePositionInfo
Definition: AgoraObjects.h:2813
AgoraRtcMediaPlayerCustomSourceOnReadCallback
int(^ AgoraRtcMediaPlayerCustomSourceOnReadCallback)(id< AgoraRtcMediaPlayerProtocol > _Nonnull playerKit, unsigned char *_Nullable buffer, int bufferSize)
The player requests to read the data callback, you need to fill the specified length of data into the...
Definition: AgoraObjects.h:33
AgoraLocalProxyMode
AgoraLocalProxyMode
Definition: AgoraEnumerates.h:2913
AgoraMediaSource::isLiveSource
BOOL isLiveSource
Definition: AgoraObjects.h:87
AgoraDirectCdnStreamingStats
Definition: AgoraObjects.h:135
AgoraDegradationPreference
AgoraDegradationPreference
Definition: AgoraEnumerates.h:1775
AgoraCameraDirection
AgoraCameraDirection
Definition: AgoraEnumerates.h:2235
AgoraMediaSource::playerOnReadCallback
AgoraRtcMediaPlayerCustomSourceOnReadCallback _Nonnull playerOnReadCallback
Definition: AgoraObjects.h:91
AgoraMediaSource::startPos
NSUInteger startPos
Definition: AgoraObjects.h:62
AgoraEncodedVideoTrackOptions
Definition: AgoraObjects.h:209
AgoraVideoRenderingTracingInfo
Definition: AgoraObjects.h:3033
AgoraScreenAudioParameters
Definition: AgoraObjects.h:2499
AgoraRtcChannelMediaOptions
Definition: AgoraObjects.h:236
AgoraMediaFilterEventDelegate.h
AgoraAudioScenario
AgoraAudioScenario
Definition: AgoraEnumerates.h:1232
AgoraRhythmPlayerConfig
Definition: AgoraObjects.h:2795
AgoraBeautyOptions
Definition: AgoraObjects.h:2150
AgoraVideoSubscriptionOptions
Definition: AgoraObjects.h:2677
AgoraOutputVideoFrame
Definition: AgoraObjects.h:1923
AgoraClientRole
AgoraClientRole
Definition: AgoraEnumerates.h:511
AgoraScreenCaptureParameters2
Definition: AgoraObjects.h:2505
AgoraExperiencePoorReason
AgoraExperiencePoorReason
Definition: AgoraEnumerates.h:753
AgoraMediaSource::uri
NSString *_Nullable uri
Definition: AgoraObjects.h:58
AgoraVideoDenoiserMode
AgoraVideoDenoiserMode
Definition: AgoraEnumerates.h:1827
AgoraContentInspectModule
Definition: AgoraObjects.h:2633
AgoraMediaPlayerSrcInfo
The information of the media stream object.
Definition: AgoraObjects.h:119
AdvancedConfigInfo
Definition: AgoraObjects.h:2766
AgoraMediaSource::url
NSString *_Nullable url
Definition: AgoraObjects.h:54
AgoraLighteningContrastLevel
AgoraLighteningContrastLevel
Definition: AgoraEnumerates.h:1814
AgoraEnumerates.h
AgoraVideoFrame
Definition: AgoraObjects.h:1576
AgoraSimulcastStreamConfig
Definition: AgoraObjects.h:2564
AgoraRtcConnection::channelId
NSString *_Nonnull channelId
Definition: AgoraObjects.h:2665
AgoraScreenCaptureParameters
Definition: AgoraObjects.h:2326
AgoraAudioRawFrameOperationMode
AgoraAudioRawFrameOperationMode
Definition: AgoraEnumerates.h:1304
AgoraMediaRecorderInfo
Definition: AgoraObjects.h:2931
AgoraSegmentationProperty
Definition: AgoraObjects.h:2269
AgoraVideoDenoiserLevel
AgoraVideoDenoiserLevel
Definition: AgoraEnumerates.h:1838
AgoraRtcRemoteVideoStats
Definition: AgoraObjects.h:673
AgoraVideoViewSetupMode
AgoraVideoViewSetupMode
Definition: AgoraEnumerates.h:2945
AgoraMediaSource::autoPlay
BOOL autoPlay
Definition: AgoraObjects.h:68
AgoraContentInspectConfig
Definition: AgoraObjects.h:2639
AgoraAudioEncodedFrameDelegateConfig
Definition: AgoraObjects.h:2622
AgoraTranscodingVideoStream
Definition: AgoraObjects.h:2280
AgoraDirectCdnStreamingMediaOptions
Definition: AgoraObjects.h:162
AgoraAudioCodecType
AgoraAudioCodecType
Definition: AgoraEnumerates.h:677
AgoraAudioEncodedFrameDelegatePosition
AgoraAudioEncodedFrameDelegatePosition
Definition: AgoraEnumerates.h:667
AgoraRtcMediaPlayerProtocol-p
Definition: AgoraRtcMediaPlayerProtocol.h:23
AgoraRtcConnection::localUid
NSUInteger localUid
Definition: AgoraObjects.h:2670
AgoraVideoDenoiserOptions
Definition: AgoraObjects.h:2193
AgoraLastmileProbeConfig
Definition: AgoraObjects.h:497
AgoraAudienceLatencyLevelType
AgoraAudienceLatencyLevelType
Definition: AgoraEnumerates.h:519
AgoraLastmileProbeResultState
AgoraLastmileProbeResultState
Definition: AgoraEnumerates.h:775
AgoraWlAccStats
Definition: AgoraObjects.h:2916
AgoraRtcMediaStreamInfo
Definition: AgoraObjects.h:2583
AgoraChannelMediaRelayInfo
Definition: AgoraObjects.h:2079
WatermarkOptions
Definition: AgoraObjects.h:1213
AgoraVideoSourceType
AgoraVideoSourceType
Definition: AgoraEnumerates.h:2448
AgoraAudioFrame
Definition: AgoraObjects.h:1768
AgoraMediaRecorderStreamType
AgoraMediaRecorderStreamType
Definition: AgoraEnumerates.h:3030
AgoraAudioEncodingType
AgoraAudioEncodingType
Definition: AgoraEnumerates.h:684
AgoraMediaSource::enableCache
BOOL enableCache
Definition: AgoraObjects.h:75
AgoraAreaCodeType
AgoraAreaCodeType
Definition: AgoraEnumerates.h:2113
VIEW_CLASS
UIView VIEW_CLASS
Definition: AgoraObjects.h:15
AgoraChannelProfile
AgoraChannelProfile
Definition: AgoraEnumerates.h:477
COLOR_CLASS
UIColor COLOR_CLASS
Definition: AgoraObjects.h:16
AgoraBlurDegree
AgoraBlurDegree
Definition: AgoraEnumerates.h:1883
AgoraAudioSpectrumInfo
Definition: AgoraObjects.h:2611
AgoraLeaveChannelOptions
Definition: AgoraObjects.h:1899
AgoraDataStreamConfig
Definition: AgoraObjects.h:2069
AgoraLowlightEnhanceMode
AgoraLowlightEnhanceMode
Definition: AgoraEnumerates.h:1852
AgoraRtcRemoteAudioStats
Definition: AgoraObjects.h:776
AgoraUserInfo
Definition: AgoraObjects.h:2017
AgoraRtcEngineConfig
Definition: AgoraObjects.h:1713
AgoraMediaStreamType
AgoraMediaStreamType
Definition: AgoraEnumerates.h:2519
AgoraImageTrackOptions
Definition: AgoraObjects.h:2844
AgoraVideoRenderMode
AgoraVideoRenderMode
Definition: AgoraEnumerates.h:815
AgoraLastmileProbeOneWayResult
Definition: AgoraObjects.h:529
AgoraVideoQualityAdaptIndication
AgoraVideoQualityAdaptIndication
Definition: AgoraEnumerates.h:805
AgoraContentInspectType
AgoraContentInspectType
Definition: AgoraEnumerates.h:2838
AgoraEncryptionConfig
Definition: AgoraObjects.h:1999
AgoraEncodedVideoFrameInfo
Definition: AgoraObjects.h:2697
AgoraRtcMediaPlayerCustomSourceOnSeekCallback
long long(^ AgoraRtcMediaPlayerCustomSourceOnSeekCallback)(id< AgoraRtcMediaPlayerProtocol > _Nonnull playerKit, long long offset, int whence)
The Player seek event callback, you need to operate the corresponding stream seek operation,...
Definition: AgoraObjects.h:48
AgoraChannelMediaRelayConfiguration
Definition: AgoraObjects.h:2098
AgoraVideoStreamType
AgoraVideoStreamType
Definition: AgoraEnumerates.h:797
AgoraVideoCodecTypeForStream
AgoraVideoCodecTypeForStream
Definition: AgoraEnumerates.h:424
AgoraEchoTestConfiguration
Definition: AgoraObjects.h:2890
AgoraAdvancedAudioOptions
Definition: AgoraObjects.h:2838
AgoraRtcAudioVolumeInfo
Definition: AgoraObjects.h:868
AgoraVideoHwEncoderAccelerating
AgoraVideoHwEncoderAccelerating
Definition: AgoraEnumerates.h:408
AgoraMediaPlayerCacheStatistics
Definition: AgoraObjects.h:97
AgoraAudioProcessChannels
AgoraAudioProcessChannels
Definition: AgoraEnumerates.h:2951
AgoraLocalAccessPointConfiguration
Definition: AgoraObjects.h:2772
AgoraEncodingPreference
AgoraEncodingPreference
Definition: AgoraEnumerates.h:1787
AgoraThreadPriorityType
AgoraThreadPriorityType
Definition: AgoraEnumerates.h:2811
AgoraScreenVideoParameters
Definition: AgoraObjects.h:2392
AgoraVirtualBackgroundSource
Definition: AgoraObjects.h:2238
AgoraLiveStreamAdvancedFeature
Definition: AgoraObjects.h:1171
AgoraRtcConnection
Definition: AgoraObjects.h:2645
AgoraLowlightEnhanceOptions
Definition: AgoraObjects.h:2210
AgoraExperienceQuality
AgoraExperienceQuality
Definition: AgoraEnumerates.h:742
__deprecated
#define __deprecated
Definition: AgoraBase.h:63
AgoraAudioCodecProfileType
AgoraAudioCodecProfileType
Definition: AgoraEnumerates.h:1054
AgoraVideoContentHint
AgoraVideoContentHint
Definition: AgoraEnumerates.h:2800
AgoraMediaSource::isAgoraSource
BOOL isAgoraSource
Definition: AgoraObjects.h:81
AgoraLocalTranscoderConfiguration
Definition: AgoraObjects.h:2312
AgoraRtcVideoCanvas
Definition: AgoraObjects.h:441
AgoraEncodedAudioFrameInfo
Definition: AgoraObjects.h:1865
AgoraVirtualBackgroundSourceType
AgoraVirtualBackgroundSourceType
Definition: AgoraEnumerates.h:1873
SegModelType
SegModelType
Definition: AgoraEnumerates.h:1892
AgoraMediaSource::playerOnSeekCallback
AgoraRtcMediaPlayerCustomSourceOnSeekCallback _Nonnull playerOnSeekCallback
Definition: AgoraObjects.h:92
AgoraAudioRecordingConfiguration
Definition: AgoraObjects.h:2527
LogUploadServerInfo
Definition: AgoraObjects.h:2749
AgoraVideoFrameType
AgoraVideoFrameType
Definition: AgoraEnumerates.h:1694
AgoraColorEnhanceOptions
Definition: AgoraObjects.h:2225
AgoraMediaRecorderConfiguration
Definition: AgoraObjects.h:2945
AgoraMediaRecorderContainerFormat
AgoraMediaRecorderContainerFormat
Definition: AgoraEnumerates.h:3039
AgoraLogConfig
Definition: AgoraObjects.h:1681
AgoraClientRoleOptions
Definition: AgoraObjects.h:2030
AgoraMediaSourceType
AgoraMediaSourceType
Definition: AgoraEnumerates.h:2386
AgoraAudioFileRecordingType
AgoraAudioFileRecordingType
Definition: AgoraEnumerates.h:657
AgoraRtcLocalAudioStats
Definition: AgoraObjects.h:747
AgoraCameraCapturerConfiguration
Definition: AgoraObjects.h:2040
AgoraCompressionPreference
AgoraCompressionPreference
Definition: AgoraEnumerates.h:1803
IMAGE_CLASS
UIImage IMAGE_CLASS
Definition: AgoraObjects.h:17
AgoraAdvancedVideoOptions
Definition: AgoraObjects.h:1000
AgoraExtensionInfo
Definition: AgoraObjects.h:2996
AgoraMediaPlayerUpdatedInfo
player_id and device_id has value when user trigger interface of opening.
Definition: AgoraObjects.h:109
AgoraLogLevel
AgoraLogLevel
Definition: AgoraEnumerates.h:2088
AgoraScreenCaptureSourceType
AgoraScreenCaptureSourceType
Definition: AgoraEnumerates.h:3048
AgoraLastmileProbeResult
Definition: AgoraObjects.h:547
AgoraChannelStats
Definition: AgoraObjects.h:887
AgoraCaptureBrightnessLevelType
AgoraCaptureBrightnessLevelType
Definition: AgoraEnumerates.h:527