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;
735 @property(assign, nonatomic) NSInteger superResolutionType;
743 @property(assign, nonatomic) NSInteger mosValue;
744 
745 @end
746 
750 __attribute__((visibility("default"))) @interface AgoraRtcLocalAudioStats : NSObject
754 @property(assign, nonatomic) NSUInteger numChannels;
758 @property(assign, nonatomic) NSUInteger sentSampleRate;
762 @property(assign, nonatomic) NSUInteger sentBitrate;
765 @property(assign, nonatomic) NSUInteger internalCodec;
768 @property(assign, nonatomic) NSUInteger txPacketLossRate;
772 @property(assign, nonatomic) NSUInteger audioDeviceDelay;
773 
774 @end
775 
779 __attribute__((visibility("default"))) @interface AgoraRtcRemoteAudioStats : NSObject
783 @property(assign, nonatomic) NSUInteger uid;
796 @property(assign, nonatomic) NSUInteger quality;
800 @property(assign, nonatomic) NSUInteger networkTransportDelay;
804 @property(assign, nonatomic) NSUInteger jitterBufferDelay;
808 @property(assign, nonatomic) NSUInteger audioLossRate;
812 @property(assign, nonatomic) NSUInteger numChannels;
816 @property(assign, nonatomic) NSUInteger receivedSampleRate;
820 @property(assign, nonatomic) NSUInteger receivedBitrate;
827 @property(assign, nonatomic) NSUInteger totalFrozenTime;
832 @property(assign, nonatomic) NSUInteger totalActiveTime;
836 @property(assign, nonatomic) NSInteger publishDuration;
840 @property(assign, nonatomic) NSUInteger frozenRate;
858 @property(assign, nonatomic) NSUInteger mosValue;
862 @property(assign, nonatomic) AgoraExperienceQuality qoeQuality;
866 @property(assign, nonatomic) AgoraExperiencePoorReason qualityChangedReason;
867 @end
868 
871 __attribute__((visibility("default"))) @interface AgoraRtcAudioVolumeInfo : NSObject
874 @property(assign, nonatomic) NSUInteger uid;
877 @property(assign, nonatomic) NSUInteger volume;
878 
879 @property(assign, nonatomic) NSUInteger vad;
880 
883 @property (assign, nonatomic) double voicePitch;
884 
885 @end
886 
890 __attribute__((visibility("default"))) @interface AgoraChannelStats : NSObject
894 @property(assign, nonatomic) NSUInteger duration;
898 @property(assign, nonatomic) NSUInteger txBytes;
902 @property(assign, nonatomic) NSUInteger rxBytes;
906 @property(assign, nonatomic) NSUInteger txAudioKBitrate;
910 @property(assign, nonatomic) NSUInteger rxAudioKBitrate;
914 @property(assign, nonatomic) NSUInteger txVideoKBitrate;
918 @property(assign, nonatomic) NSUInteger rxVideoKBitrate;
922 @property(assign, nonatomic) NSUInteger txAudioBytes;
926 @property(assign, nonatomic) NSUInteger txVideoBytes;
931 @property(assign, nonatomic) NSUInteger rxAudioBytes;
935 @property(assign, nonatomic) NSUInteger rxVideoBytes;
939 @property(assign, nonatomic) NSUInteger lastmileDelay;
943 @property(assign, nonatomic) NSUInteger userCount;
946 @property(assign, nonatomic) double cpuAppUsage;
949 @property(assign, nonatomic) double cpuTotalUsage;
952 @property(assign, nonatomic) NSInteger gatewayRtt;
956 @property(assign, nonatomic) double memoryAppUsageRatio;
960 @property(assign, nonatomic) double memoryTotalUsageRatio;
964 @property(assign, nonatomic) NSInteger memoryAppUsageInKbytes;
968 @property(assign, nonatomic) NSInteger connectTimeMs;
969 
973 @property(assign, nonatomic) NSUInteger txKBitrate;
977 @property(assign, nonatomic) NSUInteger rxKBitrate;
978 
981 @property(assign, nonatomic) NSInteger firstAudioPacketDuration;
984 @property(assign, nonatomic) NSInteger firstVideoPacketDuration;
987 @property(assign, nonatomic) NSInteger firstVideoKeyFramePacketDuration;
990 @property(assign, nonatomic) NSInteger packetsBeforeFirstKeyFramePacket;
994 @property(assign, nonatomic) NSInteger txPacketLossRate;
998 @property(assign, nonatomic) NSInteger rxPacketLossRate;
999 
1000 @end
1003 __attribute__((visibility("default"))) @interface AgoraAdvancedVideoOptions : NSObject
1007 @property(assign, nonatomic) AgoraEncodingPreference encodingPreference;
1008 
1010 @property(assign, nonatomic) AgoraCompressionPreference compressionPreference;
1011 
1012 @end
1013 
1016 __attribute__((visibility("default"))) @interface AgoraVideoEncoderConfiguration : NSObject
1044 @property(assign, nonatomic) CGSize dimensions;
1045 
1048 @property(assign, nonatomic) AgoraVideoCodecType codecType;
1049 
1052 @property(assign, nonatomic) AgoraVideoFrameRate frameRate;
1053 
1074 @property(assign, nonatomic) NSInteger bitrate;
1075 
1076 @property(assign, nonatomic) NSInteger minBitrate;
1077 
1080 @property(assign, nonatomic) AgoraVideoOutputOrientationMode orientationMode;
1081 
1084 @property(assign, nonatomic) AgoraVideoMirrorMode mirrorMode;
1085 
1093 @property (assign, nonatomic) AgoraDegradationPreference degradationPreference;
1094 
1096 @property (strong, nonatomic) AgoraAdvancedVideoOptions *_Nullable advancedVideoOptions;
1097 
1108 - (instancetype _Nonnull)initWithSize:(CGSize)size
1109  frameRate:(AgoraVideoFrameRate)frameRate
1110  bitrate:(NSInteger)bitrate
1111  orientationMode:(AgoraVideoOutputOrientationMode)orientationMode
1112  mirrorMode:(AgoraVideoMirrorMode)mirrorMode NS_SWIFT_NAME(init(size:frameRate:bitrate:orientationMode:mirrorMode:));
1113 
1125 - (instancetype _Nonnull)initWithWidth:(NSInteger)width
1126  height:(NSInteger)height
1127  frameRate:(AgoraVideoFrameRate)frameRate
1128  bitrate:(NSInteger)bitrate
1129  orientationMode:(AgoraVideoOutputOrientationMode)orientationMode
1130  mirrorMode:(AgoraVideoMirrorMode)mirrorMode NS_SWIFT_NAME(init(width:height:frameRate:bitrate:orientationMode:mirrorMode:));
1131 @end
1132 
1135 __attribute__((visibility("default"))) @interface AgoraLiveTranscodingUser : NSObject
1138 @property(assign, nonatomic) NSUInteger uid;
1141 @property(assign, nonatomic) CGRect rect;
1147 @property(assign, nonatomic) NSInteger zOrder;
1153 @property(assign, nonatomic) double alpha;
1168 @property(assign, nonatomic) NSInteger audioChannel;
1169 @end
1170 
1173 __attribute__((visibility("default"))) @interface AgoraLiveStreamAdvancedFeature : NSObject
1174 
1180 @property(copy, nonatomic) NSString* _Nullable featureName;
1181 
1187 @property(assign, nonatomic) BOOL opened;
1188 @end
1189 
1192 __attribute__((visibility("default"))) @interface AgoraImage : NSObject
1195 @property(strong, nonatomic) NSURL *_Nonnull url;
1198 @property(assign, nonatomic) CGRect rect;
1202 @property (assign, nonatomic) NSInteger zOrder;
1210 @property(assign, nonatomic) double alpha;
1211 @end
1212 
1215 __attribute__((visibility("default"))) @interface WatermarkOptions : NSObject
1221 @property(assign, nonatomic) BOOL visibleInPreview;
1229 @property(assign, nonatomic) CGRect positionInLandscapeMode;
1237 @property(assign, nonatomic) CGRect positionInPortraitMode;
1238 @end
1239 
1242 __attribute__((visibility("default"))) @interface AgoraLiveTranscoding : NSObject
1256 @property(assign, nonatomic) CGSize size;
1263 @property(assign, nonatomic) NSInteger videoBitrate;
1270 @property(assign, nonatomic) NSInteger videoFramerate;
1276 @property(assign, nonatomic) BOOL lowLatency;
1278 @property(assign, nonatomic) NSInteger videoGop;
1285 @property(assign, nonatomic) AgoraVideoCodecProfileType videoCodecProfile;
1286 
1291 @property(assign, nonatomic) AgoraVideoCodecTypeForStream videoCodecType;
1292 
1295 @property(copy, nonatomic) NSArray<AgoraLiveTranscodingUser*>* _Nullable transcodingUsers;
1296 
1299 @property(copy, nonatomic) NSString* _Nullable transcodingExtraInfo;
1300 
1304 @property(copy, nonatomic) NSArray<AgoraImage*>* _Nullable watermarkArray;
1305 
1309 @property(copy, nonatomic) NSArray<AgoraImage*>* _Nullable backgroundImageArray;
1310 
1320 @property(strong, nonatomic) COLOR_CLASS* _Nullable backgroundColor;
1321 
1324 @property(assign, nonatomic) AgoraAudioSampleRateType audioSampleRate;
1327 @property(assign, nonatomic) NSInteger audioBitrate;
1338 @property(assign, nonatomic) NSInteger audioChannels;
1344 @property(assign, nonatomic) AgoraAudioCodecProfileType audioCodecProfile;
1345 
1350 + (AgoraLiveTranscoding* _Nonnull)defaultTranscoding NS_SWIFT_NAME(default());
1351 
1359 - (int)addUser:(AgoraLiveTranscodingUser* _Nonnull)user NS_SWIFT_NAME(add(_:));
1360 
1368 - (int)removeUser:(NSUInteger)uid NS_SWIFT_NAME(removeUser(_:));
1369 
1379 - (void)setAdvancedFeatures:(NSString* _Nonnull)featureName opened:(BOOL)opened NS_SWIFT_NAME(setAdvancedFeatures(_:opened:));
1380 
1384 - (NSArray<AgoraLiveStreamAdvancedFeature*>* _Nullable)getAdvancedFeatures NS_SWIFT_NAME(getAdvancedFeatures());
1385 
1386 @end
1387 
1390 __attribute__((visibility("default"))) @interface AgoraLiveInjectStreamConfig : NSObject
1394 @property(assign, nonatomic) CGSize size;
1397 @property(assign, nonatomic) NSInteger videoGop;
1400 @property(assign, nonatomic) NSInteger videoFramerate;
1403 @property(assign, nonatomic) NSInteger videoBitrate;
1404 
1407 @property(assign, nonatomic) AgoraAudioSampleRateType audioSampleRate;
1410 @property(assign, nonatomic) NSInteger audioBitrate;
1413 @property(assign, nonatomic) NSInteger audioChannels;
1414 
1419 + (AgoraLiveInjectStreamConfig *_Nonnull)defaultConfig NS_SWIFT_NAME(defaultConfig());
1420 @end
1421 
1422  __deprecated
1423 
1426  __attribute__((visibility("default"))) @interface AgoraRtcVideoCompositingRegion
1427  : NSObject
1430  @property(assign, nonatomic) NSUInteger uid;
1433 @property(assign, nonatomic) CGFloat x;
1436 @property(assign, nonatomic) CGFloat y;
1439 @property(assign, nonatomic) CGFloat width;
1442 @property(assign, nonatomic) CGFloat height;
1445 @property(assign, nonatomic) NSInteger zOrder;
1448 @property(assign, nonatomic) CGFloat alpha;
1451 @property(assign, nonatomic) AgoraVideoRenderMode renderMode;
1452 @end
1453 
1454  __deprecated
1457  __attribute__((visibility("default"))) @interface AgoraRtcVideoCompositingLayout
1458  : NSObject
1461  @property(assign, nonatomic) NSInteger canvasWidth;
1464 @property(assign, nonatomic) NSInteger canvasHeight;
1467 @property(copy, nonatomic) NSString *_Nullable backgroundColor;
1470 @property(copy, nonatomic) NSArray<AgoraRtcVideoCompositingRegion *> *_Nullable regions;
1473 @property(copy, nonatomic) NSString *_Nullable appData;
1474 @end
1475 
1481  __deprecated __attribute__((visibility("default"))) @interface AgoraPublisherConfiguration
1482  : NSObject
1488  @property(assign, nonatomic) BOOL owner;
1489 
1492 @property(assign, nonatomic) NSInteger width;
1495 @property(assign, nonatomic) NSInteger height;
1498 @property(assign, nonatomic) NSInteger framerate;
1501 @property(assign, nonatomic) NSInteger bitrate;
1504 @property(assign, nonatomic) NSInteger audiosamplerate;
1507 @property(assign, nonatomic) NSInteger audiobitrate;
1510 @property(assign, nonatomic) NSInteger audiochannels;
1511 
1518 @property(assign, nonatomic) NSInteger defaultLayout;
1521 @property(assign, nonatomic) AgoraRtmpStreamLifeCycle lifeCycle;
1522 
1525 @property(assign, nonatomic) NSInteger injectStreamWidth;
1526 
1529 @property(assign, nonatomic) NSInteger injectStreamHeight;
1530 
1533 @property(copy, nonatomic) NSString *_Nullable injectStreamUrl;
1534 
1537 @property(copy, nonatomic) NSString *_Nullable publishUrl;
1538 
1542 @property(copy, nonatomic) NSString *_Nullable rawStreamUrl;
1543 
1546 @property(copy, nonatomic) NSString *_Nullable extraInfo;
1547 
1550 - (BOOL)validate NS_SWIFT_NAME(validate());
1551 
1552 - (NSString * _Nullable)toJsonString NS_SWIFT_NAME(toJsonString());
1553 @end
1554 
1555 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
1556 
1559 __attribute__((visibility("default"))) @interface AgoraRtcDeviceInfo : NSObject
1560 @property (assign, nonatomic) int __deprecated index;
1561 
1564 @property(assign, nonatomic) AgoraMediaDeviceType type;
1565 
1568 @property(copy, nonatomic) NSString *_Nullable deviceId;
1569 
1572 @property(copy, nonatomic) NSString *_Nullable deviceName;
1573 @end
1574 #endif
1575 
1578 __attribute__((visibility("default"))) @interface AgoraVideoFrame : NSObject
1591 @property(assign, nonatomic) NSInteger format;
1592 
1596 @property(assign, nonatomic) CMTime time; // Time for this frame.
1597 
1601 @property(assign, nonatomic) int stride DEPRECATED_MSG_ATTRIBUTE("use strideInPixels instead");
1602 
1606 @property(assign, nonatomic) int strideInPixels; // Number of pixels between two consecutive rows.
1607  // Note: in pixel, not byte. Not used for iOS
1608  // textures.
1609 
1612 @property(assign, nonatomic) int height; // Number of rows of pixels. Not used for iOS textures.
1613 
1616 @property(assign, nonatomic) CVPixelBufferRef _Nullable textureBuf;
1617 
1620 @property(strong, nonatomic) IMAGE_CLASS * _Nullable image;
1621 
1624 @property(strong, nonatomic) NSData *_Nullable dataBuf; // Raw data buffer. Not used for iOS textures.
1625 
1628 @property(assign, nonatomic) int cropLeft; // Number of pixels to crop on the left boundary.
1631 @property(assign, nonatomic) int cropTop; // Number of pixels to crop on the top boundary.
1634 @property(assign, nonatomic) int cropRight; // Number of pixels to crop on the right boundary.
1637 @property(assign, nonatomic) int cropBottom; // Number of pixels to crop on the bottom boundary.
1641 @property(assign, nonatomic) int rotation; // 0, 90, 180, 270. See document for rotation calculation.
1642 /* Note
1643  * 1. strideInPixels
1644  * Stride is in pixels, not bytes
1645  * 2. About the frame width and height
1646  * No field is defined for the width. However, it can be deduced by:
1647  * croppedWidth = (strideInPixels - cropLeft - cropRight)
1648  * And
1649  * croppedHeight = (height - cropTop - cropBottom)
1650  * 3. About crop
1651  * _________________________________________________________________.....
1652  * | ^ | ^
1653  * | | | |
1654  * | cropTop | |
1655  * | | | |
1656  * | v | |
1657  * | ________________________________ | |
1658  * | | | | |
1659  * | | | | |
1660  * |<-- cropLeft -->| valid region |<- cropRight ->|
1661  * | | | | height
1662  * | | | |
1663  * | |_____________________________ | | |
1664  * | ^ | |
1665  * | | | |
1666  * | cropBottom | |
1667  * | | | |
1668  * | v | v
1669  * _________________________________________________________________......
1670  * | |
1671  * |<---------------- strideInPixels ----------------------------->|
1672  *
1673  * If your buffer contains garbage data, you can crop them. For example, the frame size is
1674  * 360 x 640, often the buffer stride is 368, that is, there extra 8 pixels on the
1675  * right are for padding, and should be removed. In this case, you can set:
1676  * strideInPixels = 368;
1677  * height = 640;
1678  * cropRight = 8;
1679  * // cropLeft, cropTop, cropBottom are set to a default of 0
1680  */
1681 @end
1682 
1683 __attribute__((visibility("default"))) @interface AgoraLogConfig: NSObject
1695 @property (copy, nonatomic) NSString * _Nullable filePath;
1703 @property (assign, nonatomic) NSInteger fileSizeInKB;
1709 @property (assign, nonatomic) AgoraLogLevel level;
1710 @end
1711 
1715 __attribute__((visibility("default"))) @interface AgoraRtcEngineConfig: NSObject
1716 
1721  @property (copy, nonatomic) NSString * _Nullable appId;
1722 
1726  @property (assign, nonatomic) AgoraChannelProfile channelProfile;
1727 
1731  @property (copy, nonatomic) NSString * _Nullable license;
1732 
1740  @property (assign, nonatomic) AgoraAudioScenario audioScenario;
1750  @property (assign, nonatomic) AgoraAreaCodeType areaCode;
1751  @property (strong, nonatomic) AgoraLogConfig * _Nullable logConfig;
1757  @property (assign, nonatomic) AgoraThreadPriorityType threadPriority;
1758  @property (weak, nonatomic) id<AgoraMediaFilterEventDelegate> _Nullable eventDelegate;
1764  @property (assign, nonatomic) BOOL domainLimit;
1765 @end
1766 
1770 __attribute__((visibility("default"))) @interface AgoraAudioFrame : NSObject
1773 @property(assign, nonatomic) NSInteger samplesPerChannel;
1777 @property(assign, nonatomic) NSInteger bytesPerSample;
1784 @property(assign, nonatomic) NSInteger channels;
1787 @property(assign, nonatomic) NSInteger samplesPerSec;
1792 @property(assign, nonatomic) void* _Nullable buffer;
1800 @property(assign, nonatomic) int64_t renderTimeMs;
1803 @property(assign, nonatomic) NSInteger avSyncType;
1804 @end
1805 
1834 __attribute__((visibility("default"))) @interface AgoraAudioParams : NSObject
1835 
1844 @property (assign, nonatomic) NSInteger sampleRate;
1845 
1846 /* The number of audio channels, which can be set as either of the following values:
1847 
1848  - `1`: Mono (Default)
1849  - `2`: Stereo
1850  */
1851 @property (assign, nonatomic) NSInteger channel;
1852 
1853 /* The use mode of the audio data. See AgoraAudioRawFrameOperationMode.
1854  */
1855 @property (assign, nonatomic) AgoraAudioRawFrameOperationMode mode;
1856 
1860 @property (assign, nonatomic) NSInteger samplesPerCall;
1861 
1862 @end
1863 
1867 __attribute__((visibility("default"))) @interface AgoraEncodedAudioFrameInfo: NSObject
1868  @property (assign, nonatomic) NSInteger samplesPerChannel;
1869  @property (assign, nonatomic) NSInteger channels;
1870  @property (assign, nonatomic) NSInteger samplesPerSec;
1871  @property (assign, nonatomic) AgoraAudioCodecType codecType;
1872 @end
1873 
1877 __attribute__((visibility("default"))) @interface AgoraUplinkNetworkInfo : NSObject
1881 @property(nonatomic, assign) int videoEncoderTargetBitrateBps;
1882 @end
1883 
1887 __attribute__((visibility("default"))) @interface AgoraDownlinkNetworkInfo : NSObject
1891 @property(nonatomic, assign) int lastmileBufferDelayTimeMs;
1895 @property(nonatomic, assign) int bandwidthEstimationBps;
1896 @end
1897 
1901 __attribute__((visibility("default"))) @interface AgoraLeaveChannelOptions : NSObject
1907 @property(nonatomic, assign) BOOL stopAudioMixing;
1908 
1914 @property(nonatomic, assign) BOOL stopAllEffect;
1915 
1921 @property(nonatomic, assign) BOOL stopMicrophoneRecording;
1922 
1923 @end
1924 
1925 __attribute__((visibility("default"))) @interface AgoraOutputVideoFrame : NSObject
1926 
1939 @property (nonatomic, assign) NSInteger type;
1943 @property (nonatomic, assign) int width;
1947 @property (nonatomic, assign) int height;
1951 @property (nonatomic, assign) int yStride;
1955 @property (nonatomic, assign) int uStride;
1959 @property (nonatomic, assign) int vStride;
1963 @property (nonatomic, assign) uint8_t* _Nullable yBuffer;
1967 @property (nonatomic, assign) uint8_t* _Nullable uBuffer;
1971 @property (nonatomic, assign) uint8_t* _Nullable vBuffer;
1975 @property (nonatomic, assign) int rotation;
1982 @property (nonatomic, assign) int64_t renderTimeMs;
1986 @property (nonatomic, assign) int avSyncType;
1987 
1990 @property(assign, nonatomic) CVPixelBufferRef _Nullable pixelBuffer;
1995 @property (nonatomic, assign) uint8_t* _Nullable alphaBuffer;
1996 
1997 @end
1998 
2001 __attribute__((visibility("default"))) @interface AgoraEncryptionConfig: NSObject
2002 
2005  @property (assign, nonatomic) AgoraEncryptionMode encryptionMode;
2006 
2013  @property (copy, nonatomic) NSString * _Nullable encryptionKey;
2014  @property (strong, nonatomic) NSData * _Nullable encryptionKdfSalt;
2015  @end
2016 
2019 __attribute__((visibility("default"))) @interface AgoraUserInfo: NSObject
2020 
2023 @property(assign, nonatomic) NSUInteger uid;
2024 
2027  @property (copy, nonatomic) NSString * _Nullable userAccount;
2028  @end
2029 
2032 __attribute__((visibility("default"))) @interface AgoraClientRoleOptions: NSObject
2033 
2036 @property (assign, nonatomic) AgoraAudienceLatencyLevelType audienceLatencyLevel;
2037 
2038 @end
2039 
2042 __attribute__((visibility("default"))) @interface AgoraCameraCapturerConfiguration: NSObject
2048 #if TARGET_OS_IOS
2049 @property (assign, nonatomic) AgoraCameraDirection cameraDirection;
2050 #endif
2051 
2055 @property(assign, nonatomic) CGSize dimensions;
2056 
2059 @property(assign, nonatomic) int frameRate;
2060 
2065 @property(assign, nonatomic) BOOL followEncodeDimensionRatio;
2066 
2067 @end
2068 
2071 __attribute__((visibility("default"))) @interface AgoraDataStreamConfig: NSObject
2072 
2073 @property (assign, nonatomic) BOOL ordered;
2074 
2075 @property (assign, nonatomic) BOOL syncWithAudio;
2076 @end
2077 
2078 
2081 __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayInfo: NSObject
2084 @property (copy, nonatomic) NSString * _Nullable token;
2087 @property (copy, nonatomic) NSString * _Nullable channelName;
2090 @property (assign, nonatomic) NSUInteger uid;
2095 - (instancetype _Nonnull)initWithToken:(NSString *_Nullable)token NS_SWIFT_NAME(init(token:));
2096 @end
2097 
2100 __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayConfiguration: NSObject
2110 @property (strong, nonatomic, readonly) NSDictionary<NSString *, AgoraChannelMediaRelayInfo *> *_Nullable destinationInfos;
2120 @property (strong, nonatomic) AgoraChannelMediaRelayInfo *_Nonnull sourceInfo;
2139 - (BOOL)setDestinationInfo:(AgoraChannelMediaRelayInfo *_Nonnull)destinationInfo forChannelName:(NSString *_Nonnull)channelName NS_SWIFT_NAME(setDestinationInfo(_:forChannelName:));
2147 - (BOOL)removeDestinationInfoForChannelName:(NSString *_Nonnull)channelName NS_SWIFT_NAME(removeDestinationInfo(forChannelName:));
2148 @end
2149 
2150 
2152 __attribute__((visibility("default"))) @interface AgoraBeautyOptions : NSObject
2153 
2162 @property(nonatomic, assign) AgoraLighteningContrastLevel lighteningContrastLevel;
2163 
2168 @property(nonatomic, assign) float lighteningLevel;
2169 
2174 @property(nonatomic, assign) float smoothnessLevel;
2175 
2180 @property(nonatomic, assign) float rednessLevel;
2181 
2186 @property(nonatomic, assign) float sharpnessLevel;
2187 
2188 @end
2189 
2195 __attribute__((visibility("default"))) @interface AgoraVideoDenoiserOptions : NSObject
2196 
2199 @property(nonatomic, assign) AgoraVideoDenoiserMode mode;
2200 
2203 @property(nonatomic, assign) AgoraVideoDenoiserLevel level;
2204 
2205 @end
2206 
2212 __attribute__((visibility("default"))) @interface AgoraLowlightEnhanceOptions : NSObject
2213 
2215 @property(nonatomic, assign) AgoraLowlightEnhanceMode mode;
2216 
2218 @property(nonatomic, assign) AgoraLowlightEnhanceLevel level;
2219 
2220 @end
2221 
2227 __attribute__((visibility("default"))) @interface AgoraColorEnhanceOptions : NSObject
2228 
2230 @property(nonatomic, assign) float strengthLevel;
2231 
2233 @property(nonatomic, assign) float skinProtectLevel;
2234 
2235 @end
2236 
2237 
2240 __attribute__((visibility("default"))) @interface AgoraVirtualBackgroundSource : NSObject
2241 
2244 @property(nonatomic, assign) AgoraVirtualBackgroundSourceType backgroundSourceType NS_SWIFT_NAME(backgroundSourceType);
2245 
2254 @property(nonatomic, assign) NSUInteger color NS_SWIFT_NAME(color);
2255 
2262 @property(nonatomic, copy) NSString* _Nullable source NS_SWIFT_NAME(source);
2263 
2265 @property(nonatomic, assign) AgoraBlurDegree blurDegree;
2266 
2267 @end
2268 
2271 __attribute__((visibility("default"))) @interface AgoraSegmentationProperty: NSObject
2272 
2273 @property(nonatomic, assign) SegModelType modelType;
2274 
2275 @property(nonatomic, assign) float greenCapacity;
2276 
2277 @end
2278 
2279 
2282 __attribute__((visibility("default"))) @interface AgoraTranscodingVideoStream: NSObject
2286 @property (assign, nonatomic) AgoraMediaSourceType sourceType;
2290 @property (assign, nonatomic) NSUInteger remoteUserUid;
2294 @property (copy, nonatomic) NSString * _Nullable imageUrl;
2298 @property (assign, nonatomic) CGRect rect;
2304 @property (assign, nonatomic) NSInteger zOrder;
2308 @property(assign, nonatomic) double alpha;
2309 
2310 @end
2311 
2314 __attribute__((visibility("default"))) @interface AgoraLocalTranscoderConfiguration: NSObject
2318 @property(copy, nonatomic) NSArray<AgoraTranscodingVideoStream *> *_Nullable videoInputStreams;
2322 @property (strong, nonatomic) AgoraVideoEncoderConfiguration *_Nonnull videoOutputConfiguration;
2323 
2324 @end
2325 
2328 __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters: NSObject
2333 @property (assign, nonatomic) CGSize dimensions;
2338 @property (assign, nonatomic) NSInteger frameRate;
2343 @property (assign, nonatomic) NSInteger bitrate;
2344 
2350 @property(assign, nonatomic) BOOL captureMouseCursor;
2351 
2360 @property(assign, nonatomic) BOOL windowFocus;
2361 
2370 @property(copy, nonatomic) NSArray* _Nullable excludeWindowList;
2371 
2380 @property(assign, nonatomic) BOOL highLighted;
2386 @property(strong, nonatomic) COLOR_CLASS* _Nullable highLightColor;
2390 @property(assign, nonatomic) NSUInteger highLightWidth;
2391 
2392 @end
2393 
2394 __attribute__((visibility("default"))) @interface AgoraScreenVideoParameters : NSObject
2395 
2425 @property(assign, nonatomic) CGSize dimensions;
2438 @property(assign, nonatomic) AgoraVideoFrameRate frameRate;
2492 @property(assign, nonatomic) NSInteger bitrate;
2493 
2496 @property(assign, nonatomic) AgoraVideoContentHint contentHint;
2497 
2498 @end
2499 
2500 __attribute__((visibility("default"))) @interface AgoraScreenAudioParameters : NSObject
2501 
2502 @property(assign, nonatomic) NSInteger captureSignalVolume;
2503 
2504 @end
2505 
2506 __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters2 : NSObject
2510 @property(assign, nonatomic) BOOL captureAudio;
2514 @property(strong, nonatomic) AgoraScreenAudioParameters* _Nonnull audioParams;
2518 @property(assign, nonatomic) BOOL captureVideo;
2522 @property(strong, nonatomic) AgoraScreenVideoParameters* _Nonnull videoParams;
2523 @end
2524 
2528 __attribute__((visibility("default"))) @interface AgoraAudioRecordingConfiguration: NSObject
2533 @property (copy, nonatomic) NSString * _Nullable filePath;
2543 @property (assign, nonatomic) NSUInteger sampleRate;
2547 @property (assign, nonatomic) AgoraAudioFileRecordingType fileRecordOption;
2552 @property (assign, nonatomic) AgoraAudioRecordingQuality quality;
2553 
2559 @property (assign, nonatomic) NSInteger recordingChannel;
2560 
2561 @end
2562 
2565 __attribute__((visibility("default"))) @interface AgoraSimulcastStreamConfig: NSObject
2566 
2570  @property (assign, nonatomic) int kBitrate;
2574  @property (assign, nonatomic) int framerate;
2578  @property (assign, nonatomic) CGSize dimensions;
2579  @end
2580 
2584 __attribute__((visibility("default"))) @interface AgoraRtcMediaStreamInfo : NSObject
2586 @property(nonatomic, assign) NSInteger streamIndex;
2588 @property(nonatomic, assign) AgoraMediaStreamType streamType;
2590 @property(nonatomic, copy) NSString *_Nonnull codecName;
2592 @property(nonatomic, copy) NSString *_Nullable language;
2594 @property(nonatomic, assign) NSInteger videoFrameRate;
2596 @property(nonatomic, assign) NSInteger videoBitRate;
2598 @property(nonatomic, assign) NSInteger videoWidth;
2600 @property(nonatomic, assign) NSInteger videoHeight;
2602 @property(nonatomic, assign) NSInteger audioSampleRate;
2604 @property(nonatomic, assign) NSInteger audioChannels;
2606 @property(nonatomic, assign) NSInteger duration;
2608 @property(nonatomic, assign) NSInteger rotation;
2609 
2610 @end
2611 
2612 __attribute__((visibility("default"))) @interface AgoraAudioSpectrumInfo : NSObject
2613 
2615 @property(nonatomic, assign) NSInteger uid;
2616 @property(nonatomic, strong) NSArray<NSNumber *> * _Nullable audioSpectrumData;
2617 
2618 @end
2619 
2623 __attribute__((visibility("default"))) @interface AgoraAudioEncodedFrameDelegateConfig: NSObject
2627 @property (assign, nonatomic) AgoraAudioEncodedFrameDelegatePosition postionType;
2631 @property (assign, nonatomic) AgoraAudioEncodingType encodingType;
2632 @end
2633 
2634 __attribute__((visibility("default"))) @interface AgoraContentInspectModule: NSObject
2635 @property (assign, nonatomic) AgoraContentInspectType type;
2636 
2637 @property (assign, nonatomic) NSInteger interval;
2638 @end
2639 
2640 __attribute__((visibility("default"))) @interface AgoraContentInspectConfig: NSObject
2641 @property (nonatomic, copy) NSString* _Nullable extraInfo;
2642 @property(copy, nonatomic) NSArray<AgoraContentInspectModule*>* _Nullable modules;
2643 @end
2647 __attribute__((visibility("default"))) @interface AgoraRtcConnection: NSObject <NSCopying>
2648 
2656 - (instancetype _Nonnull)initWithChannelId:(NSString *_Nonnull)channelId localUid:(NSInteger)localUid;
2657 
2658 /* channelId Unique channel name for the AgoraRTC session in the string
2659  * format. The string length must be less than 64 bytes. Supported character
2660  * scopes are:
2661  * - All lowercase English letters: a to z.
2662  * - All uppercase English letters: A to Z.
2663  * - All numeric characters: 0 to 9.
2664  * - The space character.
2665  * - Punctuation characters and other symbols, including: "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", " {", "}", "|", "~", ",".
2666  */
2667 @property (nonatomic, copy) NSString *_Nonnull channelId;
2668 /* uid Local User ID. A 32-bit unsigned integer with a value ranging from 1 to
2669  * (2<sup>32</sup>-1). The `uid` must be unique and not set to 0 . Your app
2670  * must record and maintain the returned `uid` since the SDK does not do so.
2671  */
2672 @property (nonatomic, assign) NSUInteger localUid;
2673 
2674 @end
2678 __attribute__((visibility("default"))) @interface AgoraVideoSubscriptionOptions: NSObject
2679 
2680 /*
2681 * The type of the video stream to subscribe to.
2682 *
2683 * The default value is `VIDEO_STREAM_HIGH`, which means the high-quality
2684 * video stream.
2685 */
2686 @property (nonatomic, assign) AgoraVideoStreamType type;
2687 /*
2688 * Whether to subscribe to encoded video data only:
2689 * - `true`: Subscribe to encoded video data only.
2690 * - `false`: (Default) Subscribe to decoded video data.
2691 */
2692 @property (nonatomic, assign) bool encodedFrameOnly;
2693 
2694 @end
2698 __attribute__((visibility("default"))) @interface AgoraEncodedVideoFrameInfo: NSObject
2699 
2703 @property (assign, nonatomic) AgoraVideoCodecType codecType;
2707 @property (assign, nonatomic) NSInteger width;
2711 @property (assign, nonatomic) NSInteger height;
2718 @property (assign, nonatomic) NSInteger framesPerSecond;
2722 @property (assign, nonatomic) AgoraVideoFrameType frameType;
2726 @property (assign, nonatomic) NSInteger rotation;
2730 @property (assign, nonatomic) NSInteger trackId; // This can be reserved for multiple video tracks, we need to create different ssrc
2731  // and additional payload for later implementation.
2735 @property (assign, nonatomic) NSInteger captureTimeMs;
2739 @property (assign, nonatomic) NSInteger decodeTimeMs;
2743 @property (assign, nonatomic) NSInteger uid;
2747 @property (assign, nonatomic) AgoraVideoStreamType streamType;
2748 @end
2749 
2750 NS_SWIFT_NAME(LogUploadServerInfo) __attribute__((visibility("default"))) @interface LogUploadServerInfo : NSObject
2753 @property(copy, nonatomic) NSString* _Nullable serverDomain;
2756 @property(copy, nonatomic) NSString* _Nullable serverPath;
2759 @property(assign, nonatomic) NSInteger serverPort;
2764 @property(assign, nonatomic) BOOL serverHttps;
2765 @end
2766 
2767 NS_SWIFT_NAME(AdvancedConfigInfo) __attribute__((visibility("default"))) @interface AdvancedConfigInfo : NSObject
2770 @property(strong, nonatomic) LogUploadServerInfo* _Nullable logUploadServer;
2771 @end
2772 
2773 NS_SWIFT_NAME(AgoraLocalAccessPointConfiguration) __attribute__((visibility("default"))) @interface AgoraLocalAccessPointConfiguration : NSObject
2776 @property(copy, nonatomic) NSArray* _Nullable ipList NS_SWIFT_NAME(ipList);
2779 @property(copy, nonatomic) NSArray* _Nullable domainList NS_SWIFT_NAME(domainList);
2783 @property(copy, nonatomic) NSString* _Nullable verifyDomainName NS_SWIFT_NAME(verifyDomainName);
2786 @property(assign, nonatomic) AgoraLocalProxyMode mode NS_SWIFT_NAME(mode);
2789 @property(strong, nonatomic) AdvancedConfigInfo* _Nullable advancedConfig NS_SWIFT_NAME(advancedConfig);
2790 @end
2791 
2796 __attribute__((visibility("default"))) @interface AgoraRhythmPlayerConfig: NSObject
2802 @property (assign, nonatomic) int beatsPerMeasure;
2803 /*
2804  * The range is 60 to 360.
2805  * The default value is 60,
2806  * which means that the rhythm player plays 60 beats in one minute.
2807  */
2808 @property (assign, nonatomic) int beatsPerMinute;
2809 
2810 @end
2811 
2814 NS_SWIFT_NAME(AgoraFacePositionInfo) __attribute__((visibility("default"))) @interface AgoraFacePositionInfo : NSObject
2815 
2818 @property(assign, nonatomic) NSInteger x NS_SWIFT_NAME(x);
2819 
2822 @property(assign, nonatomic) NSInteger y NS_SWIFT_NAME(y);
2823 
2826 @property(assign, nonatomic) NSInteger width NS_SWIFT_NAME(width);
2827 
2830 @property(assign, nonatomic) NSInteger height NS_SWIFT_NAME(height);
2831 
2834 @property(assign, nonatomic) NSInteger distance NS_SWIFT_NAME(distance);
2835 @end
2836 
2839 __attribute__((visibility("default"))) @interface AgoraAdvancedAudioOptions: NSObject
2840 
2841 @property(assign, nonatomic) AgoraAudioProcessChannels audioProcessingChannels;
2842 
2843 @end
2844 
2845 __attribute__((visibility("default"))) @interface AgoraImageTrackOptions : NSObject
2846 @property(copy, nonatomic) NSString *_Nullable imageUrl;
2847 @property(assign, nonatomic) int fps;
2848 @property(assign, nonatomic) AgoraVideoMirrorMode mirrorMode;
2849 @end
2850 
2855 __attribute__((visibility("default"))) @interface AgoraSpatialAudioParams : NSObject
2859 @property(assign, nonatomic) double speaker_azimuth;
2863 @property(assign, nonatomic) double speaker_elevation;
2867 @property(assign, nonatomic) double speaker_distance;
2871 @property(assign, nonatomic) NSInteger speaker_orientation;
2875 @property(assign, nonatomic) BOOL enable_blur;
2879 @property(assign, nonatomic) BOOL enable_air_absorb;
2883 @property(assign, nonatomic) double speaker_attenuation;
2887 @property(assign, nonatomic) BOOL enable_doppler;
2888 @end
2889 
2890 NS_SWIFT_NAME(AgoraEchoTestConfiguration)
2891 __attribute__((visibility("default"))) @interface AgoraEchoTestConfiguration : NSObject
2899 @property(strong, nonatomic) VIEW_CLASS* _Nullable view NS_SWIFT_NAME(view);
2902 @property(assign, nonatomic) BOOL enableAudio NS_SWIFT_NAME(enableAudio);
2905 @property(assign, nonatomic) BOOL enableVideo NS_SWIFT_NAME(enableVideo);
2908 @property(copy, nonatomic) NSString* _Nullable token NS_SWIFT_NAME(token);
2911 @property(copy, nonatomic) NSString* _Nonnull channelId NS_SWIFT_NAME(channelId);
2912 @end
2913 
2917 NS_SWIFT_NAME(AgoraWlAccStats) __attribute__((visibility("default"))) @interface AgoraWlAccStats : NSObject
2921 @property(assign, nonatomic) NSInteger e2eDelayPercent NS_SWIFT_NAME(e2eDelayPercent);
2925 @property(assign, nonatomic) NSInteger frozenRatioPercent NS_SWIFT_NAME(frozenRatioPercent);
2929 @property(assign, nonatomic) NSInteger lossRatePercent NS_SWIFT_NAME(lossRatePercent);
2930 @end
2931 
2932 __attribute__((visibility("default"))) @interface AgoraMediaRecorderInfo : NSObject
2933 
2936 @property(copy, nonatomic) NSString* _Nonnull recorderFileName;
2939 @property(assign, nonatomic) NSUInteger durationMs;
2942 @property(assign, nonatomic) NSUInteger fileSize;
2943 
2944 @end
2945 
2946 __attribute__((visibility("default"))) @interface AgoraMediaRecorderConfiguration : NSObject
2947 
2950 @property(copy, nonatomic) NSString* _Nonnull storagePath;
2953 @property(assign, nonatomic) AgoraMediaRecorderContainerFormat containerFormat;
2956 @property(assign, nonatomic) AgoraMediaRecorderStreamType streamType;
2959 @property(assign, nonatomic) NSUInteger maxDurationMs;
2962 @property(assign, nonatomic) NSUInteger recorderInfoUpdateInterval;
2963 
2964 @end
2965 
2966 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
2967 
2971 __attribute__((visibility("default"))) @interface AgoraScreenCaptureSourceInfo : NSObject
2973 @property(assign, nonatomic) AgoraScreenCaptureSourceType type;
2975 @property(assign, nonatomic) CGWindowID sourceId;
2977 @property(copy, nonatomic) NSString* _Nonnull sourceName;
2979 @property(strong, nonatomic) NSImage* _Nonnull thumbImage;
2981 @property(strong, nonatomic) NSImage* _Nullable iconImage;
2983 @property(copy, nonatomic) NSString* _Nonnull processPath;
2985 @property(copy, nonatomic) NSString* _Nonnull sourceTitle;
2991 @property(assign, nonatomic) BOOL primaryMonitor;
2992 
2993 @end
2994 
2995 #endif
2996 
2997 NS_SWIFT_NAME(AgoraExtensionInfo) __attribute__((visibility("default"))) @interface AgoraExtensionInfo : NSObject
2998 
3002 @property (assign, nonatomic) AgoraMediaSourceType sourceType NS_SWIFT_NAME(sourceType);
3003 
3009 @property (assign, nonatomic) NSUInteger remoteUid NS_SWIFT_NAME(remoteUid);
3010 
3022 @property (copy, nonatomic) NSString *_Nonnull channelId NS_SWIFT_NAME(channelId);
3023 
3027 @property (assign, nonatomic) NSUInteger localUid NS_SWIFT_NAME(localUid);
3028 
3029 @end
AgoraMediaSource
Definition: AgoraObjects.h:51
AgoraLowlightEnhanceLevel
AgoraLowlightEnhanceLevel
Definition: AgoraEnumerates.h:1863
AgoraFacePositionInfo
Definition: AgoraObjects.h:2815
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:2909
AgoraMediaSource::isLiveSource
BOOL isLiveSource
Definition: AgoraObjects.h:87
AgoraDirectCdnStreamingStats
Definition: AgoraObjects.h:135
AgoraDegradationPreference
AgoraDegradationPreference
Definition: AgoraEnumerates.h:1775
AgoraCameraDirection
AgoraCameraDirection
Definition: AgoraEnumerates.h:2231
AgoraMediaSource::playerOnReadCallback
AgoraRtcMediaPlayerCustomSourceOnReadCallback _Nonnull playerOnReadCallback
Definition: AgoraObjects.h:91
AgoraMediaSource::startPos
NSUInteger startPos
Definition: AgoraObjects.h:62
AgoraEncodedVideoTrackOptions
Definition: AgoraObjects.h:209
AgoraScreenAudioParameters
Definition: AgoraObjects.h:2501
AgoraRtcChannelMediaOptions
Definition: AgoraObjects.h:236
AgoraMediaFilterEventDelegate.h
AgoraAudioScenario
AgoraAudioScenario
Definition: AgoraEnumerates.h:1232
AgoraRhythmPlayerConfig
Definition: AgoraObjects.h:2797
AgoraBeautyOptions
Definition: AgoraObjects.h:2153
AgoraVideoSubscriptionOptions
Definition: AgoraObjects.h:2679
AgoraOutputVideoFrame
Definition: AgoraObjects.h:1926
AgoraClientRole
AgoraClientRole
Definition: AgoraEnumerates.h:511
AgoraScreenCaptureParameters2
Definition: AgoraObjects.h:2507
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:2635
AgoraMediaPlayerSrcInfo
The information of the media stream object.
Definition: AgoraObjects.h:119
AdvancedConfigInfo
Definition: AgoraObjects.h:2768
AgoraMediaSource::url
NSString *_Nullable url
Definition: AgoraObjects.h:54
AgoraLighteningContrastLevel
AgoraLighteningContrastLevel
Definition: AgoraEnumerates.h:1814
AgoraEnumerates.h
AgoraVideoFrame
Definition: AgoraObjects.h:1579
AgoraSimulcastStreamConfig
Definition: AgoraObjects.h:2566
AgoraRtcConnection::channelId
NSString *_Nonnull channelId
Definition: AgoraObjects.h:2667
AgoraScreenCaptureParameters
Definition: AgoraObjects.h:2329
AgoraAudioRawFrameOperationMode
AgoraAudioRawFrameOperationMode
Definition: AgoraEnumerates.h:1304
AgoraMediaRecorderInfo
Definition: AgoraObjects.h:2933
AgoraSegmentationProperty
Definition: AgoraObjects.h:2272
AgoraVideoDenoiserLevel
AgoraVideoDenoiserLevel
Definition: AgoraEnumerates.h:1838
AgoraRtcRemoteVideoStats
Definition: AgoraObjects.h:673
AgoraVideoViewSetupMode
AgoraVideoViewSetupMode
Definition: AgoraEnumerates.h:2941
AgoraMediaSource::autoPlay
BOOL autoPlay
Definition: AgoraObjects.h:68
AgoraContentInspectConfig
Definition: AgoraObjects.h:2641
AgoraAudioEncodedFrameDelegateConfig
Definition: AgoraObjects.h:2624
AgoraTranscodingVideoStream
Definition: AgoraObjects.h:2283
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:2672
AgoraVideoDenoiserOptions
Definition: AgoraObjects.h:2196
AgoraLastmileProbeConfig
Definition: AgoraObjects.h:497
AgoraAudienceLatencyLevelType
AgoraAudienceLatencyLevelType
Definition: AgoraEnumerates.h:519
AgoraLastmileProbeResultState
AgoraLastmileProbeResultState
Definition: AgoraEnumerates.h:775
AgoraWlAccStats
Definition: AgoraObjects.h:2918
AgoraRtcMediaStreamInfo
Definition: AgoraObjects.h:2585
AgoraChannelMediaRelayInfo
Definition: AgoraObjects.h:2082
WatermarkOptions
Definition: AgoraObjects.h:1216
AgoraVideoSourceType
AgoraVideoSourceType
Definition: AgoraEnumerates.h:2444
AgoraAudioFrame
Definition: AgoraObjects.h:1771
AgoraMediaRecorderStreamType
AgoraMediaRecorderStreamType
Definition: AgoraEnumerates.h:3026
AgoraAudioEncodingType
AgoraAudioEncodingType
Definition: AgoraEnumerates.h:684
AgoraMediaSource::enableCache
BOOL enableCache
Definition: AgoraObjects.h:75
AgoraAreaCodeType
AgoraAreaCodeType
Definition: AgoraEnumerates.h:2109
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:2613
AgoraLeaveChannelOptions
Definition: AgoraObjects.h:1902
AgoraDataStreamConfig
Definition: AgoraObjects.h:2072
AgoraLowlightEnhanceMode
AgoraLowlightEnhanceMode
Definition: AgoraEnumerates.h:1852
AgoraRtcRemoteAudioStats
Definition: AgoraObjects.h:780
AgoraUserInfo
Definition: AgoraObjects.h:2020
AgoraRtcEngineConfig
Definition: AgoraObjects.h:1716
AgoraMediaStreamType
AgoraMediaStreamType
Definition: AgoraEnumerates.h:2515
AgoraImageTrackOptions
Definition: AgoraObjects.h:2846
AgoraVideoRenderMode
AgoraVideoRenderMode
Definition: AgoraEnumerates.h:815
AgoraLastmileProbeOneWayResult
Definition: AgoraObjects.h:529
AgoraVideoQualityAdaptIndication
AgoraVideoQualityAdaptIndication
Definition: AgoraEnumerates.h:805
AgoraContentInspectType
AgoraContentInspectType
Definition: AgoraEnumerates.h:2834
AgoraEncryptionConfig
Definition: AgoraObjects.h:2002
AgoraEncodedVideoFrameInfo
Definition: AgoraObjects.h:2699
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:2101
AgoraVideoStreamType
AgoraVideoStreamType
Definition: AgoraEnumerates.h:797
AgoraVideoCodecTypeForStream
AgoraVideoCodecTypeForStream
Definition: AgoraEnumerates.h:424
AgoraEchoTestConfiguration
Definition: AgoraObjects.h:2892
AgoraAdvancedAudioOptions
Definition: AgoraObjects.h:2840
AgoraRtcAudioVolumeInfo
Definition: AgoraObjects.h:872
AgoraVideoHwEncoderAccelerating
AgoraVideoHwEncoderAccelerating
Definition: AgoraEnumerates.h:408
AgoraMediaPlayerCacheStatistics
Definition: AgoraObjects.h:97
AgoraAudioProcessChannels
AgoraAudioProcessChannels
Definition: AgoraEnumerates.h:2947
AgoraLocalAccessPointConfiguration
Definition: AgoraObjects.h:2774
AgoraEncodingPreference
AgoraEncodingPreference
Definition: AgoraEnumerates.h:1787
AgoraThreadPriorityType
AgoraThreadPriorityType
Definition: AgoraEnumerates.h:2807
AgoraScreenVideoParameters
Definition: AgoraObjects.h:2395
AgoraVirtualBackgroundSource
Definition: AgoraObjects.h:2241
AgoraLiveStreamAdvancedFeature
Definition: AgoraObjects.h:1174
AgoraRtcConnection
Definition: AgoraObjects.h:2647
AgoraLowlightEnhanceOptions
Definition: AgoraObjects.h:2213
AgoraExperienceQuality
AgoraExperienceQuality
Definition: AgoraEnumerates.h:742
__deprecated
#define __deprecated
Definition: AgoraBase.h:63
AgoraAudioCodecProfileType
AgoraAudioCodecProfileType
Definition: AgoraEnumerates.h:1054
AgoraVideoContentHint
AgoraVideoContentHint
Definition: AgoraEnumerates.h:2796
AgoraMediaSource::isAgoraSource
BOOL isAgoraSource
Definition: AgoraObjects.h:81
AgoraLocalTranscoderConfiguration
Definition: AgoraObjects.h:2315
AgoraRtcVideoCanvas
Definition: AgoraObjects.h:441
AgoraEncodedAudioFrameInfo
Definition: AgoraObjects.h:1868
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:2529
LogUploadServerInfo
Definition: AgoraObjects.h:2751
AgoraVideoFrameType
AgoraVideoFrameType
Definition: AgoraEnumerates.h:1694
AgoraColorEnhanceOptions
Definition: AgoraObjects.h:2228
AgoraMediaRecorderConfiguration
Definition: AgoraObjects.h:2947
AgoraMediaRecorderContainerFormat
AgoraMediaRecorderContainerFormat
Definition: AgoraEnumerates.h:3035
AgoraLogConfig
Definition: AgoraObjects.h:1684
AgoraClientRoleOptions
Definition: AgoraObjects.h:2033
AgoraMediaSourceType
AgoraMediaSourceType
Definition: AgoraEnumerates.h:2382
AgoraAudioFileRecordingType
AgoraAudioFileRecordingType
Definition: AgoraEnumerates.h:657
AgoraRtcLocalAudioStats
Definition: AgoraObjects.h:751
AgoraCameraCapturerConfiguration
Definition: AgoraObjects.h:2043
AgoraCompressionPreference
AgoraCompressionPreference
Definition: AgoraEnumerates.h:1803
IMAGE_CLASS
UIImage IMAGE_CLASS
Definition: AgoraObjects.h:17
AgoraAdvancedVideoOptions
Definition: AgoraObjects.h:1004
AgoraExtensionInfo
Definition: AgoraObjects.h:2998
AgoraMediaPlayerUpdatedInfo
player_id and device_id has value when user trigger interface of opening.
Definition: AgoraObjects.h:109
AgoraLogLevel
AgoraLogLevel
Definition: AgoraEnumerates.h:2084
AgoraScreenCaptureSourceType
AgoraScreenCaptureSourceType
Definition: AgoraEnumerates.h:3044
AgoraLastmileProbeResult
Definition: AgoraObjects.h:547
AgoraChannelStats
Definition: AgoraObjects.h:891
AgoraCaptureBrightnessLevelType
AgoraCaptureBrightnessLevelType
Definition: AgoraEnumerates.h:527