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"
11 
12 #if TARGET_OS_IPHONE
13 #import <UIKit/UIKit.h>
14 typedef UIView VIEW_CLASS;
15 typedef UIColor COLOR_CLASS;
16 typedef UIImage IMAGE_CLASS;
17 #elif TARGET_OS_MAC
18 #import <AppKit/AppKit.h>
19 typedef NSView VIEW_CLASS;
20 typedef NSColor COLOR_CLASS;
21 typedef NSImage IMAGE_CLASS;
22 #endif
23 
26 
44 typedef int(^AgoraRtcMediaPlayerCustomSourceOnReadCallback)(id<AgoraRtcMediaPlayerProtocol> _Nonnull playerKit, unsigned char * _Nullable buffer, int bufferSize);
45 
72 typedef long long(^AgoraRtcMediaPlayerCustomSourceOnSeekCallback)(id<AgoraRtcMediaPlayerProtocol> _Nonnull playerKit, long long offset, int whence);
73 
78 __attribute__((visibility("default"))) @interface AgoraMediaSource : NSObject
86 @property(copy, nonatomic) NSString *_Nullable url;
90 @property(copy, nonatomic) NSString *_Nullable uri;
94 @property(assign, nonatomic) NSUInteger startPos;
102 @property(assign, nonatomic) BOOL autoPlay;
117 @property(assign, nonatomic) BOOL enableCache;
126 @property(assign, nonatomic) BOOL enableMultiAudioTrack;
138 @property(assign, nonatomic) BOOL isAgoraSource;
148 @property(assign, nonatomic) BOOL isLiveSource;
167 
168 @end
169 
173 __attribute__((visibility("default"))) @interface AgoraMediaPlayerCacheStatistics : NSObject
174 
178 @property(assign, nonatomic) NSInteger fileSize;
182 @property(assign, nonatomic) NSInteger cacheSize;
186 @property(assign, nonatomic) NSInteger downloadSize;
187 
188 @end
189 
193 __attribute__((visibility("default"))) @interface AgoraMediaPlayerPlaybackStats : NSObject
197 @property(assign, nonatomic) NSInteger videoFps;
201 @property(assign, nonatomic) NSInteger videoBitrateInKbps;
205 @property(assign, nonatomic) NSInteger audioBitrateInKbps;
209 @property(assign, nonatomic) NSInteger totalBitrateInKbps;
210 @end
211 
215 __attribute__((visibility("default"))) @interface AgoraMediaPlayerUpdatedInfo : NSObject
219 @property(copy, nonatomic) NSString *_Nullable internalPlayerUuid;
223 @property(copy, nonatomic) NSString *_Nullable deviceId;
227 @property(assign, nonatomic) NSInteger videoHeight;
231 @property(assign, nonatomic) NSInteger videoWidth;
235 @property(assign, nonatomic) NSInteger audioSampleRate;
239 @property(assign, nonatomic) NSInteger audioChannels;
243 @property(assign, nonatomic) NSInteger audioBitsPerSample;
244 @end
245 
249 __attribute__((visibility("default"))) @interface AgoraMediaPlayerSrcInfo : NSObject
253 @property(assign, nonatomic) int bitrateInKbps;
257 @property(copy, nonatomic) NSString *_Nullable name;
258 
259 @end
260 
261 
267 __attribute__((visibility("default"))) @interface AgoraDirectCdnStreamingStats : NSObject
271 @property(assign, nonatomic) NSUInteger videoWidth;
275 @property(assign, nonatomic) NSUInteger videoHeight;
279 @property(assign, nonatomic) NSUInteger fps;
283 @property(assign, nonatomic) NSUInteger videoBitrate;
287 @property(assign, nonatomic) NSUInteger audioBitrate;
288 
289 @end
290 
296 __attribute__((visibility("default"))) @interface AgoraDirectCdnStreamingMediaOptions : NSObject
302 @property(assign, nonatomic) BOOL publishCameraTrack;
308 @property(assign, nonatomic) BOOL publishMicrophoneTrack;
314 @property(assign, nonatomic) BOOL publishCustomAudioTrack;
320 @property(assign, nonatomic) BOOL publishCustomVideoTrack;
326 @property(assign, nonatomic) BOOL publishMediaPlayerAudioTrack;
331 @property(assign, nonatomic) NSInteger publishMediaPlayerId;
332 
337 @property(assign, nonatomic) NSInteger customVideoTrackId;
338 
339 @end
340 
344 __attribute__((visibility("default"))) @interface AgoraEncodedVideoTrackOptions : NSObject
350 @property(assign, nonatomic) int ccMode;
360 @property(assign, nonatomic) int codecType;
364 @property(assign, nonatomic) int targetBitrate;
365 @end
366 
382 __attribute__((visibility("default"))) @interface AgoraRtcChannelMediaOptions : NSObject
388 @property(assign, nonatomic) BOOL publishCameraTrack;
394 @property(assign, nonatomic) BOOL publishSecondaryCameraTrack;
400 @property(assign, nonatomic) BOOL publishMicrophoneTrack;
401 
407 @property(assign, nonatomic) BOOL publishScreenCaptureAudio;
408 #if TARGET_OS_IPHONE
409 
416 @property(assign, nonatomic) BOOL publishScreenCaptureVideo;
417 
418 #elif TARGET_OS_MAC
419 
424 @property(assign, nonatomic) BOOL publishThirdCameraTrack;
430 @property(assign, nonatomic) BOOL publishFourthCameraTrack;
436 @property(assign, nonatomic) BOOL publishScreenTrack;
442 @property(assign, nonatomic) BOOL publishSecondaryScreenTrack;
448 @property(assign, nonatomic) BOOL publishThirdScreenTrack;
454 @property(assign, nonatomic) BOOL publishFourthScreenTrack;
455 #endif
456 
461 @property(assign, nonatomic) BOOL publishCustomAudioTrack;
466 @property(assign, nonatomic) NSInteger publishCustomAudioTrackId;
472 @property(assign, nonatomic) BOOL publishCustomVideoTrack;
478 @property(assign, nonatomic) BOOL publishEncodedVideoTrack;
484 @property(assign, nonatomic) BOOL publishMediaPlayerAudioTrack;
490 @property(assign, nonatomic) BOOL publishMediaPlayerVideoTrack;
496 @property(assign, nonatomic) BOOL publishTranscodedVideoTrack;
502 @property(assign, nonatomic) BOOL publishMixedAudioTrack;
508 @property(assign, nonatomic) BOOL publishLipSyncTrack;
514 @property(assign, nonatomic) BOOL autoSubscribeAudio;
520 @property(assign, nonatomic) BOOL autoSubscribeVideo;
528 @property(assign, nonatomic) BOOL enableAudioRecordingOrPlayout;
532 @property(assign, nonatomic) NSInteger publishMediaPlayerId;
539 @property(assign, nonatomic) AgoraClientRole clientRoleType;
544 @property(assign, nonatomic) AgoraAudienceLatencyLevelType audienceLatencyLevel;
548 @property(assign, nonatomic) AgoraVideoStreamType defaultVideoStreamType;
552 @property(assign, nonatomic) AgoraChannelProfile channelProfile;
558 @property(assign, nonatomic) NSInteger audioDelayMs;
563 @property(assign, nonatomic) NSInteger mediaPlayerAudioDelayMs;
575 @property(copy, nonatomic) NSString * _Nullable token;
582 @property(assign, nonatomic) BOOL enableBuiltInMediaEncryption;
583 
590 @property(assign, nonatomic) BOOL publishRhythmPlayerTrack;
603 @property(assign, nonatomic) BOOL isInteractiveAudience;
604 
609 @property(assign, nonatomic) NSInteger customVideoTrackId;
610 
618 @property(assign, nonatomic) BOOL isAudioFilterable;
619 
623 @property(copy, nonatomic) NSString * _Nullable parameters;
624 
634 @property(assign, nonatomic) BOOL enableMultipath;
635 
641 @property(assign, nonatomic) AgoraMultipathMode uplinkMultipathMode;
642 
648 @property(assign, nonatomic) AgoraMultipathMode downlinkMultipathMode;
649 
655 @property(assign, nonatomic) AgoraMultipathType preferMultipathType;
656 
663 @property(assign, nonatomic) AgoraChannelType channelType;
664 
665 @end
666 
670 __attribute__((visibility("default"))) @interface AgoraRtcVideoCanvas : NSObject
674 @property(assign, nonatomic) NSUInteger uid;
675 
681 @property(assign, nonatomic) NSUInteger subviewUid;
682 
688 @property(strong, nonatomic) VIEW_CLASS *_Nullable view;
692 @property(assign, nonatomic) AgoraVideoRenderMode renderMode;
700 @property(assign, nonatomic) AgoraVideoMirrorMode mirrorMode;
704 @property(assign, nonatomic) AgoraVideoViewSetupMode setupMode;
708 @property(nonatomic, assign) AgoraVideoSourceType sourceType;
712 @property(nonatomic, assign) int mediaPlayerId;
718 @property(assign, nonatomic) CGRect cropArea;
719 
724 @property(assign, nonatomic) UInt32 backgroundColor;
725 
738 @property(assign, nonatomic) BOOL enableAlphaMask;
739 
743 @property(assign, nonatomic) AgoraVideoRotation rotation;
744 
748 @property(assign, nonatomic) AgoraVideoModulePosition position;
749 @end
750 
754 __attribute__((visibility("default"))) @interface AgoraLastmileProbeConfig : NSObject
761 @property (assign, nonatomic) BOOL probeUplink;
767 @property (assign, nonatomic) BOOL probeDownlink;
772 @property (assign, nonatomic) NSUInteger expectedUplinkBitrate;
777 @property (assign, nonatomic) NSUInteger expectedDownlinkBitrate;
778 @end
779 
783 __attribute__((visibility("default"))) @interface AgoraLastmileProbeOneWayResult : NSObject
787 @property (assign, nonatomic) NSUInteger packetLossRate;
791 @property (assign, nonatomic) NSUInteger jitter;
795 @property (assign, nonatomic) NSUInteger availableBandwidth;
796 @end
797 
801 __attribute__((visibility("default"))) @interface AgoraLastmileProbeResult : NSObject
805 @property (assign, nonatomic) AgoraLastmileProbeResultState state;
809 @property (assign, nonatomic) NSUInteger rtt;
813 @property (strong, nonatomic) AgoraLastmileProbeOneWayResult *_Nonnull uplinkReport;
817 @property (strong, nonatomic) AgoraLastmileProbeOneWayResult *_Nonnull downlinkReport;
818 @end
822 __attribute__((visibility("default"))) @interface AgoraRtcLocalVideoStats : NSObject
826 @property(assign, nonatomic) NSUInteger uid;
827 
832 @property(assign, nonatomic) NSUInteger sentBitrate;
837 @property(assign, nonatomic) NSUInteger sentFrameRate;
841 @property(assign, nonatomic) NSInteger captureFrameRate;
845 @property(assign, nonatomic) NSInteger captureFrameWidth;
849 @property(assign, nonatomic) NSInteger captureFrameHeight;
855 @property(assign, nonatomic) NSInteger regulatedCaptureFrameRate;
861 @property(assign, nonatomic) NSInteger regulatedCaptureFrameWidth;
867 @property(assign, nonatomic) NSInteger regulatedCaptureFrameHeight;
868 
872 @property(assign, nonatomic) NSInteger encoderOutputFrameRate;
876 @property(assign, nonatomic) NSInteger rendererOutputFrameRate;
880 @property(assign, nonatomic) NSInteger targetFrameRate;
885 @property(assign, nonatomic) AgoraVideoQualityAdaptIndication qualityAdaptIndication;
890 @property(assign, nonatomic) NSInteger targetBitrate;
895 @property(assign, nonatomic) NSInteger encodedBitrate;
899 @property(assign, nonatomic) NSInteger encodedFrameWidth;
903 @property(assign, nonatomic) NSInteger encodedFrameHeight;
907 @property(assign, nonatomic) NSInteger encodedFrameCount;
911 @property(assign, nonatomic) AgoraVideoCodecType codecType;
918 @property(assign, nonatomic) AgoraVideoEncodedFrameDepth encodedFrameDepth;
922 @property(assign, nonatomic) AgoraVideoHwEncoderAccelerating hwEncoderAccelerating;
927 @property(assign, nonatomic) NSInteger txPacketLossRate;
932 @property(assign, nonatomic) AgoraCaptureBrightnessLevelType captureBrightnessLevel NS_SWIFT_NAME(captureBrightnessLevel);
936 @property(assign, nonatomic) BOOL dualStreamEnabled;
937 @end
938 
942 __attribute__((visibility("default"))) @interface AgoraRtcRemoteVideoStats : NSObject
946 @property(assign, nonatomic) NSUInteger uid;
947 
954 @property(assign, nonatomic) NSUInteger delay __deprecated;
959 @property(assign, nonatomic) NSUInteger e2eDelay;
963 @property(assign, nonatomic) NSUInteger width;
967 @property(assign, nonatomic) NSUInteger height;
971 @property(assign, nonatomic) NSUInteger receivedBitrate;
975 @property(assign, nonatomic) AgoraVideoStreamType rxStreamType;
976 
980 @property(assign, nonatomic) NSInteger decoderOutputFrameRate;
984 @property(assign, nonatomic) NSInteger rendererOutputFrameRate;
988 @property(assign, nonatomic) NSInteger frameLossRate;
992 @property(assign, nonatomic) NSInteger packetLossRate;
998 @property(assign, nonatomic) NSInteger totalFrozenTime;
1004 @property(assign, nonatomic) NSUInteger totalActiveTime;
1008 @property(assign, nonatomic) NSInteger publishDuration;
1014 @property(assign, nonatomic) NSInteger frozenRate;
1019 @property(assign, nonatomic) NSInteger avSyncTimeMs;
1027 @property(assign, nonatomic) NSInteger mosValue;
1031 @property(assign, nonatomic) NSUInteger rxVideoBytes;
1032 
1033 @end
1034 
1038 __attribute__((visibility("default"))) @interface AgoraRtcLocalAudioStats : NSObject
1042 @property(assign, nonatomic) NSUInteger numChannels;
1046 @property(assign, nonatomic) NSUInteger sentSampleRate;
1050 @property(assign, nonatomic) NSUInteger sentBitrate;
1054 @property(assign, nonatomic) NSUInteger internalCodec;
1059 @property(assign, nonatomic) NSUInteger txPacketLossRate;
1063 @property(assign, nonatomic) NSUInteger audioDeviceDelay;
1067 @property(assign, nonatomic) NSUInteger audioPlayoutDelay;
1071 @property(assign, nonatomic) NSUInteger earMonitorDelay;
1076 @property(assign, nonatomic) NSUInteger aecEstimatedDelay;
1077 
1078 @end
1079 
1083 __attribute__((visibility("default"))) @interface AgoraRtcRemoteAudioStats : NSObject
1087 @property(assign, nonatomic) NSUInteger uid;
1088 
1092 @property(assign, nonatomic) NSUInteger quality;
1096 @property(assign, nonatomic) NSUInteger networkTransportDelay;
1102 @property(assign, nonatomic) NSUInteger jitterBufferDelay;
1106 @property(assign, nonatomic) NSUInteger audioLossRate;
1110 @property(assign, nonatomic) NSUInteger numChannels;
1114 @property(assign, nonatomic) NSUInteger receivedSampleRate;
1118 @property(assign, nonatomic) NSUInteger receivedBitrate;
1123 @property(assign, nonatomic) NSUInteger totalFrozenTime;
1129 @property(assign, nonatomic) NSUInteger totalActiveTime;
1133 @property(assign, nonatomic) NSInteger publishDuration;
1139 @property(assign, nonatomic) NSUInteger frozenRate;
1156 @property(assign, nonatomic) NSUInteger mosValue;
1161 @property (assign, nonatomic) NSUInteger frozenRateByCustomPlcCount;
1165 @property (assign, nonatomic) NSUInteger plcCount;
1166 
1171 @property (assign, nonatomic) NSUInteger frozenCntByCustom;
1172 
1177 @property (assign, nonatomic) NSUInteger frozenTimeByCustom;
1178 
1183 @property(assign, nonatomic) AgoraExperienceQuality qoeQuality;
1188 @property(assign, nonatomic) AgoraExperiencePoorReason qualityChangedReason;
1193 @property(assign, nonatomic) NSUInteger rxAudioBytes;
1198 @property(assign, nonatomic) NSInteger e2eDelay;
1199 @end
1200 
1204 __attribute__((visibility("default"))) @interface AgoraRtcAudioVolumeInfo : NSObject
1211 @property(assign, nonatomic) NSUInteger uid;
1212 
1220 @property(assign, nonatomic) NSUInteger volume;
1221 
1232 @property(assign, nonatomic) NSUInteger vad;
1233 
1239 @property (assign, nonatomic) double voicePitch;
1240 
1241 @end
1242 
1246 __attribute__((visibility("default"))) @interface AgoraChannelStats : NSObject
1250 @property(assign, nonatomic) NSUInteger duration;
1254 @property(assign, nonatomic) NSUInteger txBytes;
1258 @property(assign, nonatomic) NSUInteger rxBytes;
1262 @property(assign, nonatomic) NSUInteger txAudioKBitrate;
1266 @property(assign, nonatomic) NSUInteger rxAudioKBitrate;
1270 @property(assign, nonatomic) NSUInteger txVideoKBitrate;
1274 @property(assign, nonatomic) NSUInteger rxVideoKBitrate;
1278 @property(assign, nonatomic) NSUInteger txAudioBytes;
1282 @property(assign, nonatomic) NSUInteger txVideoBytes;
1286 @property(assign, nonatomic) NSUInteger rxAudioBytes;
1290 @property(assign, nonatomic) NSUInteger rxVideoBytes;
1294 @property(assign, nonatomic) NSUInteger lastmileDelay;
1298 @property(assign, nonatomic) NSUInteger userCount;
1304 @property(assign, nonatomic) double cpuAppUsage;
1310 @property(assign, nonatomic) double cpuTotalUsage;
1318 @property(assign, nonatomic) NSInteger gatewayRtt;
1323 @property(assign, nonatomic) double memoryAppUsageRatio;
1328 @property(assign, nonatomic) double memoryTotalUsageRatio;
1333 @property(assign, nonatomic) NSInteger memoryAppUsageInKbytes;
1338 @property(assign, nonatomic) NSInteger connectTimeMs;
1339 
1343 @property(assign, nonatomic) NSUInteger txKBitrate;
1347 @property(assign, nonatomic) NSUInteger rxKBitrate;
1348 
1351 @property(assign, nonatomic) NSInteger firstAudioPacketDuration;
1354 @property(assign, nonatomic) NSInteger firstVideoPacketDuration;
1357 @property(assign, nonatomic) NSInteger firstVideoKeyFramePacketDuration;
1360 @property(assign, nonatomic) NSInteger packetsBeforeFirstKeyFramePacket;
1365 @property(assign, nonatomic) NSInteger txPacketLossRate;
1370 @property(assign, nonatomic) NSInteger rxPacketLossRate;
1376 @property(assign, nonatomic) NSInteger lanAccelerateState;
1377 
1378 @end
1382 __attribute__((visibility("default"))) @interface AgoraAdvancedVideoOptions : NSObject
1386 @property(assign, nonatomic) AgoraEncodingPreference encodingPreference;
1387 
1391 @property(assign, nonatomic) AgoraCompressionPreference compressionPreference;
1392 
1398 @property(assign, nonatomic) BOOL encodeAlpha;
1399 
1400 @end
1401 
1405 __attribute__((visibility("default"))) @interface AgoraVideoCodecCapLevels : NSObject
1406 
1411 @property(assign, nonatomic) AgoraVideoCodecCapabilityLevel hwDecodingLevel;
1416 @property(assign, nonatomic) AgoraVideoCodecCapabilityLevel swDecodingLevel;
1417 
1418 @end
1419 
1424 __attribute__((visibility("default"))) @interface AgoraFocalLengthInfo : NSObject
1425 
1429 @property(assign, nonatomic) int cameraDirection;
1430 
1434 @property(assign, nonatomic) AgoraFocalLength focalLengthType;
1435 
1436 @end
1437 
1441 __attribute__((visibility("default"))) @interface AgoraVideoCodecCapInfo : NSObject
1442 
1446 @property(assign, nonatomic) AgoraVideoCodecType codecType;
1450 @property(assign, nonatomic) NSUInteger codecCapMask;
1451 
1455 @property(strong, nonatomic) AgoraVideoCodecCapLevels *_Nonnull codecCapLevels;
1456 
1457 @end
1461 __attribute__((visibility("default"))) @interface AgoraVideoEncoderConfiguration : NSObject
1490 @property(assign, nonatomic) CGSize dimensions;
1491 
1495 @property(assign, nonatomic) AgoraVideoCodecType codecType;
1496 
1501 @property(assign, nonatomic) NSInteger frameRate;
1502 
1512 @property(assign, nonatomic) NSInteger bitrate;
1513 
1522 @property(assign, nonatomic) NSInteger minBitrate;
1523 
1527 @property(assign, nonatomic) AgoraVideoOutputOrientationMode orientationMode;
1528 
1534 @property(assign, nonatomic) AgoraVideoMirrorMode mirrorMode;
1535 
1543 @property (assign, nonatomic) AgoraDegradationPreference degradationPreference;
1544 
1548 @property (strong, nonatomic) AgoraAdvancedVideoOptions *_Nullable advancedVideoOptions;
1549 
1561 - (instancetype _Nonnull)initWithSize:(CGSize)size
1562  frameRate:(NSInteger)frameRate
1563  bitrate:(NSInteger)bitrate
1564  orientationMode:(AgoraVideoOutputOrientationMode)orientationMode
1565  mirrorMode:(AgoraVideoMirrorMode)mirrorMode NS_SWIFT_NAME(init(size:frameRate:bitrate:orientationMode:mirrorMode:));
1566 
1579 - (instancetype _Nonnull)initWithWidth:(NSInteger)width
1580  height:(NSInteger)height
1581  frameRate:(NSInteger)frameRate
1582  bitrate:(NSInteger)bitrate
1583  orientationMode:(AgoraVideoOutputOrientationMode)orientationMode
1584  mirrorMode:(AgoraVideoMirrorMode)mirrorMode NS_SWIFT_NAME(init(width:height:frameRate:bitrate:orientationMode:mirrorMode:));
1585 @end
1586 
1590 __attribute__((visibility("default"))) @interface AgoraLiveTranscodingUser : NSObject
1594 @property(assign, nonatomic) NSUInteger uid;
1598 @property(assign, nonatomic) CGRect rect;
1608 @property(assign, nonatomic) NSInteger zOrder;
1614 @property(assign, nonatomic) double alpha;
1634 @property(assign, nonatomic) NSInteger audioChannel;
1635 @end
1636 
1645 __attribute__((visibility("default"))) @interface AgoraLiveStreamAdvancedFeature : NSObject
1646 
1651 @property(copy, nonatomic) NSString* _Nullable featureName;
1652 
1658 @property(assign, nonatomic) BOOL opened;
1659 @end
1660 
1668 __attribute__((visibility("default"))) @interface AgoraImage : NSObject
1673 @property(strong, nonatomic) NSURL *_Nonnull url;
1677 @property(assign, nonatomic) CGRect rect;
1685 @property (assign, nonatomic) NSInteger zOrder;
1691 @property(assign, nonatomic) double alpha;
1692 @end
1693 
1701 __attribute__((visibility("default"))) @interface WatermarkOptions : NSObject
1707 @property(assign, nonatomic) BOOL visibleInPreview;
1716 @property(assign, nonatomic) CGRect positionInLandscapeMode;
1725 @property(assign, nonatomic) CGRect positionInPortraitMode;
1729 @property(assign, nonatomic) int zOrder;
1730 @end
1731 
1742 __attribute__((visibility("default"))) @interface WatermarkBuffer : NSObject
1746  @property(assign, nonatomic) int width;
1750  @property(assign, nonatomic) int height;
1754  @property(assign, nonatomic) int length;
1758  @property(strong, nonatomic) NSData* _Nullable buffer;
1762 @property(assign, nonatomic) WatermarkBufferFormat format;
1763 @end
1764 
1770 __attribute__((visibility("default"))) @interface WatermarkConfig : NSObject
1774 @property(copy, nonatomic) NSString* _Nonnull id;
1778 @property(assign, nonatomic) WatermarkType type;
1782 @property(strong, nonatomic) WatermarkBuffer* _Nullable buffer;
1786 @property(strong, nonatomic) NSURL *_Nullable imageUrl;
1790 @property(strong, nonatomic) WatermarkOptions* _Nonnull options;
1791 @end
1792 
1796 __attribute__((visibility("default"))) @interface AgoraLiveTranscoding : NSObject
1801 @property(copy, nonatomic) NSArray<AgoraLiveTranscodingUser*>* _Nullable transcodingUsers;
1802 
1814 @property(assign, nonatomic) CGSize size;
1821 @property(assign, nonatomic) NSInteger videoBitrate;
1827 @property(assign, nonatomic) NSInteger videoFramerate;
1835 @property(assign, nonatomic) BOOL lowLatency;
1839 @property(assign, nonatomic) NSInteger videoGop;
1845 @property(assign, nonatomic) AgoraVideoCodecProfileType videoCodecProfile;
1846 
1851 @property(assign, nonatomic) AgoraVideoCodecTypeForStream videoCodecType;
1852 
1858 @property(copy, nonatomic) NSString* _Nullable transcodingExtraInfo;
1859 
1866 @property(copy, nonatomic) NSArray<AgoraImage*>* _Nullable watermarkArray;
1867 
1874 @property(copy, nonatomic) NSArray<AgoraImage*>* _Nullable backgroundImageArray;
1875 
1884 @property(strong, nonatomic) COLOR_CLASS* _Nullable backgroundColor;
1885 
1889 @property(assign, nonatomic) AgoraAudioSampleRateType audioSampleRate;
1894 @property(assign, nonatomic) NSInteger audioBitrate;
1904 @property(assign, nonatomic) NSInteger audioChannels;
1908 @property(assign, nonatomic) AgoraAudioCodecProfileType audioCodecProfile;
1909 
1914 + (AgoraLiveTranscoding* _Nonnull)defaultTranscoding NS_SWIFT_NAME(default());
1915 
1923 - (int)addUser:(AgoraLiveTranscodingUser* _Nonnull)user NS_SWIFT_NAME(add(_:));
1924 
1932 - (int)removeUser:(NSUInteger)uid NS_SWIFT_NAME(removeUser(_:));
1933 
1943 - (void)setAdvancedFeatures:(NSString* _Nonnull)featureName opened:(BOOL)opened NS_SWIFT_NAME(setAdvancedFeatures(_:opened:));
1944 
1948 - (NSArray<AgoraLiveStreamAdvancedFeature*>* _Nullable)getAdvancedFeatures NS_SWIFT_NAME(getAdvancedFeatures());
1949 
1950 @end
1951 
1954 __attribute__((visibility("default"))) @interface AgoraLiveInjectStreamConfig : NSObject
1958 @property(assign, nonatomic) CGSize size;
1961 @property(assign, nonatomic) NSInteger videoGop;
1964 @property(assign, nonatomic) NSInteger videoFramerate;
1967 @property(assign, nonatomic) NSInteger videoBitrate;
1968 
1971 @property(assign, nonatomic) AgoraAudioSampleRateType audioSampleRate;
1974 @property(assign, nonatomic) NSInteger audioBitrate;
1977 @property(assign, nonatomic) NSInteger audioChannels;
1978 
1983 + (AgoraLiveInjectStreamConfig *_Nonnull)defaultConfig NS_SWIFT_NAME(defaultConfig());
1984 @end
1985 
1986  __deprecated
1987 
1990  __attribute__((visibility("default"))) @interface AgoraRtcVideoCompositingRegion
1991  : NSObject
1994  @property(assign, nonatomic) NSUInteger uid;
1997 @property(assign, nonatomic) CGFloat x;
2000 @property(assign, nonatomic) CGFloat y;
2003 @property(assign, nonatomic) CGFloat width;
2006 @property(assign, nonatomic) CGFloat height;
2009 @property(assign, nonatomic) NSInteger zOrder;
2012 @property(assign, nonatomic) CGFloat alpha;
2015 @property(assign, nonatomic) AgoraVideoRenderMode renderMode;
2016 @end
2017 
2018  __deprecated
2021  __attribute__((visibility("default"))) @interface AgoraRtcVideoCompositingLayout
2022  : NSObject
2025  @property(assign, nonatomic) NSInteger canvasWidth;
2028 @property(assign, nonatomic) NSInteger canvasHeight;
2031 @property(copy, nonatomic) NSString *_Nullable backgroundColor;
2034 @property(copy, nonatomic) NSArray<AgoraRtcVideoCompositingRegion *> *_Nullable regions;
2037 @property(copy, nonatomic) NSString *_Nullable appData;
2038 @end
2039 
2045  __deprecated __attribute__((visibility("default"))) @interface AgoraPublisherConfiguration
2046  : NSObject
2052  @property(assign, nonatomic) BOOL owner;
2053 
2056 @property(assign, nonatomic) NSInteger width;
2059 @property(assign, nonatomic) NSInteger height;
2062 @property(assign, nonatomic) NSInteger framerate;
2065 @property(assign, nonatomic) NSInteger bitrate;
2068 @property(assign, nonatomic) NSInteger audiosamplerate;
2071 @property(assign, nonatomic) NSInteger audiobitrate;
2074 @property(assign, nonatomic) NSInteger audiochannels;
2075 
2082 @property(assign, nonatomic) NSInteger defaultLayout;
2085 @property(assign, nonatomic) AgoraRtmpStreamLifeCycle lifeCycle;
2086 
2089 @property(assign, nonatomic) NSInteger injectStreamWidth;
2090 
2093 @property(assign, nonatomic) NSInteger injectStreamHeight;
2094 
2097 @property(copy, nonatomic) NSString *_Nullable injectStreamUrl;
2098 
2101 @property(copy, nonatomic) NSString *_Nullable publishUrl;
2102 
2106 @property(copy, nonatomic) NSString *_Nullable rawStreamUrl;
2107 
2110 @property(copy, nonatomic) NSString *_Nullable extraInfo;
2111 
2114 - (BOOL)validate NS_SWIFT_NAME(validate());
2115 
2116 - (NSString * _Nullable)toJsonString NS_SWIFT_NAME(toJsonString());
2117 @end
2118 
2119 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
2120 
2124 __attribute__((visibility("default"))) @interface AgoraRtcDeviceInfo : NSObject
2125 @property (assign, nonatomic) int __deprecated index;
2126 
2130 @property(assign, nonatomic) AgoraMediaDeviceType type;
2131 
2135 @property(copy, nonatomic) NSString *_Nullable deviceId;
2136 
2140 @property(copy, nonatomic) NSString *_Nullable deviceName;
2141 
2145 @property(copy, nonatomic) NSString *_Nullable deviceTypeName;
2146 @end
2147 #endif
2148 
2152 __attribute__((visibility("default"))) @interface AgoraColorSpace : NSObject
2155 @property(assign, nonatomic) AgoraColorPrimaryID primaryID;
2158 @property(assign, nonatomic) AgoraColorTransferID transferID;
2161 @property(assign, nonatomic) AgoraColorMatrixID matrixID;
2164 @property(assign, nonatomic) AgoraColorRangeID rangeID;
2165 @end
2166 
2170 __attribute__((visibility("default"))) @interface AgoraVideoFrame : NSObject
2184 @property(assign, nonatomic) NSInteger format;
2185 
2190 @property(assign, nonatomic) CMTime time; // Time for this frame.
2191 
2203 @property(assign, nonatomic) int stride DEPRECATED_MSG_ATTRIBUTE("use strideInPixels instead");
2204 
2208 @property(assign, nonatomic) int strideInPixels; // Number of pixels between two consecutive rows.
2209  // Note: in pixel, not byte. Not used for iOS
2210  // textures.
2211 
2215 @property(assign, nonatomic) int height; // Number of rows of pixels. Not used for iOS textures.
2216 
2220 @property(assign, nonatomic) CVPixelBufferRef _Nullable textureBuf;
2221 
2224 @property(strong, nonatomic) IMAGE_CLASS * _Nullable image;
2225 
2229 @property(strong, nonatomic) NSData *_Nullable dataBuf; // Raw data buffer. Not used for iOS textures.
2230 
2240 @property(strong, nonatomic) NSData *_Nullable metadataBuffer;
2248 @property(assign, nonatomic) int metadataSize;
2249 
2255 @property(strong, nonatomic) NSData *_Nullable alphaBuf;
2260 @property(assign, nonatomic) AgoraAlphaStitchMode alphaStitchMode;
2261 
2265 @property(assign, nonatomic) int cropLeft; // Number of pixels to crop on the left boundary.
2269 @property(assign, nonatomic) int cropTop; // Number of pixels to crop on the top boundary.
2273 @property(assign, nonatomic) int cropRight; // Number of pixels to crop on the right boundary.
2277 @property(assign, nonatomic) int cropBottom; // Number of pixels to crop on the bottom boundary.
2282 @property(assign, nonatomic) int rotation; // 0, 90, 180, 270. See document for rotation calculation.
2283 
2288 @property(strong, nonatomic) AgoraColorSpace *_Nullable colorSpace;
2289 /* Note
2290  * 1. strideInPixels
2291  * Stride is in pixels, not bytes
2292  * 2. About the frame width and height
2293  * No field is defined for the width. However, it can be deduced by:
2294  * croppedWidth = (strideInPixels - cropLeft - cropRight)
2295  * And
2296  * croppedHeight = (height - cropTop - cropBottom)
2297  * 3. About crop
2298  * _________________________________________________________________.....
2299  * | ^ | ^
2300  * | | | |
2301  * | cropTop | |
2302  * | | | |
2303  * | v | |
2304  * | ________________________________ | |
2305  * | | | | |
2306  * | | | | |
2307  * |<-- cropLeft -->| valid region |<- cropRight ->|
2308  * | | | | height
2309  * | | | |
2310  * | |_____________________________ | | |
2311  * | ^ | |
2312  * | | | |
2313  * | cropBottom | |
2314  * | | | |
2315  * | v | v
2316  * _________________________________________________________________......
2317  * | |
2318  * |<---------------- strideInPixels ----------------------------->|
2319  *
2320  * If your buffer contains garbage data, you can crop them. For example, the frame size is
2321  * 360 x 640, often the buffer stride is 368, that is, there extra 8 pixels on the
2322  * right are for padding, and should be removed. In this case, you can set:
2323  * strideInPixels = 368;
2324  * height = 640;
2325  * cropRight = 8;
2326  * // cropLeft, cropTop, cropBottom are set to a default of 0
2327  */
2328 
2331 - (void)fillAlphaData;
2332 @end
2333 
2337 __attribute__((visibility("default"))) @interface AgoraLogConfig: NSObject
2350 @property (copy, nonatomic) NSString * _Nullable filePath;
2357 @property (assign, nonatomic) NSInteger fileSizeInKB;
2363 @property (assign, nonatomic) AgoraLogLevel level;
2364 @end
2365 
2369 __attribute__((visibility("default"))) @interface AgoraRtcEngineConfig: NSObject
2370 
2377  @property (copy, nonatomic) NSString * _Nullable appId;
2378 
2382  @property (assign, nonatomic) AgoraChannelProfile channelProfile;
2383 
2387  @property (copy, nonatomic) NSString * _Nullable license;
2388 
2393  @property (assign, nonatomic) AgoraAudioScenario audioScenario;
2399  @property (assign, nonatomic) AgoraAreaCodeType areaCode;
2419  @property (strong, nonatomic) AgoraLogConfig * _Nullable logConfig;
2425  @property (assign, nonatomic) AgoraThreadPriorityType threadPriority;
2429  @property (weak, nonatomic) id<AgoraMediaFilterEventDelegate> _Nullable eventDelegate;
2438  @property (assign, nonatomic) BOOL domainLimit;
2439 
2447  @property (assign, nonatomic) BOOL autoRegisterAgoraExtensions;
2448 
2454  @property (copy, nonatomic) NSString * _Nullable parameters;
2455 @end
2456 
2460 __attribute__((visibility("default"))) @interface AgoraAudioFrame : NSObject
2464 @property(assign, nonatomic) NSInteger samplesPerChannel;
2468 @property(assign, nonatomic) NSInteger bytesPerSample;
2474 @property(assign, nonatomic) NSInteger channels;
2478 @property(assign, nonatomic) NSInteger samplesPerSec;
2484 @property(assign, nonatomic) void* _Nullable buffer;
2491 @property(assign, nonatomic) int64_t renderTimeMs;
2494 @property(assign, nonatomic) int64_t presentationMs;
2498 @property(assign, nonatomic) NSInteger avSyncType;
2502 @property(assign, nonatomic) uint32_t rtpTimestamp;
2503 @end
2504 
2528 __attribute__((visibility("default"))) @interface AgoraAudioParams : NSObject
2529 
2538 @property (assign, nonatomic) NSInteger sampleRate;
2539 
2545 @property (assign, nonatomic) NSInteger channel;
2546 
2550 @property (assign, nonatomic) AgoraAudioRawFrameOperationMode mode;
2551 
2555 @property (assign, nonatomic) NSInteger samplesPerCall;
2556 
2557 @end
2558 
2562 __attribute__((visibility("default"))) @interface AgoraEncodedAudioFrameInfo: NSObject
2566  @property (assign, nonatomic) NSInteger samplesPerChannel;
2570  @property (assign, nonatomic) NSInteger channels;
2574  @property (assign, nonatomic) NSInteger samplesPerSec;
2578  @property (assign, nonatomic) AgoraAudioCodecType codecType;
2579 @end
2580 
2584 __attribute__((visibility("default"))) @interface AgoraUplinkNetworkInfo : NSObject
2588 @property(nonatomic, assign) int videoEncoderTargetBitrateBps;
2589 @end
2590 
2594 __attribute__((visibility("default"))) @interface AgoraDownlinkNetworkInfo : NSObject
2598 @property(nonatomic, assign) int lastmileBufferDelayTimeMs;
2602 @property(nonatomic, assign) int bandwidthEstimationBps;
2603 @end
2604 
2608 __attribute__((visibility("default"))) @interface AgoraLeaveChannelOptions : NSObject
2614 @property(nonatomic, assign) BOOL stopAudioMixing;
2615 
2621 @property(nonatomic, assign) BOOL stopAllEffect;
2622 
2628 @property(nonatomic, assign) BOOL stopMicrophoneRecording;
2629 
2630 @end
2631 
2640 __attribute__((visibility("default"))) @interface AgoraOutputVideoFrame : NSObject
2641 
2655 @property (nonatomic, assign) NSInteger type;
2659 @property (nonatomic, assign) int width;
2663 @property (nonatomic, assign) int height;
2669 @property (nonatomic, assign) int yStride;
2675 @property (nonatomic, assign) int uStride;
2681 @property (nonatomic, assign) int vStride;
2685 @property (nonatomic, assign) uint8_t* _Nullable yBuffer;
2689 @property (nonatomic, assign) uint8_t* _Nullable uBuffer;
2693 @property (nonatomic, assign) uint8_t* _Nullable vBuffer;
2698 @property (nonatomic, assign) int rotation;
2703 @property (nonatomic, assign) int64_t renderTimeMs;
2707 @property (nonatomic, assign) int avSyncType;
2708 
2712 @property(assign, nonatomic) CVPixelBufferRef _Nullable pixelBuffer;
2722 @property (nonatomic, assign) uint8_t* _Nullable alphaBuffer;
2727 @property (nonatomic, assign) AgoraAlphaStitchMode alphaStitchMode;
2728 
2738 @property (nonatomic, assign) uint8_t* _Nullable metadataBuffer;
2746 @property (nonatomic, assign) int metadataSize;
2747 
2751 @property(nonatomic, strong) NSDictionary *_Nonnull metaInfo;
2752 
2757 @property(nonatomic, strong) AgoraColorSpace* _Nullable colorSpace;
2758 
2759 @end
2760 
2764 __attribute__((visibility("default"))) @interface AgoraEncryptionConfig: NSObject
2765 
2771  @property (assign, nonatomic) AgoraEncryptionMode encryptionMode;
2772 
2778  @property (copy, nonatomic) NSString * _Nullable encryptionKey;
2786  @property (strong, nonatomic) NSData * _Nullable encryptionKdfSalt;
2792  @property (assign, nonatomic) BOOL datastreamEncryptionEnabled;
2793  @end
2794 
2798 __attribute__((visibility("default"))) @interface AgoraUserInfo: NSObject
2799 
2803 @property(assign, nonatomic) NSUInteger uid;
2804 
2808  @property (copy, nonatomic) NSString * _Nullable userAccount;
2809  @end
2810 
2814 __attribute__((visibility("default"))) @interface AgoraClientRoleOptions: NSObject
2815 
2820 @property (assign, nonatomic) AgoraAudienceLatencyLevelType audienceLatencyLevel;
2821 
2822 @end
2823 
2827 __attribute__((visibility("default"))) @interface AgoraCameraCapturerConfiguration: NSObject
2833 #if TARGET_OS_IOS
2834 
2837 @property (assign, nonatomic) AgoraCameraDirection cameraDirection;
2851 @property(assign, nonatomic) AgoraFocalLength cameraFocalLengthType;
2852 #elif TARGET_OS_MAC
2853 
2856 @property (copy, nonatomic) NSString * _Nullable deviceId;
2857 #endif
2858 
2862 @property(assign, nonatomic) CGSize dimensions;
2863 
2867 @property(assign, nonatomic) int frameRate;
2868 
2877 @property(assign, nonatomic) BOOL followEncodeDimensionRatio;
2878 
2879 @end
2880 
2894 __attribute__((visibility("default"))) @interface AgoraDataStreamConfig: NSObject
2895 
2903 @property (assign, nonatomic) BOOL ordered;
2904 
2916 @property (assign, nonatomic) BOOL syncWithAudio;
2917 @end
2918 
2919 
2923 __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayInfo: NSObject
2927 @property (copy, nonatomic) NSString * _Nullable token;
2931 @property (copy, nonatomic) NSString * _Nullable channelName;
2935 @property (assign, nonatomic) NSUInteger uid;
2940 - (instancetype _Nonnull)initWithToken:(NSString *_Nullable)token NS_SWIFT_NAME(init(token:));
2941 @end
2942 
2946 __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayConfiguration: NSObject
2964 @property (strong, nonatomic, readonly) NSDictionary<NSString *, AgoraChannelMediaRelayInfo *> *_Nullable destinationInfos;
2979 @property (strong, nonatomic) AgoraChannelMediaRelayInfo *_Nonnull sourceInfo;
3000 - (BOOL)setDestinationInfo:(AgoraChannelMediaRelayInfo *_Nonnull)destinationInfo forChannelName:(NSString *_Nonnull)channelName NS_SWIFT_NAME(setDestinationInfo(_:forChannelName:));
3010 - (BOOL)removeDestinationInfoForChannelName:(NSString *_Nonnull)channelName NS_SWIFT_NAME(removeDestinationInfo(forChannelName:));
3011 @end
3012 
3013 
3017 __attribute__((visibility("default"))) @interface AgoraBeautyOptions : NSObject
3018 
3023 @property(nonatomic, assign) AgoraLighteningContrastLevel lighteningContrastLevel;
3024 
3029 @property(nonatomic, assign) float lighteningLevel;
3030 
3035 @property(nonatomic, assign) float smoothnessLevel;
3036 
3041 @property(nonatomic, assign) float rednessLevel;
3042 
3047 @property(nonatomic, assign) float sharpnessLevel;
3048 
3049 @end
3050 
3054 __attribute__((visibility("default"))) @interface AgoraFaceShapeAreaOptions : NSObject
3058 @property(nonatomic, assign) AgoraFaceShapeArea shapeArea;
3063 @property(nonatomic, assign) int shapeIntensity;
3064 
3065 @end
3066 
3070 __attribute__((visibility("default"))) @interface AgoraFaceShapeBeautyOptions: NSObject
3074 @property(nonatomic, assign) AgoraFaceShapeStyle shapeStyle;
3080 @property(nonatomic, assign) int styleIntensity;
3081 
3082 @end
3083 
3087 __attribute__((visibility("default"))) @interface AgoraFilterEffectOptions: NSObject
3105 @property(nonatomic, copy) NSString* _Nullable path NS_SWIFT_NAME(path);
3106 
3111 @property(nonatomic, assign) float strength;
3112 
3113 @end
3114 
3118 __attribute__((visibility("default"))) @interface AgoraVideoDenoiserOptions : NSObject
3119 
3123 @property(nonatomic, assign) AgoraVideoDenoiserMode mode;
3124 
3128 @property(nonatomic, assign) AgoraVideoDenoiserLevel level;
3129 
3130 @end
3131 
3135 __attribute__((visibility("default"))) @interface AgoraLowlightEnhanceOptions : NSObject
3136 
3140 @property(nonatomic, assign) AgoraLowlightEnhanceMode mode;
3141 
3145 @property(nonatomic, assign) AgoraLowlightEnhanceLevel level;
3146 
3147 @end
3148 
3152 __attribute__((visibility("default"))) @interface AgoraColorEnhanceOptions : NSObject
3153 
3159 @property(nonatomic, assign) float strengthLevel;
3160 
3172 @property(nonatomic, assign) float skinProtectLevel;
3173 
3174 @end
3175 
3176 
3180 __attribute__((visibility("default"))) @interface AgoraVirtualBackgroundSource : NSObject
3181 
3185 @property(nonatomic, assign) AgoraVirtualBackgroundSourceType backgroundSourceType NS_SWIFT_NAME(backgroundSourceType);
3186 
3199 @property(nonatomic, assign) NSUInteger color NS_SWIFT_NAME(color);
3200 
3208 @property(nonatomic, copy) NSString* _Nullable source NS_SWIFT_NAME(source);
3209 
3215 @property(nonatomic, assign) AgoraBlurDegree blurDegree;
3216 
3217 @end
3218 
3222 __attribute__((visibility("default"))) @interface AgoraSegmentationProperty: NSObject
3223 
3227 @property(nonatomic, assign) SegModelType modelType;
3228 
3237 @property(nonatomic, assign) float greenCapacity;
3238 
3242 @property(nonatomic, assign) ScreenColorType screenColorType;
3243 
3244 @end
3248 __attribute__((visibility("default"))) @interface AgoraTranscodingVideoStream: NSObject
3254 @property (assign, nonatomic) NSUInteger remoteUserUid;
3255 
3259 @property (assign, nonatomic) AgoraVideoSourceType sourceType;
3267 @property (copy, nonatomic) NSString * _Nullable imageUrl;
3272 @property(assign, nonatomic) NSUInteger mediaPlayerId;
3277 @property (assign, nonatomic) CGRect rect;
3284 @property (assign, nonatomic) NSInteger zOrder;
3289 @property(assign, nonatomic) double alpha;
3296 @property(assign, nonatomic) BOOL mirror;
3297 
3298 @end
3299 
3303 __attribute__((visibility("default"))) @interface AgoraMixedAudioStream: NSObject
3307 @property (assign, nonatomic) AgoraAudioSourceType sourceType;
3313 @property (assign, nonatomic) NSUInteger remoteUserUid;
3327 @property (copy, nonatomic) NSString * _Nullable channelId;
3334 @property (assign, nonatomic) NSUInteger trackId;
3335 
3336 @end
3337 
3341 __attribute__((visibility("default"))) @interface AgoraLocalAudioMixerConfiguration: NSObject
3342 
3346 @property(copy, nonatomic) NSArray<AgoraMixedAudioStream *> *_Nullable audioInputStreams;
3347 
3355 @property(assign, nonatomic) BOOL syncWithLocalMic;
3356 
3357 @end
3358 
3362 __attribute__((visibility("default"))) @interface AgoraLocalTranscoderConfiguration: NSObject
3363 
3367 @property(copy, nonatomic) NSArray<AgoraTranscodingVideoStream *> *_Nullable videoInputStreams;
3368 
3373 @property (strong, nonatomic) AgoraVideoEncoderConfiguration *_Nonnull videoOutputConfiguration;
3374 
3380 @property(assign, nonatomic) BOOL syncWithPrimaryCamera;
3381 
3382 @end
3383 
3387 __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters: NSObject
3409 @property (assign, nonatomic) CGSize dimensions;
3414 @property (assign, nonatomic) NSInteger frameRate;
3419 @property (assign, nonatomic) NSInteger bitrate;
3420 
3428 @property(assign, nonatomic) BOOL captureMouseCursor;
3429 
3438 @property(assign, nonatomic) BOOL windowFocus;
3439 
3447 @property(copy, nonatomic) NSArray* _Nullable excludeWindowList;
3448 
3456 @property(assign, nonatomic) BOOL highLighted;
3460 @property(strong, nonatomic) COLOR_CLASS* _Nullable highLightColor;
3465 @property(assign, nonatomic) NSUInteger highLightWidth;
3466 
3467 @property(assign, nonatomic) BOOL captureAudio;
3468 
3469 @end
3470 
3471 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
3472 
3475 __attribute__((visibility("default"))) @interface AgoraScreenCaptureConfiguration: NSObject
3481 @property(assign, nonatomic) BOOL isCaptureWindow;
3486 @property(assign, nonatomic) UInt32 displayId;
3491 @property(assign, nonatomic) UInt32 windowId;
3492 
3496 @property(strong, nonatomic) AgoraScreenCaptureParameters* _Nonnull params;
3500 @property(assign, nonatomic) CGRect regionRect;
3501 
3502 @end
3503 #endif
3504 
3508 __attribute__((visibility("default"))) @interface AgoraScreenVideoParameters : NSObject
3509 
3513 @property(assign, nonatomic) CGSize dimensions;
3517 @property(assign, nonatomic) NSInteger frameRate;
3521 @property(assign, nonatomic) NSInteger bitrate;
3522 
3526 @property(assign, nonatomic) AgoraVideoContentHint contentHint;
3527 
3528 @end
3529 
3537 __attribute__((visibility("default"))) @interface AgoraScreenAudioParameters : NSObject
3538 
3542 @property(assign, nonatomic) NSInteger captureSignalVolume;
3543 
3544 @end
3545 
3549 __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters2 : NSObject
3558 @property(assign, nonatomic) BOOL captureAudio;
3563 @property(strong, nonatomic) AgoraScreenAudioParameters* _Nonnull audioParams;
3569 @property(assign, nonatomic) BOOL captureVideo;
3574 @property(strong, nonatomic) AgoraScreenVideoParameters* _Nonnull videoParams;
3575 @end
3576 
3580 __attribute__((visibility("default"))) @interface AgoraAudioRecordingConfiguration: NSObject
3586 @property (copy, nonatomic) NSString * _Nullable filePath;
3597 @property (assign, nonatomic) NSUInteger sampleRate;
3601 @property (assign, nonatomic) AgoraAudioFileRecordingType fileRecordOption;
3606 @property (assign, nonatomic) AgoraAudioRecordingQuality quality;
3607 
3621 @property (assign, nonatomic) NSInteger recordingChannel;
3622 
3623 @end
3624 
3628 __attribute__((visibility("default"))) @interface AgoraSimulcastStreamConfig: NSObject
3629 
3635  @property (assign, nonatomic) int kBitrate;
3639  @property (assign, nonatomic) int framerate;
3643  @property (assign, nonatomic) CGSize dimensions;
3644  @end
3645 
3656 __attribute__((visibility("default"))) @interface AgoraStreamLayerConfig: NSObject
3660  @property (assign, nonatomic) CGSize dimensions;
3664  @property (assign, nonatomic) int framerate;
3670  @property (assign, nonatomic) BOOL enable;
3671 @end
3672 
3678 __attribute__((visibility("default"))) @interface AgoraSimulcastConfig: NSObject
3682  @property (copy, nonatomic, readonly) NSArray<AgoraStreamLayerConfig*>* _Nonnull configs;
3691  @property (assign, nonatomic) BOOL publishFallbackEnable;
3692 @end
3693 
3697 __attribute__((visibility("default"))) @interface AgoraRtcMediaStreamInfo : NSObject
3701 @property(nonatomic, assign) NSInteger streamIndex;
3705 @property(nonatomic, assign) AgoraMediaStreamType streamType;
3709 @property(nonatomic, copy) NSString *_Nonnull codecName;
3713 @property(nonatomic, copy) NSString *_Nullable language;
3717 @property(nonatomic, assign) NSInteger videoFrameRate;
3721 @property(nonatomic, assign) NSInteger videoBitRate;
3725 @property(nonatomic, assign) NSInteger videoWidth;
3729 @property(nonatomic, assign) NSInteger videoHeight;
3733 @property(nonatomic, assign) NSInteger audioSampleRate;
3737 @property(nonatomic, assign) NSInteger audioChannels;
3741 @property(nonatomic, assign) NSInteger duration;
3745 @property(nonatomic, assign) NSInteger rotation;
3746 
3747 @end
3748 
3752 __attribute__((visibility("default"))) @interface AgoraAudioSpectrumInfo : NSObject
3753 
3757 @property(nonatomic, assign) NSInteger uid;
3761 @property(nonatomic, strong) NSArray<NSNumber *> * _Nullable audioSpectrumData;
3762 
3763 @end
3764 
3768 __attribute__((visibility("default"))) @interface AgoraAudioEncodedFrameDelegateConfig: NSObject
3772 @property (assign, nonatomic) AgoraAudioEncodedFrameDelegatePosition postionType;
3776 @property (assign, nonatomic) AgoraAudioEncodingType encodingType;
3777 @end
3778 
3783 __attribute__((visibility("default"))) @interface AgoraContentInspectModule: NSObject
3787 @property (assign, nonatomic) AgoraContentInspectType type;
3788 
3794 @property (assign, nonatomic) NSInteger interval;
3795 
3799 @property (assign, nonatomic) AgoraVideoModulePosition position;
3800 @end
3801 
3805 __attribute__((visibility("default"))) @interface AgoraContentInspectConfig: NSObject
3812 @property (nonatomic, copy) NSString* _Nullable extraInfo;
3819 @property (nonatomic, copy) NSString* _Nullable serverConfig;
3827 @property(copy, nonatomic) NSArray<AgoraContentInspectModule*>* _Nullable modules;
3828 @end
3829 
3833 __attribute__((visibility("default"))) @interface AgoraSnapshotConfig: NSObject
3839 @property (copy, nonatomic) NSString * _Nullable filePath;
3847 @property(assign, nonatomic) AgoraVideoModulePosition position;
3848 @end
3849 
3853 __attribute__((visibility("default"))) @interface AgoraRtcConnection: NSObject <NSCopying>
3854 
3862 - (instancetype _Nonnull)initWithChannelId:(NSString *_Nonnull)channelId localUid:(NSInteger)localUid;
3863 
3867 @property (nonatomic, copy) NSString *_Nonnull channelId;
3868 
3872 @property (nonatomic, assign) NSUInteger localUid;
3873 
3874 @end
3875 
3879 __attribute__((visibility("default"))) @interface AgoraVideoSubscriptionOptions: NSObject
3880 
3886 @property (nonatomic, assign) AgoraVideoStreamType type;
3893 @property (nonatomic, assign) BOOL encodedFrameOnly;
3894 
3895 @end
3896 
3900 __attribute__((visibility("default"))) @interface AgoraRecorderStreamInfo: NSObject
3904 @property (nonatomic, nonatomic) NSUInteger uid;
3905 
3909 @property (nonatomic, copy) NSString *_Nonnull channelId;
3913 @property (assign, nonatomic) AgoraRecorderStreamType type;
3914 @end
3915 
3919 __attribute__((visibility("default"))) @interface AgoraEncodedVideoFrameInfo: NSObject
3920 
3925 @property (assign, nonatomic) AgoraVideoCodecType codecType;
3929 @property (assign, nonatomic) NSInteger width;
3933 @property (assign, nonatomic) NSInteger height;
3939 @property (assign, nonatomic) NSInteger framesPerSecond;
3943 @property (assign, nonatomic) AgoraVideoFrameType frameType;
3947 @property (assign, nonatomic) NSInteger rotation;
3951 @property (assign, nonatomic) NSInteger trackId; // This can be reserved for multiple video tracks, we need to create different ssrc
3952  // and additional payload for later implementation.
3956 @property (assign, nonatomic) NSInteger captureTimeMs;
3960 @property (assign, nonatomic) NSInteger decodeTimeMs;
3964 @property (assign, nonatomic) AgoraVideoStreamType streamType;
3965 @end
3966 
3970 NS_SWIFT_NAME(LogUploadServerInfo) __attribute__((visibility("default"))) @interface LogUploadServerInfo : NSObject
3974 @property(copy, nonatomic) NSString* _Nullable serverDomain;
3978 @property(copy, nonatomic) NSString* _Nullable serverPath;
3982 @property(assign, nonatomic) NSInteger serverPort;
3988 @property(assign, nonatomic) BOOL serverHttps;
3989 @end
3990 
3994 NS_SWIFT_NAME(AdvancedConfigInfo) __attribute__((visibility("default"))) @interface AdvancedConfigInfo : NSObject
3999 @property(strong, nonatomic) LogUploadServerInfo* _Nullable logUploadServer;
4000 @end
4001 
4005 NS_SWIFT_NAME(AgoraLocalAccessPointConfiguration) __attribute__((visibility("default"))) @interface AgoraLocalAccessPointConfiguration : NSObject
4010 @property(copy, nonatomic) NSArray* _Nullable ipList NS_SWIFT_NAME(ipList);
4019 @property(copy, nonatomic) NSArray* _Nullable domainList NS_SWIFT_NAME(domainList);
4024 @property(copy, nonatomic) NSString* _Nullable verifyDomainName NS_SWIFT_NAME(verifyDomainName);
4028 @property(assign, nonatomic) AgoraLocalProxyMode mode NS_SWIFT_NAME(mode);
4032 @property(strong, nonatomic) AdvancedConfigInfo* _Nullable advancedConfig NS_SWIFT_NAME(advancedConfig);
4038 @property(assign, nonatomic) BOOL disableAut;
4039 @end
4040 
4044 __attribute__((visibility("default"))) @interface AgoraRhythmPlayerConfig: NSObject
4049 @property (assign, nonatomic) int beatsPerMeasure;
4054 @property (assign, nonatomic) int beatsPerMinute;
4055 
4056 @end
4057 
4061 NS_SWIFT_NAME(AgoraFacePositionInfo) __attribute__((visibility("default"))) @interface AgoraFacePositionInfo : NSObject
4062 
4068 @property(assign, nonatomic) NSInteger x NS_SWIFT_NAME(x);
4069 
4075 @property(assign, nonatomic) NSInteger y NS_SWIFT_NAME(y);
4076 
4080 @property(assign, nonatomic) NSInteger width NS_SWIFT_NAME(width);
4081 
4085 @property(assign, nonatomic) NSInteger height NS_SWIFT_NAME(height);
4086 
4090 @property(assign, nonatomic) NSInteger distance NS_SWIFT_NAME(distance);
4091 @end
4092 
4096 __attribute__((visibility("default"))) @interface AgoraAdvancedAudioOptions: NSObject
4097 
4101 @property(assign, nonatomic) AgoraAudioProcessChannels audioProcessingChannels;
4102 
4103 @end
4104 
4108 __attribute__((visibility("default"))) @interface AgoraImageTrackOptions : NSObject
4113 @property(copy, nonatomic) NSString *_Nullable imageUrl;
4118 @property(assign, nonatomic) int fps;
4119 @property(assign, nonatomic) AgoraVideoMirrorMode mirrorMode;
4120 @end
4121 
4125 __attribute__((visibility("default"))) @interface AgoraSpatialAudioParams : NSObject
4135 @property(assign, nonatomic) double speaker_azimuth;
4143 @property(assign, nonatomic) double speaker_elevation;
4148 @property(assign, nonatomic) double speaker_distance;
4155 @property(assign, nonatomic) NSInteger speaker_orientation;
4161 @property(assign, nonatomic) BOOL enable_blur;
4170 @property(assign, nonatomic) BOOL enable_air_absorb;
4184 @property(assign, nonatomic) double speaker_attenuation;
4202 @property(assign, nonatomic) BOOL enable_doppler;
4203 @end
4204 
4205 NS_SWIFT_NAME(AgoraEchoTestConfiguration)
4209 __attribute__((visibility("default"))) @interface AgoraEchoTestConfiguration : NSObject
4214 @property(strong, nonatomic) VIEW_CLASS* _Nullable view NS_SWIFT_NAME(view);
4220 @property(assign, nonatomic) BOOL enableAudio NS_SWIFT_NAME(enableAudio);
4226 @property(assign, nonatomic) BOOL enableVideo NS_SWIFT_NAME(enableVideo);
4234 @property(copy, nonatomic) NSString* _Nullable token NS_SWIFT_NAME(token);
4240 @property(copy, nonatomic) NSString* _Nonnull channelId NS_SWIFT_NAME(channelId);
4248 @property(assign, nonatomic) NSInteger intervalInSeconds NS_SWIFT_NAME(intervalInSeconds);
4249 @end
4250 
4254 __attribute__((visibility("default"))) @interface AgoraMediaRecorderInfo : NSObject
4255 
4259 @property(copy, nonatomic) NSString* _Nonnull recorderFileName;
4263 @property(assign, nonatomic) NSUInteger durationMs;
4267 @property(assign, nonatomic) NSUInteger fileSize;
4268 
4269 @end
4270 
4274 __attribute__((visibility("default"))) @interface AgoraMediaRecorderConfiguration : NSObject
4275 
4283 @property(copy, nonatomic) NSString* _Nonnull storagePath;
4287 @property(assign, nonatomic) AgoraMediaRecorderContainerFormat containerFormat;
4291 @property(assign, nonatomic) AgoraMediaRecorderStreamType streamType;
4295 @property(assign, nonatomic) NSUInteger maxDurationMs;
4301 @property(assign, nonatomic) NSUInteger recorderInfoUpdateInterval;
4308 @property(assign, nonatomic) NSUInteger width;
4316 @property(assign, nonatomic) NSUInteger height;
4324 @property(assign, nonatomic) NSUInteger fps;
4331 @property(assign, nonatomic) NSUInteger sample_rate;
4339 @property(assign, nonatomic) NSUInteger channel_num;
4345 @property(assign, nonatomic) AgoraVideoSourceType videoSourceType;
4346 @end
4347 
4348 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
4349 
4353 __attribute__((visibility("default"))) @interface AgoraScreenCaptureSourceInfo : NSObject
4357 @property(assign, nonatomic) AgoraScreenCaptureSourceType type;
4361 @property(assign, nonatomic) CGWindowID sourceId;
4365 @property(copy, nonatomic) NSString* _Nonnull sourceName;
4369 @property(strong, nonatomic) NSImage* _Nonnull thumbImage;
4373 @property(strong, nonatomic) NSImage* _Nullable iconImage;
4377 @property(copy, nonatomic) NSString* _Nonnull processPath;
4381 @property(copy, nonatomic) NSString* _Nonnull sourceTitle;
4386 @property(assign, nonatomic) CGRect position;
4392 @property(assign, nonatomic) BOOL primaryMonitor;
4393 
4394 @end
4395 
4396 #endif
4397 
4398 NS_SWIFT_NAME(AgoraExtensionInfo) __attribute__((visibility("default"))) @interface AgoraExtensionInfo : NSObject
4399 
4405 @property (assign, nonatomic) NSUInteger remoteUid NS_SWIFT_NAME(remoteUid);
4409 @property (assign, nonatomic) NSUInteger localUid NS_SWIFT_NAME(localUid);
4410 
4414 @property (assign, nonatomic) AgoraMediaSourceType sourceType NS_SWIFT_NAME(sourceType);
4415 
4427 @property (copy, nonatomic) NSString *_Nonnull channelId NS_SWIFT_NAME(channelId);
4428 
4429 @end
4430 
4434 NS_SWIFT_NAME(AgoraAudioTrackConfig) __attribute__((visibility("default"))) @interface AgoraAudioTrackConfig : NSObject
4440 @property (assign, nonatomic) BOOL enableLocalPlayback NS_SWIFT_NAME(enableLocalPlayback);
4448 @property (assign, nonatomic) BOOL enableAudioProcessing NS_SWIFT_NAME(enableAudioProcessing);
4449 @end
4450 
4454 __attribute__((visibility("default"))) @interface AgoraVideoLayout: NSObject
4458 @property(copy, nonatomic) NSString* _Nonnull channelId NS_SWIFT_NAME(channelId);
4462 @property (assign, nonatomic) NSUInteger uid NS_SWIFT_NAME(uid);
4466 @property(copy, nonatomic) NSString* _Nullable strUid NS_SWIFT_NAME(strUid);
4474 @property (assign, nonatomic) NSUInteger videoState NS_SWIFT_NAME(videoState);
4480 @property (assign, nonatomic) NSUInteger x NS_SWIFT_NAME(x);
4486 @property (assign, nonatomic) NSUInteger y NS_SWIFT_NAME(y);
4490 @property (assign, nonatomic) NSUInteger width NS_SWIFT_NAME(width);
4494 @property (assign, nonatomic) NSUInteger height NS_SWIFT_NAME(height);
4495 @end
4496 
4500 __attribute__((visibility("default"))) @interface AgoraVideoLayoutInfo: NSObject
4504 @property (assign, nonatomic) NSUInteger width NS_SWIFT_NAME(width);
4508 @property (assign, nonatomic) NSUInteger height NS_SWIFT_NAME(height);
4512 @property (assign, nonatomic) NSUInteger layoutCount NS_SWIFT_NAME(layoutCount);
4516 @property(copy, nonatomic) NSArray<AgoraVideoLayout *> *_Nullable layoutList NS_SWIFT_NAME(layoutList);
4517 @end
4518 
4522 NS_SWIFT_NAME(AgoraVideoRenderingTracingInfo) __attribute__((visibility("default"))) @interface AgoraVideoRenderingTracingInfo : NSObject
4528 @property (assign, nonatomic) NSInteger elapsedTime NS_SWIFT_NAME(elapsedTime);
4536 @property (assign, nonatomic) NSInteger start2JoinChannel NS_SWIFT_NAME(start2JoinChannel);
4541 @property (assign, nonatomic) NSInteger join2JoinSuccess NS_SWIFT_NAME(join2JoinSuccess);
4556 @property (assign, nonatomic) NSInteger joinSuccess2RemoteJoined NS_SWIFT_NAME(joinSuccess2RemoteJoined);
4571 @property (assign, nonatomic) NSInteger remoteJoined2SetView NS_SWIFT_NAME(remoteJoined2SetView);
4586 @property (assign, nonatomic) NSInteger remoteJoined2UnmuteVideo NS_SWIFT_NAME(remoteJoined2UnmuteVideo);
4601 @property (assign, nonatomic) NSInteger remoteJoined2PacketReceived NS_SWIFT_NAME(remoteJoined2PacketReceived);
4602 
4603 @end
4604 
4608 NS_SWIFT_NAME(AgoraMetadata) __attribute__((visibility("default"))) @interface AgoraMetadata : NSObject
4612 @property (copy, nonatomic) NSString* _Nonnull channelId NS_SWIFT_NAME(channelId);
4618 @property (assign, nonatomic) NSInteger uid NS_SWIFT_NAME(uid);
4622 @property (strong, nonatomic) NSData* _Nonnull data NS_SWIFT_NAME(data);
4626 @property (assign, nonatomic) NSTimeInterval timestamp NS_SWIFT_NAME(timestamp);
4627 @end
4628 
4634 __attribute__((visibility("default"))) @interface AgoraPathStats : NSObject
4635 
4640 @property (assign, nonatomic) AgoraMultipathType pathType;
4641 
4646 @property (assign, nonatomic) NSUInteger txKBitRate;
4647 
4652 @property (assign, nonatomic) NSUInteger rxKBitRate;
4653 @end
4654 
4660 __attribute__((visibility("default"))) @interface AgoraMultipathStats : NSObject
4664 @property (assign, nonatomic) NSUInteger lanRxBytes;
4668 @property (assign, nonatomic) NSUInteger lanTxBytes;
4672 @property (assign, nonatomic) NSUInteger wifiRxBytes;
4676 @property (assign, nonatomic) NSUInteger wifiTxBytes;
4680 @property (assign, nonatomic) NSUInteger mobileRxBytes;
4684 @property (assign, nonatomic) NSUInteger mobileTxBytes;
4688 @property (assign, nonatomic) NSUInteger activePathNum;
4692 @property (copy, nonatomic) NSArray<AgoraPathStats *> *_Nullable pathStats NS_SWIFT_NAME(pathStats);
4693 @end
AgoraRecorderStreamInfo
Information about the audio and video streams to be recorded.
Definition: AgoraObjects.h:3901
AgoraMediaSource
Information related to the media file to be played and the playback scenario configurations.
Definition: AgoraObjects.h:79
AgoraLowlightEnhanceLevel
AgoraLowlightEnhanceLevel
The low-light enhancement level.
Definition: AgoraEnumerates.h:3139
AgoraFacePositionInfo
The information of the detected human face.
Definition: AgoraObjects.h:4062
AgoraChannelType
AgoraChannelType
The channel types. @technical preview.
Definition: AgoraEnumerates.h:5657
AgoraRtcMediaPlayerCustomSourceOnReadCallback
int(^ AgoraRtcMediaPlayerCustomSourceOnReadCallback)(id< AgoraRtcMediaPlayerProtocol > _Nonnull playerKit, unsigned char *_Nullable buffer, int bufferSize)
Occurs when the SDK reads the media resource data.
Definition: AgoraObjects.h:44
AgoraLocalProxyMode
AgoraLocalProxyMode
Connection mode with Agora private media server.
Definition: AgoraEnumerates.h:5009
AgoraMediaSource::isLiveSource
BOOL isLiveSource
Definition: AgoraObjects.h:148
AgoraDirectCdnStreamingStats
The statistics of the current CDN streaming.
Definition: AgoraObjects.h:268
AgoraAudioSourceType
AgoraAudioSourceType
The audio source type.
Definition: AgoraEnumerates.h:4169
AgoraDegradationPreference
AgoraDegradationPreference
Video degradation preferences when the bandwidth is a constraint.
Definition: AgoraEnumerates.h:2733
AgoraCameraDirection
AgoraCameraDirection
The camera direction.
Definition: AgoraEnumerates.h:3722
AgoraMediaSource::playerOnReadCallback
AgoraRtcMediaPlayerCustomSourceOnReadCallback _Nonnull playerOnReadCallback
Definition: AgoraObjects.h:157
AgoraMediaSource::startPos
NSUInteger startPos
Definition: AgoraObjects.h:94
AgoraEncodedVideoTrackOptions
Definition: AgoraObjects.h:345
AgoraVideoRenderingTracingInfo
Indicators during video frame rendering progress.
Definition: AgoraObjects.h:4523
AgoraScreenAudioParameters
The audio configuration for the shared screen stream.
Definition: AgoraObjects.h:3538
AgoraRtcChannelMediaOptions
The channel media options.
Definition: AgoraObjects.h:383
AgoraAudioScenario
AgoraAudioScenario
The audio scenarios.
Definition: AgoraEnumerates.h:1902
AgoraStreamLayerConfig
Configures the parameters of a specific layer in multi-quality video streams.
Definition: AgoraObjects.h:3657
AgoraRhythmPlayerConfig
The metronome configuration.
Definition: AgoraObjects.h:4045
AgoraBeautyOptions
Image enhancement options.
Definition: AgoraObjects.h:3018
AgoraVideoCodecCapInfo
The codec capability of the SDK.
Definition: AgoraObjects.h:1442
AgoraVideoSubscriptionOptions
Video subscription options.
Definition: AgoraObjects.h:3880
AgoraMultipathType
AgoraMultipathType
Network path types used in multipath transmission.
Definition: AgoraEnumerates.h:5588
AgoraOutputVideoFrame
Configurations of the video frame.
Definition: AgoraObjects.h:2641
AgoraAudioTrackConfig
The configuration of custom audio tracks.
Definition: AgoraObjects.h:4435
AgoraClientRole
AgoraClientRole
The user role in the interactive live streaming.
Definition: AgoraEnumerates.h:769
AgoraScreenCaptureParameters2
Screen sharing configurations.
Definition: AgoraObjects.h:3550
AgoraExperiencePoorReason
AgoraExperiencePoorReason
Reasons why the QoE of the local user when receiving a remote audio stream is poor.
Definition: AgoraEnumerates.h:1198
AgoraMediaSource::uri
NSString *_Nullable uri
Definition: AgoraObjects.h:90
AgoraVideoDenoiserMode
AgoraVideoDenoiserMode
Video noise reduction mode.
Definition: AgoraEnumerates.h:3082
AgoraContentInspectModule
AgoraContentInspectModule class, a structure used to configure the frequency of video screenshot and ...
Definition: AgoraObjects.h:3784
ScreenColorType
ScreenColorType
Screen color type.
Definition: AgoraEnumerates.h:3221
AgoraMediaPlayerSrcInfo
Information about the video bitrate of the media resource being played.
Definition: AgoraObjects.h:250
AgoraFaceShapeAreaOptions
Filter effect options.
Definition: AgoraObjects.h:3055
AdvancedConfigInfo
Advanced options for the Local Access Point.
Definition: AgoraObjects.h:3995
AgoraMediaSource::url
NSString *_Nullable url
Definition: AgoraObjects.h:86
AgoraVideoLayout
Layout information of a specific sub-video stream within the mixed stream.
Definition: AgoraObjects.h:4455
WatermarkBufferFormat
WatermarkBufferFormat
The data format of the watermark buffer.
Definition: AgoraEnumerates.h:5490
AgoraLighteningContrastLevel
AgoraLighteningContrastLevel
The contrast level.
Definition: AgoraEnumerates.h:2844
AgoraEnumerates.h
AgoraColorMatrixID
AgoraColorMatrixID
Definition: AgoraEnumerates.h:2590
AgoraVideoFrame
The external video frame.
Definition: AgoraObjects.h:2171
AgoraSimulcastStreamConfig
The configuration of the low-quality video stream.
Definition: AgoraObjects.h:3629
AgoraLocalAudioMixerConfiguration
The configurations for mixing the local audio.
Definition: AgoraObjects.h:3342
AgoraRtcConnection::channelId
NSString *_Nonnull channelId
Definition: AgoraObjects.h:3867
AgoraVideoModulePosition
AgoraVideoModulePosition
The frame position of the video observer.
Definition: AgoraEnumerates.h:5318
AgoraScreenCaptureParameters
Screen sharing configurations.
Definition: AgoraObjects.h:3388
AgoraAudioRawFrameOperationMode
AgoraAudioRawFrameOperationMode
The use mode of the audio data.
Definition: AgoraEnumerates.h:1993
AgoraMediaRecorderInfo
Recording file information.
Definition: AgoraObjects.h:4255
AgoraSegmentationProperty
Processing properties for background images.
Definition: AgoraObjects.h:3223
AgoraSimulcastConfig
Configure video streams of different quality levels.
Definition: AgoraObjects.h:3679
AgoraVideoDenoiserLevel
AgoraVideoDenoiserLevel
Video noise reduction level.
Definition: AgoraEnumerates.h:3099
AgoraRtcRemoteVideoStats
Statistics of the remote video stream.
Definition: AgoraObjects.h:943
AgoraVideoViewSetupMode
AgoraVideoViewSetupMode
Setting mode of the view.
Definition: AgoraEnumerates.h:5060
AgoraMediaSource::autoPlay
BOOL autoPlay
Definition: AgoraObjects.h:102
AgoraContentInspectConfig
Screenshot and upload configuration.
Definition: AgoraObjects.h:3806
AgoraAudioEncodedFrameDelegateConfig
Observer settings for the encoded audio.
Definition: AgoraObjects.h:3769
AgoraTranscodingVideoStream
The video streams for local video mixing.
Definition: AgoraObjects.h:3249
AgoraDirectCdnStreamingMediaOptions
The media setting options for the host.
Definition: AgoraObjects.h:297
AgoraAudioCodecType
AgoraAudioCodecType
The codec type of audio.
Definition: AgoraEnumerates.h:1046
AgoraColorPrimaryID
AgoraColorPrimaryID
Definition: AgoraEnumerates.h:2564
AgoraAudioEncodedFrameDelegatePosition
AgoraAudioEncodedFrameDelegatePosition
Audio frame observer position.
Definition: AgoraEnumerates.h:1028
AgoraRtcMediaPlayerProtocol-p
The media player delegate protocol.
Definition: AgoraRtcMediaPlayerProtocol.h:28
AgoraRtcConnection::localUid
NSUInteger localUid
Definition: AgoraObjects.h:3872
AgoraVideoDenoiserOptions
Video noise reduction options.
Definition: AgoraObjects.h:3119
AgoraLastmileProbeConfig
Configurations of the last-mile network test.
Definition: AgoraObjects.h:755
AgoraAudienceLatencyLevelType
AgoraAudienceLatencyLevelType
The latency level of an audience member in interactive live streaming. This enum takes effect only wh...
Definition: AgoraEnumerates.h:784
AgoraLastmileProbeResultState
AgoraLastmileProbeResultState
The status of the last-mile probe test.
Definition: AgoraEnumerates.h:1225
AgoraFocalLength
AgoraFocalLength
The camera focal length types.
Definition: AgoraEnumerates.h:3736
AgoraMultipathStats
Aggregates statistics of each network path in multipath transmission.
Definition: AgoraObjects.h:4661
AgoraRtcMediaStreamInfo
The detailed information of the media stream.
Definition: AgoraObjects.h:3698
AgoraFaceShapeArea
AgoraFaceShapeArea
Chooses the specific facial areas that need to be adjusted.
Definition: AgoraEnumerates.h:2864
AgoraChannelMediaRelayInfo
Channel media information.
Definition: AgoraObjects.h:2924
AgoraMediaSource::enableMultiAudioTrack
BOOL enableMultiAudioTrack
Definition: AgoraObjects.h:126
WatermarkOptions
Watermark image configurations.
Definition: AgoraObjects.h:1702
AgoraVideoSourceType
AgoraVideoSourceType
The type of the video source.
Definition: AgoraEnumerates.h:4207
AgoraAudioFrame
Raw audio data.
Definition: AgoraObjects.h:2461
AgoraMediaRecorderStreamType
AgoraMediaRecorderStreamType
The recording content.
Definition: AgoraEnumerates.h:5193
WatermarkBuffer
Configures the format, size, and pixel buffer of the watermark image.
Definition: AgoraObjects.h:1743
AgoraAudioEncodingType
AgoraAudioEncodingType
Audio encoding type.
Definition: AgoraEnumerates.h:1067
AgoraMediaSource::enableCache
BOOL enableCache
Definition: AgoraObjects.h:117
AgoraAreaCodeType
AgoraAreaCodeType
The region for connection, which is the region where the server the SDK connects to is located.
Definition: AgoraEnumerates.h:3514
AgoraVideoRotation
AgoraVideoRotation
Definition: AgoraEnumerates.h:1376
VIEW_CLASS
UIView VIEW_CLASS
Definition: AgoraObjects.h:14
AgoraChannelProfile
AgoraChannelProfile
The channel profile.
Definition: AgoraEnumerates.h:738
COLOR_CLASS
UIColor COLOR_CLASS
Definition: AgoraObjects.h:15
AgoraBlurDegree
AgoraBlurDegree
The degree of blurring applied to the custom background image.
Definition: AgoraEnumerates.h:3186
AgoraAudioSpectrumInfo
Audio spectrum information of the remote user.
Definition: AgoraObjects.h:3753
AgoraLeaveChannelOptions
The options for leaving a channel.
Definition: AgoraObjects.h:2609
AgoraDataStreamConfig
The configurations for the data stream.
Definition: AgoraObjects.h:2895
AgoraVideoEncodedFrameDepth
AgoraVideoEncodedFrameDepth
Definition: AgoraEnumerates.h:653
AgoraLowlightEnhanceMode
AgoraLowlightEnhanceMode
The low-light enhancement mode.
Definition: AgoraEnumerates.h:3121
AgoraRtcRemoteAudioStats
Audio statistics of the remote user.
Definition: AgoraObjects.h:1084
AgoraUserInfo
The information of the user.
Definition: AgoraObjects.h:2799
AgoraVideoCodecCapabilityLevel
AgoraVideoCodecCapabilityLevel
The level of the codec capability.
Definition: AgoraEnumerates.h:555
AgoraRtcEngineConfig
Configurations for the AgoraRtcEngineConfig instance.
Definition: AgoraObjects.h:2370
AgoraMediaStreamType
AgoraMediaStreamType
The type of the media stream.
Definition: AgoraEnumerates.h:4355
AgoraImageTrackOptions
Image configurations.
Definition: AgoraObjects.h:4109
AgoraColorSpace
Definition: AgoraObjects.h:2153
AgoraVideoRenderMode
AgoraVideoRenderMode
Video display modes.
Definition: AgoraEnumerates.h:1314
AgoraLastmileProbeOneWayResult
Results of the uplink or downlink last-mile network test.
Definition: AgoraObjects.h:784
AgoraVideoQualityAdaptIndication
AgoraVideoQualityAdaptIndication
Quality change of the local video in terms of target frame rate and target bit rate since last count.
Definition: AgoraEnumerates.h:1296
AgoraContentInspectType
AgoraContentInspectType
The type of video content moderation module.
Definition: AgoraEnumerates.h:4837
AgoraEncryptionConfig
Built-in encryption configurations.
Definition: AgoraObjects.h:2765
AgoraColorRangeID
AgoraColorRangeID
Definition: AgoraEnumerates.h:2604
AgoraEncodedVideoFrameInfo
Information about externally encoded video frames.
Definition: AgoraObjects.h:3920
AgoraRtcMediaPlayerCustomSourceOnSeekCallback
long long(^ AgoraRtcMediaPlayerCustomSourceOnSeekCallback)(id< AgoraRtcMediaPlayerProtocol > _Nonnull playerKit, long long offset, int whence)
Occurs when the SDK seeks the media resource data.
Definition: AgoraObjects.h:72
AgoraMixedAudioStream
The source of the audio streams that are mixed locally.
Definition: AgoraObjects.h:3304
AgoraChannelMediaRelayConfiguration
Configuration of cross channel media relay.
Definition: AgoraObjects.h:2947
AgoraVideoLayoutInfo
Detailed layout information of a mixed video stream.
Definition: AgoraObjects.h:4501
AgoraMetadata
Media metadata.
Definition: AgoraObjects.h:4609
AgoraVideoStreamType
AgoraVideoStreamType
The type of video streams.
Definition: AgoraEnumerates.h:1251
AgoraVideoCodecTypeForStream
AgoraVideoCodecTypeForStream
The codec type of the output video.
Definition: AgoraEnumerates.h:663
AgoraEchoTestConfiguration
The configuration of the audio and video call loop test.
Definition: AgoraObjects.h:4210
AgoraMediaFilterEventDelegate-p
The media filter event delegate protocol.
Definition: AgoraMediaFilterEventDelegate.h:38
AgoraFaceShapeStyle
AgoraFaceShapeStyle
The facial enhancement style options.
Definition: AgoraEnumerates.h:3061
AgoraAdvancedAudioOptions
The advanced options for audio.
Definition: AgoraObjects.h:4097
AgoraVideoCodecCapLevels
The level of the codec capability.
Definition: AgoraObjects.h:1406
AgoraRtcAudioVolumeInfo
The volume information of users.
Definition: AgoraObjects.h:1205
AgoraVideoHwEncoderAccelerating
AgoraVideoHwEncoderAccelerating
The local video encoding acceleration type.
Definition: AgoraEnumerates.h:620
AgoraAlphaStitchMode
AgoraAlphaStitchMode
The relative position of alphaBuffer and video frames.
Definition: AgoraEnumerates.h:5446
AgoraMediaPlayerCacheStatistics
Statistics about the media files being cached.
Definition: AgoraObjects.h:174
AgoraAudioProcessChannels
AgoraAudioProcessChannels
The number of channels for audio preprocessing.
Definition: AgoraEnumerates.h:5108
AgoraLocalAccessPointConfiguration
Local Access Point configuration.
Definition: AgoraObjects.h:4006
AgoraFocalLengthInfo
Focal length information supported by the camera, including the camera direction and focal length typ...
Definition: AgoraObjects.h:1425
AgoraEncodingPreference
AgoraEncodingPreference
Video encoder preference.
Definition: AgoraEnumerates.h:2775
AgoraRecorderStreamType
AgoraRecorderStreamType
Type of video streams to be recorded.
Definition: AgoraEnumerates.h:5219
AgoraFaceShapeBeautyOptions
The facial enhancement style options.
Definition: AgoraObjects.h:3071
AgoraThreadPriorityType
AgoraThreadPriorityType
Definition: AgoraEnumerates.h:4807
AgoraScreenVideoParameters
The video configuration for the shared screen stream.
Definition: AgoraObjects.h:3509
AgoraVirtualBackgroundSource
The custom background.
Definition: AgoraObjects.h:3181
AgoraMediaPlayerPlaybackStats
The information of the media file being played.
Definition: AgoraObjects.h:194
AgoraLiveStreamAdvancedFeature
The configuration for advanced features of the RTMP or RTMPS streaming with transcoding.
Definition: AgoraObjects.h:1646
AgoraRtcConnection
Contains connection information.
Definition: AgoraObjects.h:3853
AgoraSnapshotConfig
The snapshot configuration.
Definition: AgoraObjects.h:3834
AgoraLowlightEnhanceOptions
The low-light enhancement options.
Definition: AgoraObjects.h:3136
AgoraExperienceQuality
AgoraExperienceQuality
The Quality of Experience (QoE) of the local user when receiving a remote audio stream.
Definition: AgoraEnumerates.h:1184
__deprecated
#define __deprecated
Definition: AgoraBase.h:74
AgoraAudioCodecProfileType
AgoraAudioCodecProfileType
Self-defined audio codec profile.
Definition: AgoraEnumerates.h:1693
AgoraVideoContentHint
AgoraVideoContentHint
The content hint for screen sharing.
Definition: AgoraEnumerates.h:4788
AgoraMediaSource::isAgoraSource
BOOL isAgoraSource
Definition: AgoraObjects.h:138
AgoraLocalTranscoderConfiguration
The configuration of the video mixing on the local client.
Definition: AgoraObjects.h:3363
AgoraRtcVideoCanvas
Attributes of the video canvas object.
Definition: AgoraObjects.h:671
AgoraEncodedAudioFrameInfo
Audio information after encoding.
Definition: AgoraObjects.h:2563
AgoraVirtualBackgroundSourceType
AgoraVirtualBackgroundSourceType
The custom background.
Definition: AgoraEnumerates.h:3158
SegModelType
SegModelType
The type of algorithms to user for background processing.
Definition: AgoraEnumerates.h:3207
AgoraMediaSource::playerOnSeekCallback
AgoraRtcMediaPlayerCustomSourceOnSeekCallback _Nonnull playerOnSeekCallback
Definition: AgoraObjects.h:166
AgoraAudioRecordingConfiguration
Recording configurations.
Definition: AgoraObjects.h:3581
AgoraColorTransferID
AgoraColorTransferID
Definition: AgoraEnumerates.h:2576
LogUploadServerInfo
Configuration information of the log server.
Definition: AgoraObjects.h:3971
AgoraVideoFrameType
AgoraVideoFrameType
The video frame type.
Definition: AgoraEnumerates.h:2537
AgoraColorEnhanceOptions
The color enhancement options.
Definition: AgoraObjects.h:3153
AgoraMediaRecorderConfiguration
Audio and video stream recording configuration.
Definition: AgoraObjects.h:4275
AgoraMediaRecorderContainerFormat
AgoraMediaRecorderContainerFormat
Format of the recording file.
Definition: AgoraEnumerates.h:5210
AgoraLogConfig
Configuration of Agora SDK log files.
Definition: AgoraObjects.h:2338
AgoraPathStats
Statistical information about a specific network path.
Definition: AgoraObjects.h:4635
AgoraMultipathMode
AgoraMultipathMode
The transmission mode of data over multiple network paths.
Definition: AgoraEnumerates.h:5571
AgoraClientRoleOptions
Setting of user role properties.
Definition: AgoraObjects.h:2815
AgoraMediaSourceType
AgoraMediaSourceType
Media source type.
Definition: AgoraEnumerates.h:4103
WatermarkConfig
Used to configure watermark-related information.
Definition: AgoraObjects.h:1771
AgoraAudioFileRecordingType
AgoraAudioFileRecordingType
Recording content. Set in startAudioRecordingWithConfig:.
Definition: AgoraEnumerates.h:1010
AgoraRtcLocalAudioStats
Local audio statistics.
Definition: AgoraObjects.h:1039
AgoraCameraCapturerConfiguration
The camera capturer preference.
Definition: AgoraObjects.h:2828
AgoraCompressionPreference
AgoraCompressionPreference
Compression preference for video encoding.
Definition: AgoraEnumerates.h:2797
IMAGE_CLASS
UIImage IMAGE_CLASS
Definition: AgoraObjects.h:16
AgoraAdvancedVideoOptions
Advanced options for video encoding.
Definition: AgoraObjects.h:1383
AgoraExtensionInfo
Definition: AgoraObjects.h:4399
WatermarkType
WatermarkType
Type of watermark source.
Definition: AgoraEnumerates.h:5474
AgoraMediaPlayerUpdatedInfo
Information related to the media player.
Definition: AgoraObjects.h:216
AgoraLogLevel
AgoraLogLevel
The output log level of the SDK.
Definition: AgoraEnumerates.h:3486
AgoraScreenCaptureSourceType
AgoraScreenCaptureSourceType
The type of the shared target. Set in AgoraScreenCaptureSourceInfo.
Definition: AgoraEnumerates.h:5232
AgoraLastmileProbeResult
Results of the uplink and downlink last-mile network tests.
Definition: AgoraObjects.h:802
AgoraChannelStats
Statistics of a call session.
Definition: AgoraObjects.h:1247
AgoraCaptureBrightnessLevelType
AgoraCaptureBrightnessLevelType
The brightness level of the video image captured by the local camera.
Definition: AgoraEnumerates.h:798