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 
657 @end
658 
662 __attribute__((visibility("default"))) @interface AgoraRtcVideoCanvas : NSObject
666 @property(assign, nonatomic) NSUInteger uid;
667 
673 @property(assign, nonatomic) NSUInteger subviewUid;
674 
680 @property(strong, nonatomic) VIEW_CLASS *_Nullable view;
684 @property(assign, nonatomic) AgoraVideoRenderMode renderMode;
692 @property(assign, nonatomic) AgoraVideoMirrorMode mirrorMode;
696 @property(assign, nonatomic) AgoraVideoViewSetupMode setupMode;
700 @property(nonatomic, assign) AgoraVideoSourceType sourceType;
704 @property(nonatomic, assign) int mediaPlayerId;
710 @property(assign, nonatomic) CGRect cropArea;
711 
716 @property(assign, nonatomic) UInt32 backgroundColor;
717 
730 @property(assign, nonatomic) BOOL enableAlphaMask;
731 
735 @property(assign, nonatomic) AgoraVideoModulePosition position;
736 @end
737 
741 __attribute__((visibility("default"))) @interface AgoraLastmileProbeConfig : NSObject
748 @property (assign, nonatomic) BOOL probeUplink;
754 @property (assign, nonatomic) BOOL probeDownlink;
759 @property (assign, nonatomic) NSUInteger expectedUplinkBitrate;
764 @property (assign, nonatomic) NSUInteger expectedDownlinkBitrate;
765 @end
766 
770 __attribute__((visibility("default"))) @interface AgoraLastmileProbeOneWayResult : NSObject
774 @property (assign, nonatomic) NSUInteger packetLossRate;
778 @property (assign, nonatomic) NSUInteger jitter;
782 @property (assign, nonatomic) NSUInteger availableBandwidth;
783 @end
784 
788 __attribute__((visibility("default"))) @interface AgoraLastmileProbeResult : NSObject
792 @property (assign, nonatomic) AgoraLastmileProbeResultState state;
796 @property (assign, nonatomic) NSUInteger rtt;
800 @property (strong, nonatomic) AgoraLastmileProbeOneWayResult *_Nonnull uplinkReport;
804 @property (strong, nonatomic) AgoraLastmileProbeOneWayResult *_Nonnull downlinkReport;
805 @end
809 __attribute__((visibility("default"))) @interface AgoraRtcLocalVideoStats : NSObject
813 @property(assign, nonatomic) NSUInteger uid;
814 
819 @property(assign, nonatomic) NSUInteger sentBitrate;
824 @property(assign, nonatomic) NSUInteger sentFrameRate;
828 @property(assign, nonatomic) NSInteger captureFrameRate;
832 @property(assign, nonatomic) NSInteger captureFrameWidth;
836 @property(assign, nonatomic) NSInteger captureFrameHeight;
842 @property(assign, nonatomic) NSInteger regulatedCaptureFrameRate;
848 @property(assign, nonatomic) NSInteger regulatedCaptureFrameWidth;
854 @property(assign, nonatomic) NSInteger regulatedCaptureFrameHeight;
855 
859 @property(assign, nonatomic) NSInteger encoderOutputFrameRate;
863 @property(assign, nonatomic) NSInteger rendererOutputFrameRate;
867 @property(assign, nonatomic) NSInteger targetFrameRate;
872 @property(assign, nonatomic) AgoraVideoQualityAdaptIndication qualityAdaptIndication;
877 @property(assign, nonatomic) NSInteger targetBitrate;
882 @property(assign, nonatomic) NSInteger encodedBitrate;
886 @property(assign, nonatomic) NSInteger encodedFrameWidth;
890 @property(assign, nonatomic) NSInteger encodedFrameHeight;
894 @property(assign, nonatomic) NSInteger encodedFrameCount;
898 @property(assign, nonatomic) AgoraVideoCodecType codecType;
905 @property(assign, nonatomic) AgoraVideoEncodedFrameDepth encodedFrameDepth;
909 @property(assign, nonatomic) AgoraVideoHwEncoderAccelerating hwEncoderAccelerating;
914 @property(assign, nonatomic) NSInteger txPacketLossRate;
919 @property(assign, nonatomic) AgoraCaptureBrightnessLevelType captureBrightnessLevel NS_SWIFT_NAME(captureBrightnessLevel);
923 @property(assign, nonatomic) BOOL dualStreamEnabled;
924 @end
925 
929 __attribute__((visibility("default"))) @interface AgoraRtcRemoteVideoStats : NSObject
933 @property(assign, nonatomic) NSUInteger uid;
934 
941 @property(assign, nonatomic) NSUInteger delay __deprecated;
946 @property(assign, nonatomic) NSUInteger e2eDelay;
950 @property(assign, nonatomic) NSUInteger width;
954 @property(assign, nonatomic) NSUInteger height;
958 @property(assign, nonatomic) NSUInteger receivedBitrate;
962 @property(assign, nonatomic) AgoraVideoStreamType rxStreamType;
963 
967 @property(assign, nonatomic) NSInteger decoderOutputFrameRate;
971 @property(assign, nonatomic) NSInteger rendererOutputFrameRate;
975 @property(assign, nonatomic) NSInteger frameLossRate;
979 @property(assign, nonatomic) NSInteger packetLossRate;
985 @property(assign, nonatomic) NSInteger totalFrozenTime;
991 @property(assign, nonatomic) NSUInteger totalActiveTime;
995 @property(assign, nonatomic) NSInteger publishDuration;
1001 @property(assign, nonatomic) NSInteger frozenRate;
1006 @property(assign, nonatomic) NSInteger avSyncTimeMs;
1014 @property(assign, nonatomic) NSInteger mosValue;
1018 @property(assign, nonatomic) NSUInteger rxVideoBytes;
1019 
1020 @end
1021 
1025 __attribute__((visibility("default"))) @interface AgoraRtcLocalAudioStats : NSObject
1029 @property(assign, nonatomic) NSUInteger numChannels;
1033 @property(assign, nonatomic) NSUInteger sentSampleRate;
1037 @property(assign, nonatomic) NSUInteger sentBitrate;
1041 @property(assign, nonatomic) NSUInteger internalCodec;
1046 @property(assign, nonatomic) NSUInteger txPacketLossRate;
1050 @property(assign, nonatomic) NSUInteger audioDeviceDelay;
1054 @property(assign, nonatomic) NSUInteger audioPlayoutDelay;
1058 @property(assign, nonatomic) NSUInteger earMonitorDelay;
1063 @property(assign, nonatomic) NSUInteger aecEstimatedDelay;
1064 
1065 @end
1066 
1070 __attribute__((visibility("default"))) @interface AgoraRtcRemoteAudioStats : NSObject
1074 @property(assign, nonatomic) NSUInteger uid;
1075 
1079 @property(assign, nonatomic) NSUInteger quality;
1083 @property(assign, nonatomic) NSUInteger networkTransportDelay;
1089 @property(assign, nonatomic) NSUInteger jitterBufferDelay;
1093 @property(assign, nonatomic) NSUInteger audioLossRate;
1097 @property(assign, nonatomic) NSUInteger numChannels;
1101 @property(assign, nonatomic) NSUInteger receivedSampleRate;
1105 @property(assign, nonatomic) NSUInteger receivedBitrate;
1110 @property(assign, nonatomic) NSUInteger totalFrozenTime;
1116 @property(assign, nonatomic) NSUInteger totalActiveTime;
1120 @property(assign, nonatomic) NSInteger publishDuration;
1126 @property(assign, nonatomic) NSUInteger frozenRate;
1143 @property(assign, nonatomic) NSUInteger mosValue;
1148 @property (assign, nonatomic) NSUInteger frozenRateByCustomPlcCount;
1152 @property (assign, nonatomic) NSUInteger plcCount;
1153 
1158 @property (assign, nonatomic) NSUInteger frozenCntByCustom;
1159 
1164 @property (assign, nonatomic) NSUInteger frozenTimeByCustom;
1165 
1170 @property(assign, nonatomic) AgoraExperienceQuality qoeQuality;
1175 @property(assign, nonatomic) AgoraExperiencePoorReason qualityChangedReason;
1180 @property(assign, nonatomic) NSUInteger rxAudioBytes;
1185 @property(assign, nonatomic) NSInteger e2eDelay;
1186 @end
1187 
1191 __attribute__((visibility("default"))) @interface AgoraRtcAudioVolumeInfo : NSObject
1198 @property(assign, nonatomic) NSUInteger uid;
1199 
1207 @property(assign, nonatomic) NSUInteger volume;
1208 
1219 @property(assign, nonatomic) NSUInteger vad;
1220 
1226 @property (assign, nonatomic) double voicePitch;
1227 
1228 @end
1229 
1233 __attribute__((visibility("default"))) @interface AgoraChannelStats : NSObject
1237 @property(assign, nonatomic) NSUInteger duration;
1241 @property(assign, nonatomic) NSUInteger txBytes;
1245 @property(assign, nonatomic) NSUInteger rxBytes;
1249 @property(assign, nonatomic) NSUInteger txAudioKBitrate;
1253 @property(assign, nonatomic) NSUInteger rxAudioKBitrate;
1257 @property(assign, nonatomic) NSUInteger txVideoKBitrate;
1261 @property(assign, nonatomic) NSUInteger rxVideoKBitrate;
1265 @property(assign, nonatomic) NSUInteger txAudioBytes;
1269 @property(assign, nonatomic) NSUInteger txVideoBytes;
1273 @property(assign, nonatomic) NSUInteger rxAudioBytes;
1277 @property(assign, nonatomic) NSUInteger rxVideoBytes;
1281 @property(assign, nonatomic) NSUInteger lastmileDelay;
1285 @property(assign, nonatomic) NSUInteger userCount;
1291 @property(assign, nonatomic) double cpuAppUsage;
1297 @property(assign, nonatomic) double cpuTotalUsage;
1305 @property(assign, nonatomic) NSInteger gatewayRtt;
1310 @property(assign, nonatomic) double memoryAppUsageRatio;
1315 @property(assign, nonatomic) double memoryTotalUsageRatio;
1320 @property(assign, nonatomic) NSInteger memoryAppUsageInKbytes;
1325 @property(assign, nonatomic) NSInteger connectTimeMs;
1326 
1330 @property(assign, nonatomic) NSUInteger txKBitrate;
1334 @property(assign, nonatomic) NSUInteger rxKBitrate;
1335 
1338 @property(assign, nonatomic) NSInteger firstAudioPacketDuration;
1341 @property(assign, nonatomic) NSInteger firstVideoPacketDuration;
1344 @property(assign, nonatomic) NSInteger firstVideoKeyFramePacketDuration;
1347 @property(assign, nonatomic) NSInteger packetsBeforeFirstKeyFramePacket;
1352 @property(assign, nonatomic) NSInteger txPacketLossRate;
1357 @property(assign, nonatomic) NSInteger rxPacketLossRate;
1363 @property(assign, nonatomic) NSInteger lanAccelerateState;
1364 
1365 @end
1369 __attribute__((visibility("default"))) @interface AgoraAdvancedVideoOptions : NSObject
1373 @property(assign, nonatomic) AgoraEncodingPreference encodingPreference;
1374 
1378 @property(assign, nonatomic) AgoraCompressionPreference compressionPreference;
1379 
1385 @property(assign, nonatomic) BOOL encodeAlpha;
1386 
1387 @end
1388 
1392 __attribute__((visibility("default"))) @interface AgoraVideoCodecCapLevels : NSObject
1393 
1398 @property(assign, nonatomic) AgoraVideoCodecCapabilityLevel hwDecodingLevel;
1403 @property(assign, nonatomic) AgoraVideoCodecCapabilityLevel swDecodingLevel;
1404 
1405 @end
1406 
1411 __attribute__((visibility("default"))) @interface AgoraFocalLengthInfo : NSObject
1412 
1416 @property(assign, nonatomic) int cameraDirection;
1417 
1421 @property(assign, nonatomic) AgoraFocalLength focalLengthType;
1422 
1423 @end
1424 
1428 __attribute__((visibility("default"))) @interface AgoraVideoCodecCapInfo : NSObject
1429 
1433 @property(assign, nonatomic) AgoraVideoCodecType codecType;
1437 @property(assign, nonatomic) NSUInteger codecCapMask;
1438 
1442 @property(strong, nonatomic) AgoraVideoCodecCapLevels *_Nonnull codecCapLevels;
1443 
1444 @end
1448 __attribute__((visibility("default"))) @interface AgoraVideoEncoderConfiguration : NSObject
1477 @property(assign, nonatomic) CGSize dimensions;
1478 
1482 @property(assign, nonatomic) AgoraVideoCodecType codecType;
1483 
1488 @property(assign, nonatomic) NSInteger frameRate;
1489 
1499 @property(assign, nonatomic) NSInteger bitrate;
1500 
1509 @property(assign, nonatomic) NSInteger minBitrate;
1510 
1514 @property(assign, nonatomic) AgoraVideoOutputOrientationMode orientationMode;
1515 
1521 @property(assign, nonatomic) AgoraVideoMirrorMode mirrorMode;
1522 
1530 @property (assign, nonatomic) AgoraDegradationPreference degradationPreference;
1531 
1535 @property (strong, nonatomic) AgoraAdvancedVideoOptions *_Nullable advancedVideoOptions;
1536 
1548 - (instancetype _Nonnull)initWithSize:(CGSize)size
1549  frameRate:(NSInteger)frameRate
1550  bitrate:(NSInteger)bitrate
1551  orientationMode:(AgoraVideoOutputOrientationMode)orientationMode
1552  mirrorMode:(AgoraVideoMirrorMode)mirrorMode NS_SWIFT_NAME(init(size:frameRate:bitrate:orientationMode:mirrorMode:));
1553 
1566 - (instancetype _Nonnull)initWithWidth:(NSInteger)width
1567  height:(NSInteger)height
1568  frameRate:(NSInteger)frameRate
1569  bitrate:(NSInteger)bitrate
1570  orientationMode:(AgoraVideoOutputOrientationMode)orientationMode
1571  mirrorMode:(AgoraVideoMirrorMode)mirrorMode NS_SWIFT_NAME(init(width:height:frameRate:bitrate:orientationMode:mirrorMode:));
1572 @end
1573 
1577 __attribute__((visibility("default"))) @interface AgoraLiveTranscodingUser : NSObject
1581 @property(assign, nonatomic) NSUInteger uid;
1585 @property(assign, nonatomic) CGRect rect;
1595 @property(assign, nonatomic) NSInteger zOrder;
1601 @property(assign, nonatomic) double alpha;
1621 @property(assign, nonatomic) NSInteger audioChannel;
1622 @end
1623 
1632 __attribute__((visibility("default"))) @interface AgoraLiveStreamAdvancedFeature : NSObject
1633 
1638 @property(copy, nonatomic) NSString* _Nullable featureName;
1639 
1645 @property(assign, nonatomic) BOOL opened;
1646 @end
1647 
1655 __attribute__((visibility("default"))) @interface AgoraImage : NSObject
1660 @property(strong, nonatomic) NSURL *_Nonnull url;
1664 @property(assign, nonatomic) CGRect rect;
1672 @property (assign, nonatomic) NSInteger zOrder;
1678 @property(assign, nonatomic) double alpha;
1679 @end
1680 
1688 __attribute__((visibility("default"))) @interface WatermarkOptions : NSObject
1694 @property(assign, nonatomic) BOOL visibleInPreview;
1703 @property(assign, nonatomic) CGRect positionInLandscapeMode;
1712 @property(assign, nonatomic) CGRect positionInPortraitMode;
1716 @property(assign, nonatomic) int zOrder;
1717 @end
1718 
1729 __attribute__((visibility("default"))) @interface WatermarkBuffer : NSObject
1733  @property(assign, nonatomic) int width;
1737  @property(assign, nonatomic) int height;
1741  @property(assign, nonatomic) int length;
1745  @property(strong, nonatomic) NSData* _Nullable buffer;
1749 @property(assign, nonatomic) WatermarkBufferFormat format;
1750 @end
1751 
1757 __attribute__((visibility("default"))) @interface WatermarkConfig : NSObject
1761 @property(copy, nonatomic) NSString* _Nonnull id;
1765 @property(assign, nonatomic) WatermarkType type;
1769 @property(strong, nonatomic) WatermarkBuffer* _Nullable buffer;
1773 @property(strong, nonatomic) NSURL *_Nullable imageUrl;
1777 @property(strong, nonatomic) WatermarkOptions* _Nonnull options;
1778 @end
1779 
1783 __attribute__((visibility("default"))) @interface AgoraLiveTranscoding : NSObject
1788 @property(copy, nonatomic) NSArray<AgoraLiveTranscodingUser*>* _Nullable transcodingUsers;
1789 
1801 @property(assign, nonatomic) CGSize size;
1808 @property(assign, nonatomic) NSInteger videoBitrate;
1814 @property(assign, nonatomic) NSInteger videoFramerate;
1822 @property(assign, nonatomic) BOOL lowLatency;
1826 @property(assign, nonatomic) NSInteger videoGop;
1832 @property(assign, nonatomic) AgoraVideoCodecProfileType videoCodecProfile;
1833 
1838 @property(assign, nonatomic) AgoraVideoCodecTypeForStream videoCodecType;
1839 
1845 @property(copy, nonatomic) NSString* _Nullable transcodingExtraInfo;
1846 
1853 @property(copy, nonatomic) NSArray<AgoraImage*>* _Nullable watermarkArray;
1854 
1861 @property(copy, nonatomic) NSArray<AgoraImage*>* _Nullable backgroundImageArray;
1862 
1871 @property(strong, nonatomic) COLOR_CLASS* _Nullable backgroundColor;
1872 
1876 @property(assign, nonatomic) AgoraAudioSampleRateType audioSampleRate;
1881 @property(assign, nonatomic) NSInteger audioBitrate;
1891 @property(assign, nonatomic) NSInteger audioChannels;
1895 @property(assign, nonatomic) AgoraAudioCodecProfileType audioCodecProfile;
1896 
1901 + (AgoraLiveTranscoding* _Nonnull)defaultTranscoding NS_SWIFT_NAME(default());
1902 
1910 - (int)addUser:(AgoraLiveTranscodingUser* _Nonnull)user NS_SWIFT_NAME(add(_:));
1911 
1919 - (int)removeUser:(NSUInteger)uid NS_SWIFT_NAME(removeUser(_:));
1920 
1930 - (void)setAdvancedFeatures:(NSString* _Nonnull)featureName opened:(BOOL)opened NS_SWIFT_NAME(setAdvancedFeatures(_:opened:));
1931 
1935 - (NSArray<AgoraLiveStreamAdvancedFeature*>* _Nullable)getAdvancedFeatures NS_SWIFT_NAME(getAdvancedFeatures());
1936 
1937 @end
1938 
1941 __attribute__((visibility("default"))) @interface AgoraLiveInjectStreamConfig : NSObject
1945 @property(assign, nonatomic) CGSize size;
1948 @property(assign, nonatomic) NSInteger videoGop;
1951 @property(assign, nonatomic) NSInteger videoFramerate;
1954 @property(assign, nonatomic) NSInteger videoBitrate;
1955 
1958 @property(assign, nonatomic) AgoraAudioSampleRateType audioSampleRate;
1961 @property(assign, nonatomic) NSInteger audioBitrate;
1964 @property(assign, nonatomic) NSInteger audioChannels;
1965 
1970 + (AgoraLiveInjectStreamConfig *_Nonnull)defaultConfig NS_SWIFT_NAME(defaultConfig());
1971 @end
1972 
1973  __deprecated
1974 
1977  __attribute__((visibility("default"))) @interface AgoraRtcVideoCompositingRegion
1978  : NSObject
1981  @property(assign, nonatomic) NSUInteger uid;
1984 @property(assign, nonatomic) CGFloat x;
1987 @property(assign, nonatomic) CGFloat y;
1990 @property(assign, nonatomic) CGFloat width;
1993 @property(assign, nonatomic) CGFloat height;
1996 @property(assign, nonatomic) NSInteger zOrder;
1999 @property(assign, nonatomic) CGFloat alpha;
2002 @property(assign, nonatomic) AgoraVideoRenderMode renderMode;
2003 @end
2004 
2005  __deprecated
2008  __attribute__((visibility("default"))) @interface AgoraRtcVideoCompositingLayout
2009  : NSObject
2012  @property(assign, nonatomic) NSInteger canvasWidth;
2015 @property(assign, nonatomic) NSInteger canvasHeight;
2018 @property(copy, nonatomic) NSString *_Nullable backgroundColor;
2021 @property(copy, nonatomic) NSArray<AgoraRtcVideoCompositingRegion *> *_Nullable regions;
2024 @property(copy, nonatomic) NSString *_Nullable appData;
2025 @end
2026 
2032  __deprecated __attribute__((visibility("default"))) @interface AgoraPublisherConfiguration
2033  : NSObject
2039  @property(assign, nonatomic) BOOL owner;
2040 
2043 @property(assign, nonatomic) NSInteger width;
2046 @property(assign, nonatomic) NSInteger height;
2049 @property(assign, nonatomic) NSInteger framerate;
2052 @property(assign, nonatomic) NSInteger bitrate;
2055 @property(assign, nonatomic) NSInteger audiosamplerate;
2058 @property(assign, nonatomic) NSInteger audiobitrate;
2061 @property(assign, nonatomic) NSInteger audiochannels;
2062 
2069 @property(assign, nonatomic) NSInteger defaultLayout;
2072 @property(assign, nonatomic) AgoraRtmpStreamLifeCycle lifeCycle;
2073 
2076 @property(assign, nonatomic) NSInteger injectStreamWidth;
2077 
2080 @property(assign, nonatomic) NSInteger injectStreamHeight;
2081 
2084 @property(copy, nonatomic) NSString *_Nullable injectStreamUrl;
2085 
2088 @property(copy, nonatomic) NSString *_Nullable publishUrl;
2089 
2093 @property(copy, nonatomic) NSString *_Nullable rawStreamUrl;
2094 
2097 @property(copy, nonatomic) NSString *_Nullable extraInfo;
2098 
2101 - (BOOL)validate NS_SWIFT_NAME(validate());
2102 
2103 - (NSString * _Nullable)toJsonString NS_SWIFT_NAME(toJsonString());
2104 @end
2105 
2106 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
2107 
2111 __attribute__((visibility("default"))) @interface AgoraRtcDeviceInfo : NSObject
2112 @property (assign, nonatomic) int __deprecated index;
2113 
2117 @property(assign, nonatomic) AgoraMediaDeviceType type;
2118 
2122 @property(copy, nonatomic) NSString *_Nullable deviceId;
2123 
2127 @property(copy, nonatomic) NSString *_Nullable deviceName;
2128 
2132 @property(copy, nonatomic) NSString *_Nullable deviceTypeName;
2133 @end
2134 #endif
2135 
2139 __attribute__((visibility("default"))) @interface AgoraColorSpace : NSObject
2142 @property(assign, nonatomic) AgoraColorPrimaryID primaryID;
2145 @property(assign, nonatomic) AgoraColorTransferID transferID;
2148 @property(assign, nonatomic) AgoraColorMatrixID matrixID;
2151 @property(assign, nonatomic) AgoraColorRangeID rangeID;
2152 @end
2153 
2157 __attribute__((visibility("default"))) @interface AgoraVideoFrame : NSObject
2171 @property(assign, nonatomic) NSInteger format;
2172 
2177 @property(assign, nonatomic) CMTime time; // Time for this frame.
2178 
2190 @property(assign, nonatomic) int stride DEPRECATED_MSG_ATTRIBUTE("use strideInPixels instead");
2191 
2195 @property(assign, nonatomic) int strideInPixels; // Number of pixels between two consecutive rows.
2196  // Note: in pixel, not byte. Not used for iOS
2197  // textures.
2198 
2202 @property(assign, nonatomic) int height; // Number of rows of pixels. Not used for iOS textures.
2203 
2207 @property(assign, nonatomic) CVPixelBufferRef _Nullable textureBuf;
2208 
2211 @property(strong, nonatomic) IMAGE_CLASS * _Nullable image;
2212 
2216 @property(strong, nonatomic) NSData *_Nullable dataBuf; // Raw data buffer. Not used for iOS textures.
2217 
2227 @property(strong, nonatomic) NSData *_Nullable metadataBuffer;
2235 @property(assign, nonatomic) int metadataSize;
2236 
2242 @property(strong, nonatomic) NSData *_Nullable alphaBuf;
2247 @property(assign, nonatomic) AgoraAlphaStitchMode alphaStitchMode;
2248 
2252 @property(assign, nonatomic) int cropLeft; // Number of pixels to crop on the left boundary.
2256 @property(assign, nonatomic) int cropTop; // Number of pixels to crop on the top boundary.
2260 @property(assign, nonatomic) int cropRight; // Number of pixels to crop on the right boundary.
2264 @property(assign, nonatomic) int cropBottom; // Number of pixels to crop on the bottom boundary.
2269 @property(assign, nonatomic) int rotation; // 0, 90, 180, 270. See document for rotation calculation.
2270 
2275 @property(strong, nonatomic) AgoraColorSpace *_Nullable colorSpace;
2276 /* Note
2277  * 1. strideInPixels
2278  * Stride is in pixels, not bytes
2279  * 2. About the frame width and height
2280  * No field is defined for the width. However, it can be deduced by:
2281  * croppedWidth = (strideInPixels - cropLeft - cropRight)
2282  * And
2283  * croppedHeight = (height - cropTop - cropBottom)
2284  * 3. About crop
2285  * _________________________________________________________________.....
2286  * | ^ | ^
2287  * | | | |
2288  * | cropTop | |
2289  * | | | |
2290  * | v | |
2291  * | ________________________________ | |
2292  * | | | | |
2293  * | | | | |
2294  * |<-- cropLeft -->| valid region |<- cropRight ->|
2295  * | | | | height
2296  * | | | |
2297  * | |_____________________________ | | |
2298  * | ^ | |
2299  * | | | |
2300  * | cropBottom | |
2301  * | | | |
2302  * | v | v
2303  * _________________________________________________________________......
2304  * | |
2305  * |<---------------- strideInPixels ----------------------------->|
2306  *
2307  * If your buffer contains garbage data, you can crop them. For example, the frame size is
2308  * 360 x 640, often the buffer stride is 368, that is, there extra 8 pixels on the
2309  * right are for padding, and should be removed. In this case, you can set:
2310  * strideInPixels = 368;
2311  * height = 640;
2312  * cropRight = 8;
2313  * // cropLeft, cropTop, cropBottom are set to a default of 0
2314  */
2315 
2318 - (void)fillAlphaData;
2319 @end
2320 
2324 __attribute__((visibility("default"))) @interface AgoraLogConfig: NSObject
2334 @property (copy, nonatomic) NSString * _Nullable filePath;
2341 @property (assign, nonatomic) NSInteger fileSizeInKB;
2347 @property (assign, nonatomic) AgoraLogLevel level;
2348 @end
2349 
2353 __attribute__((visibility("default"))) @interface AgoraRtcEngineConfig: NSObject
2354 
2361  @property (copy, nonatomic) NSString * _Nullable appId;
2362 
2366  @property (assign, nonatomic) AgoraChannelProfile channelProfile;
2367 
2371  @property (copy, nonatomic) NSString * _Nullable license;
2372 
2377  @property (assign, nonatomic) AgoraAudioScenario audioScenario;
2383  @property (assign, nonatomic) AgoraAreaCodeType areaCode;
2403  @property (strong, nonatomic) AgoraLogConfig * _Nullable logConfig;
2409  @property (assign, nonatomic) AgoraThreadPriorityType threadPriority;
2413  @property (weak, nonatomic) id<AgoraMediaFilterEventDelegate> _Nullable eventDelegate;
2422  @property (assign, nonatomic) BOOL domainLimit;
2423 
2431  @property (assign, nonatomic) BOOL autoRegisterAgoraExtensions;
2432 @end
2433 
2437 __attribute__((visibility("default"))) @interface AgoraAudioFrame : NSObject
2441 @property(assign, nonatomic) NSInteger samplesPerChannel;
2445 @property(assign, nonatomic) NSInteger bytesPerSample;
2451 @property(assign, nonatomic) NSInteger channels;
2455 @property(assign, nonatomic) NSInteger samplesPerSec;
2461 @property(assign, nonatomic) void* _Nullable buffer;
2468 @property(assign, nonatomic) int64_t renderTimeMs;
2471 @property(assign, nonatomic) int64_t presentationMs;
2475 @property(assign, nonatomic) NSInteger avSyncType;
2479 @property(assign, nonatomic) uint32_t rtpTimestamp;
2480 @end
2481 
2505 __attribute__((visibility("default"))) @interface AgoraAudioParams : NSObject
2506 
2515 @property (assign, nonatomic) NSInteger sampleRate;
2516 
2522 @property (assign, nonatomic) NSInteger channel;
2523 
2527 @property (assign, nonatomic) AgoraAudioRawFrameOperationMode mode;
2528 
2532 @property (assign, nonatomic) NSInteger samplesPerCall;
2533 
2534 @end
2535 
2539 __attribute__((visibility("default"))) @interface AgoraEncodedAudioFrameInfo: NSObject
2543  @property (assign, nonatomic) NSInteger samplesPerChannel;
2547  @property (assign, nonatomic) NSInteger channels;
2551  @property (assign, nonatomic) NSInteger samplesPerSec;
2555  @property (assign, nonatomic) AgoraAudioCodecType codecType;
2556 @end
2557 
2561 __attribute__((visibility("default"))) @interface AgoraUplinkNetworkInfo : NSObject
2565 @property(nonatomic, assign) int videoEncoderTargetBitrateBps;
2566 @end
2567 
2571 __attribute__((visibility("default"))) @interface AgoraDownlinkNetworkInfo : NSObject
2575 @property(nonatomic, assign) int lastmileBufferDelayTimeMs;
2579 @property(nonatomic, assign) int bandwidthEstimationBps;
2580 @end
2581 
2585 __attribute__((visibility("default"))) @interface AgoraLeaveChannelOptions : NSObject
2591 @property(nonatomic, assign) BOOL stopAudioMixing;
2592 
2598 @property(nonatomic, assign) BOOL stopAllEffect;
2599 
2605 @property(nonatomic, assign) BOOL stopMicrophoneRecording;
2606 
2607 @end
2608 
2617 __attribute__((visibility("default"))) @interface AgoraOutputVideoFrame : NSObject
2618 
2632 @property (nonatomic, assign) NSInteger type;
2636 @property (nonatomic, assign) int width;
2640 @property (nonatomic, assign) int height;
2646 @property (nonatomic, assign) int yStride;
2652 @property (nonatomic, assign) int uStride;
2658 @property (nonatomic, assign) int vStride;
2662 @property (nonatomic, assign) uint8_t* _Nullable yBuffer;
2666 @property (nonatomic, assign) uint8_t* _Nullable uBuffer;
2670 @property (nonatomic, assign) uint8_t* _Nullable vBuffer;
2675 @property (nonatomic, assign) int rotation;
2680 @property (nonatomic, assign) int64_t renderTimeMs;
2684 @property (nonatomic, assign) int avSyncType;
2685 
2689 @property(assign, nonatomic) CVPixelBufferRef _Nullable pixelBuffer;
2699 @property (nonatomic, assign) uint8_t* _Nullable alphaBuffer;
2704 @property (nonatomic, assign) AgoraAlphaStitchMode alphaStitchMode;
2705 
2715 @property (nonatomic, assign) uint8_t* _Nullable metadataBuffer;
2723 @property (nonatomic, assign) int metadataSize;
2724 
2728 @property(nonatomic, strong) NSDictionary *_Nonnull metaInfo;
2729 
2734 @property(nonatomic, strong) AgoraColorSpace* _Nullable colorSpace;
2735 
2736 @end
2737 
2741 __attribute__((visibility("default"))) @interface AgoraEncryptionConfig: NSObject
2742 
2748  @property (assign, nonatomic) AgoraEncryptionMode encryptionMode;
2749 
2755  @property (copy, nonatomic) NSString * _Nullable encryptionKey;
2763  @property (strong, nonatomic) NSData * _Nullable encryptionKdfSalt;
2769  @property (assign, nonatomic) BOOL datastreamEncryptionEnabled;
2770  @end
2771 
2775 __attribute__((visibility("default"))) @interface AgoraUserInfo: NSObject
2776 
2780 @property(assign, nonatomic) NSUInteger uid;
2781 
2785  @property (copy, nonatomic) NSString * _Nullable userAccount;
2786  @end
2787 
2791 __attribute__((visibility("default"))) @interface AgoraClientRoleOptions: NSObject
2792 
2797 @property (assign, nonatomic) AgoraAudienceLatencyLevelType audienceLatencyLevel;
2798 
2799 @end
2800 
2804 __attribute__((visibility("default"))) @interface AgoraCameraCapturerConfiguration: NSObject
2810 #if TARGET_OS_IOS
2811 
2814 @property (assign, nonatomic) AgoraCameraDirection cameraDirection;
2828 @property(assign, nonatomic) AgoraFocalLength cameraFocalLengthType;
2829 #elif TARGET_OS_MAC
2830 
2833 @property (copy, nonatomic) NSString * _Nullable deviceId;
2834 #endif
2835 
2839 @property(assign, nonatomic) CGSize dimensions;
2840 
2844 @property(assign, nonatomic) int frameRate;
2845 
2854 @property(assign, nonatomic) BOOL followEncodeDimensionRatio;
2855 
2856 @end
2857 
2871 __attribute__((visibility("default"))) @interface AgoraDataStreamConfig: NSObject
2872 
2880 @property (assign, nonatomic) BOOL ordered;
2881 
2893 @property (assign, nonatomic) BOOL syncWithAudio;
2894 @end
2895 
2896 
2900 __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayInfo: NSObject
2904 @property (copy, nonatomic) NSString * _Nullable token;
2908 @property (copy, nonatomic) NSString * _Nullable channelName;
2912 @property (assign, nonatomic) NSUInteger uid;
2917 - (instancetype _Nonnull)initWithToken:(NSString *_Nullable)token NS_SWIFT_NAME(init(token:));
2918 @end
2919 
2923 __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayConfiguration: NSObject
2941 @property (strong, nonatomic, readonly) NSDictionary<NSString *, AgoraChannelMediaRelayInfo *> *_Nullable destinationInfos;
2956 @property (strong, nonatomic) AgoraChannelMediaRelayInfo *_Nonnull sourceInfo;
2977 - (BOOL)setDestinationInfo:(AgoraChannelMediaRelayInfo *_Nonnull)destinationInfo forChannelName:(NSString *_Nonnull)channelName NS_SWIFT_NAME(setDestinationInfo(_:forChannelName:));
2987 - (BOOL)removeDestinationInfoForChannelName:(NSString *_Nonnull)channelName NS_SWIFT_NAME(removeDestinationInfo(forChannelName:));
2988 @end
2989 
2990 
2994 __attribute__((visibility("default"))) @interface AgoraBeautyOptions : NSObject
2995 
3000 @property(nonatomic, assign) AgoraLighteningContrastLevel lighteningContrastLevel;
3001 
3006 @property(nonatomic, assign) float lighteningLevel;
3007 
3012 @property(nonatomic, assign) float smoothnessLevel;
3013 
3018 @property(nonatomic, assign) float rednessLevel;
3019 
3024 @property(nonatomic, assign) float sharpnessLevel;
3025 
3026 @end
3027 
3031 __attribute__((visibility("default"))) @interface AgoraFaceShapeAreaOptions : NSObject
3035 @property(nonatomic, assign) AgoraFaceShapeArea shapeArea;
3040 @property(nonatomic, assign) int shapeIntensity;
3041 
3042 @end
3043 
3047 __attribute__((visibility("default"))) @interface AgoraFaceShapeBeautyOptions: NSObject
3051 @property(nonatomic, assign) AgoraFaceShapeStyle shapeStyle;
3057 @property(nonatomic, assign) int styleIntensity;
3058 
3059 @end
3060 
3064 __attribute__((visibility("default"))) @interface AgoraFilterEffectOptions: NSObject
3082 @property(nonatomic, copy) NSString* _Nullable path NS_SWIFT_NAME(path);
3083 
3088 @property(nonatomic, assign) float strength;
3089 
3090 @end
3091 
3095 __attribute__((visibility("default"))) @interface AgoraVideoDenoiserOptions : NSObject
3096 
3100 @property(nonatomic, assign) AgoraVideoDenoiserMode mode;
3101 
3105 @property(nonatomic, assign) AgoraVideoDenoiserLevel level;
3106 
3107 @end
3108 
3112 __attribute__((visibility("default"))) @interface AgoraLowlightEnhanceOptions : NSObject
3113 
3117 @property(nonatomic, assign) AgoraLowlightEnhanceMode mode;
3118 
3122 @property(nonatomic, assign) AgoraLowlightEnhanceLevel level;
3123 
3124 @end
3125 
3129 __attribute__((visibility("default"))) @interface AgoraColorEnhanceOptions : NSObject
3130 
3136 @property(nonatomic, assign) float strengthLevel;
3137 
3149 @property(nonatomic, assign) float skinProtectLevel;
3150 
3151 @end
3152 
3153 
3157 __attribute__((visibility("default"))) @interface AgoraVirtualBackgroundSource : NSObject
3158 
3162 @property(nonatomic, assign) AgoraVirtualBackgroundSourceType backgroundSourceType NS_SWIFT_NAME(backgroundSourceType);
3163 
3176 @property(nonatomic, assign) NSUInteger color NS_SWIFT_NAME(color);
3177 
3185 @property(nonatomic, copy) NSString* _Nullable source NS_SWIFT_NAME(source);
3186 
3192 @property(nonatomic, assign) AgoraBlurDegree blurDegree;
3193 
3194 @end
3195 
3199 __attribute__((visibility("default"))) @interface AgoraSegmentationProperty: NSObject
3200 
3204 @property(nonatomic, assign) SegModelType modelType;
3205 
3214 @property(nonatomic, assign) float greenCapacity;
3215 
3219 @property(nonatomic, assign) ScreenColorType screenColorType;
3220 
3221 @end
3225 __attribute__((visibility("default"))) @interface AgoraTranscodingVideoStream: NSObject
3231 @property (assign, nonatomic) NSUInteger remoteUserUid;
3232 
3236 @property (assign, nonatomic) AgoraVideoSourceType sourceType;
3244 @property (copy, nonatomic) NSString * _Nullable imageUrl;
3249 @property(assign, nonatomic) NSUInteger mediaPlayerId;
3254 @property (assign, nonatomic) CGRect rect;
3261 @property (assign, nonatomic) NSInteger zOrder;
3266 @property(assign, nonatomic) double alpha;
3273 @property(assign, nonatomic) BOOL mirror;
3274 
3275 @end
3276 
3280 __attribute__((visibility("default"))) @interface AgoraMixedAudioStream: NSObject
3284 @property (assign, nonatomic) AgoraAudioSourceType sourceType;
3290 @property (assign, nonatomic) NSUInteger remoteUserUid;
3304 @property (copy, nonatomic) NSString * _Nullable channelId;
3311 @property (assign, nonatomic) NSUInteger trackId;
3312 
3313 @end
3314 
3318 __attribute__((visibility("default"))) @interface AgoraLocalAudioMixerConfiguration: NSObject
3319 
3323 @property(copy, nonatomic) NSArray<AgoraMixedAudioStream *> *_Nullable audioInputStreams;
3324 
3332 @property(assign, nonatomic) BOOL syncWithLocalMic;
3333 
3334 @end
3335 
3339 __attribute__((visibility("default"))) @interface AgoraLocalTranscoderConfiguration: NSObject
3340 
3344 @property(copy, nonatomic) NSArray<AgoraTranscodingVideoStream *> *_Nullable videoInputStreams;
3345 
3350 @property (strong, nonatomic) AgoraVideoEncoderConfiguration *_Nonnull videoOutputConfiguration;
3351 
3357 @property(assign, nonatomic) BOOL syncWithPrimaryCamera;
3358 
3359 @end
3360 
3364 __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters: NSObject
3386 @property (assign, nonatomic) CGSize dimensions;
3391 @property (assign, nonatomic) NSInteger frameRate;
3396 @property (assign, nonatomic) NSInteger bitrate;
3397 
3405 @property(assign, nonatomic) BOOL captureMouseCursor;
3406 
3415 @property(assign, nonatomic) BOOL windowFocus;
3416 
3424 @property(copy, nonatomic) NSArray* _Nullable excludeWindowList;
3425 
3433 @property(assign, nonatomic) BOOL highLighted;
3437 @property(strong, nonatomic) COLOR_CLASS* _Nullable highLightColor;
3442 @property(assign, nonatomic) NSUInteger highLightWidth;
3443 
3444 @property(assign, nonatomic) BOOL captureAudio;
3445 
3446 @end
3447 
3448 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
3449 
3452 __attribute__((visibility("default"))) @interface AgoraScreenCaptureConfiguration: NSObject
3458 @property(assign, nonatomic) BOOL isCaptureWindow;
3463 @property(assign, nonatomic) UInt32 displayId;
3468 @property(assign, nonatomic) UInt32 windowId;
3469 
3473 @property(strong, nonatomic) AgoraScreenCaptureParameters* _Nonnull params;
3477 @property(assign, nonatomic) CGRect regionRect;
3478 
3479 @end
3480 #endif
3481 
3485 __attribute__((visibility("default"))) @interface AgoraScreenVideoParameters : NSObject
3486 
3490 @property(assign, nonatomic) CGSize dimensions;
3494 @property(assign, nonatomic) NSInteger frameRate;
3498 @property(assign, nonatomic) NSInteger bitrate;
3499 
3503 @property(assign, nonatomic) AgoraVideoContentHint contentHint;
3504 
3505 @end
3506 
3514 __attribute__((visibility("default"))) @interface AgoraScreenAudioParameters : NSObject
3515 
3519 @property(assign, nonatomic) NSInteger captureSignalVolume;
3520 
3521 @end
3522 
3526 __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters2 : NSObject
3535 @property(assign, nonatomic) BOOL captureAudio;
3540 @property(strong, nonatomic) AgoraScreenAudioParameters* _Nonnull audioParams;
3546 @property(assign, nonatomic) BOOL captureVideo;
3551 @property(strong, nonatomic) AgoraScreenVideoParameters* _Nonnull videoParams;
3552 @end
3553 
3557 __attribute__((visibility("default"))) @interface AgoraAudioRecordingConfiguration: NSObject
3563 @property (copy, nonatomic) NSString * _Nullable filePath;
3574 @property (assign, nonatomic) NSUInteger sampleRate;
3578 @property (assign, nonatomic) AgoraAudioFileRecordingType fileRecordOption;
3583 @property (assign, nonatomic) AgoraAudioRecordingQuality quality;
3584 
3598 @property (assign, nonatomic) NSInteger recordingChannel;
3599 
3600 @end
3601 
3605 __attribute__((visibility("default"))) @interface AgoraSimulcastStreamConfig: NSObject
3606 
3612  @property (assign, nonatomic) int kBitrate;
3616  @property (assign, nonatomic) int framerate;
3620  @property (assign, nonatomic) CGSize dimensions;
3621  @end
3622 
3633 __attribute__((visibility("default"))) @interface AgoraStreamLayerConfig: NSObject
3637  @property (assign, nonatomic) CGSize dimensions;
3641  @property (assign, nonatomic) int framerate;
3647  @property (assign, nonatomic) BOOL enable;
3648 @end
3649 
3655 __attribute__((visibility("default"))) @interface AgoraSimulcastConfig: NSObject
3659  @property (copy, nonatomic, readonly) NSArray<AgoraStreamLayerConfig*>* _Nonnull configs;
3668  @property (assign, nonatomic) BOOL publishFallbackEnable;
3669 @end
3670 
3674 __attribute__((visibility("default"))) @interface AgoraRtcMediaStreamInfo : NSObject
3678 @property(nonatomic, assign) NSInteger streamIndex;
3682 @property(nonatomic, assign) AgoraMediaStreamType streamType;
3686 @property(nonatomic, copy) NSString *_Nonnull codecName;
3690 @property(nonatomic, copy) NSString *_Nullable language;
3694 @property(nonatomic, assign) NSInteger videoFrameRate;
3698 @property(nonatomic, assign) NSInteger videoBitRate;
3702 @property(nonatomic, assign) NSInteger videoWidth;
3706 @property(nonatomic, assign) NSInteger videoHeight;
3710 @property(nonatomic, assign) NSInteger audioSampleRate;
3714 @property(nonatomic, assign) NSInteger audioChannels;
3718 @property(nonatomic, assign) NSInteger duration;
3722 @property(nonatomic, assign) NSInteger rotation;
3723 
3724 @end
3725 
3729 __attribute__((visibility("default"))) @interface AgoraAudioSpectrumInfo : NSObject
3730 
3734 @property(nonatomic, assign) NSInteger uid;
3738 @property(nonatomic, strong) NSArray<NSNumber *> * _Nullable audioSpectrumData;
3739 
3740 @end
3741 
3745 __attribute__((visibility("default"))) @interface AgoraAudioEncodedFrameDelegateConfig: NSObject
3749 @property (assign, nonatomic) AgoraAudioEncodedFrameDelegatePosition postionType;
3753 @property (assign, nonatomic) AgoraAudioEncodingType encodingType;
3754 @end
3755 
3760 __attribute__((visibility("default"))) @interface AgoraContentInspectModule: NSObject
3764 @property (assign, nonatomic) AgoraContentInspectType type;
3765 
3771 @property (assign, nonatomic) NSInteger interval;
3772 
3776 @property (assign, nonatomic) AgoraVideoModulePosition position;
3777 @end
3778 
3782 __attribute__((visibility("default"))) @interface AgoraContentInspectConfig: NSObject
3789 @property (nonatomic, copy) NSString* _Nullable extraInfo;
3796 @property (nonatomic, copy) NSString* _Nullable serverConfig;
3804 @property(copy, nonatomic) NSArray<AgoraContentInspectModule*>* _Nullable modules;
3805 @end
3806 
3810 __attribute__((visibility("default"))) @interface AgoraSnapshotConfig: NSObject
3816 @property (copy, nonatomic) NSString * _Nullable filePath;
3820 @property(assign, nonatomic) AgoraVideoModulePosition position;
3821 @end
3822 
3826 __attribute__((visibility("default"))) @interface AgoraRtcConnection: NSObject <NSCopying>
3827 
3835 - (instancetype _Nonnull)initWithChannelId:(NSString *_Nonnull)channelId localUid:(NSInteger)localUid;
3836 
3840 @property (nonatomic, copy) NSString *_Nonnull channelId;
3841 
3845 @property (nonatomic, assign) NSUInteger localUid;
3846 
3847 @end
3848 
3852 __attribute__((visibility("default"))) @interface AgoraVideoSubscriptionOptions: NSObject
3853 
3859 @property (nonatomic, assign) AgoraVideoStreamType type;
3866 @property (nonatomic, assign) BOOL encodedFrameOnly;
3867 
3868 @end
3869 
3873 __attribute__((visibility("default"))) @interface AgoraRecorderStreamInfo: NSObject
3877 @property (nonatomic, nonatomic) NSUInteger uid;
3878 
3882 @property (nonatomic, copy) NSString *_Nonnull channelId;
3886 @property (assign, nonatomic) AgoraRecorderStreamType type;
3887 @end
3888 
3892 __attribute__((visibility("default"))) @interface AgoraEncodedVideoFrameInfo: NSObject
3893 
3898 @property (assign, nonatomic) AgoraVideoCodecType codecType;
3902 @property (assign, nonatomic) NSInteger width;
3906 @property (assign, nonatomic) NSInteger height;
3912 @property (assign, nonatomic) NSInteger framesPerSecond;
3916 @property (assign, nonatomic) AgoraVideoFrameType frameType;
3920 @property (assign, nonatomic) NSInteger rotation;
3924 @property (assign, nonatomic) NSInteger trackId; // This can be reserved for multiple video tracks, we need to create different ssrc
3925  // and additional payload for later implementation.
3929 @property (assign, nonatomic) NSInteger captureTimeMs;
3933 @property (assign, nonatomic) NSInteger decodeTimeMs;
3937 @property (assign, nonatomic) AgoraVideoStreamType streamType;
3938 @end
3939 
3943 NS_SWIFT_NAME(LogUploadServerInfo) __attribute__((visibility("default"))) @interface LogUploadServerInfo : NSObject
3947 @property(copy, nonatomic) NSString* _Nullable serverDomain;
3951 @property(copy, nonatomic) NSString* _Nullable serverPath;
3955 @property(assign, nonatomic) NSInteger serverPort;
3961 @property(assign, nonatomic) BOOL serverHttps;
3962 @end
3963 
3967 NS_SWIFT_NAME(AdvancedConfigInfo) __attribute__((visibility("default"))) @interface AdvancedConfigInfo : NSObject
3972 @property(strong, nonatomic) LogUploadServerInfo* _Nullable logUploadServer;
3973 @end
3974 
3978 NS_SWIFT_NAME(AgoraLocalAccessPointConfiguration) __attribute__((visibility("default"))) @interface AgoraLocalAccessPointConfiguration : NSObject
3983 @property(copy, nonatomic) NSArray* _Nullable ipList NS_SWIFT_NAME(ipList);
3992 @property(copy, nonatomic) NSArray* _Nullable domainList NS_SWIFT_NAME(domainList);
3997 @property(copy, nonatomic) NSString* _Nullable verifyDomainName NS_SWIFT_NAME(verifyDomainName);
4001 @property(assign, nonatomic) AgoraLocalProxyMode mode NS_SWIFT_NAME(mode);
4005 @property(strong, nonatomic) AdvancedConfigInfo* _Nullable advancedConfig NS_SWIFT_NAME(advancedConfig);
4011 @property(assign, nonatomic) BOOL disableAut;
4012 @end
4013 
4017 __attribute__((visibility("default"))) @interface AgoraRhythmPlayerConfig: NSObject
4022 @property (assign, nonatomic) int beatsPerMeasure;
4027 @property (assign, nonatomic) int beatsPerMinute;
4028 
4029 @end
4030 
4034 NS_SWIFT_NAME(AgoraFacePositionInfo) __attribute__((visibility("default"))) @interface AgoraFacePositionInfo : NSObject
4035 
4041 @property(assign, nonatomic) NSInteger x NS_SWIFT_NAME(x);
4042 
4048 @property(assign, nonatomic) NSInteger y NS_SWIFT_NAME(y);
4049 
4053 @property(assign, nonatomic) NSInteger width NS_SWIFT_NAME(width);
4054 
4058 @property(assign, nonatomic) NSInteger height NS_SWIFT_NAME(height);
4059 
4063 @property(assign, nonatomic) NSInteger distance NS_SWIFT_NAME(distance);
4064 @end
4065 
4069 __attribute__((visibility("default"))) @interface AgoraAdvancedAudioOptions: NSObject
4070 
4074 @property(assign, nonatomic) AgoraAudioProcessChannels audioProcessingChannels;
4075 
4076 @end
4077 
4081 __attribute__((visibility("default"))) @interface AgoraImageTrackOptions : NSObject
4086 @property(copy, nonatomic) NSString *_Nullable imageUrl;
4091 @property(assign, nonatomic) int fps;
4092 @property(assign, nonatomic) AgoraVideoMirrorMode mirrorMode;
4093 @end
4094 
4098 __attribute__((visibility("default"))) @interface AgoraSpatialAudioParams : NSObject
4108 @property(assign, nonatomic) double speaker_azimuth;
4116 @property(assign, nonatomic) double speaker_elevation;
4121 @property(assign, nonatomic) double speaker_distance;
4128 @property(assign, nonatomic) NSInteger speaker_orientation;
4134 @property(assign, nonatomic) BOOL enable_blur;
4143 @property(assign, nonatomic) BOOL enable_air_absorb;
4157 @property(assign, nonatomic) double speaker_attenuation;
4175 @property(assign, nonatomic) BOOL enable_doppler;
4176 @end
4177 
4178 NS_SWIFT_NAME(AgoraEchoTestConfiguration)
4182 __attribute__((visibility("default"))) @interface AgoraEchoTestConfiguration : NSObject
4187 @property(strong, nonatomic) VIEW_CLASS* _Nullable view NS_SWIFT_NAME(view);
4193 @property(assign, nonatomic) BOOL enableAudio NS_SWIFT_NAME(enableAudio);
4199 @property(assign, nonatomic) BOOL enableVideo NS_SWIFT_NAME(enableVideo);
4207 @property(copy, nonatomic) NSString* _Nullable token NS_SWIFT_NAME(token);
4213 @property(copy, nonatomic) NSString* _Nonnull channelId NS_SWIFT_NAME(channelId);
4221 @property(assign, nonatomic) NSInteger intervalInSeconds NS_SWIFT_NAME(intervalInSeconds);
4222 @end
4223 
4227 __attribute__((visibility("default"))) @interface AgoraMediaRecorderInfo : NSObject
4228 
4232 @property(copy, nonatomic) NSString* _Nonnull recorderFileName;
4236 @property(assign, nonatomic) NSUInteger durationMs;
4240 @property(assign, nonatomic) NSUInteger fileSize;
4241 
4242 @end
4243 
4247 __attribute__((visibility("default"))) @interface AgoraMediaRecorderConfiguration : NSObject
4248 
4256 @property(copy, nonatomic) NSString* _Nonnull storagePath;
4260 @property(assign, nonatomic) AgoraMediaRecorderContainerFormat containerFormat;
4264 @property(assign, nonatomic) AgoraMediaRecorderStreamType streamType;
4268 @property(assign, nonatomic) NSUInteger maxDurationMs;
4274 @property(assign, nonatomic) NSUInteger recorderInfoUpdateInterval;
4281 @property(assign, nonatomic) NSUInteger width;
4289 @property(assign, nonatomic) NSUInteger height;
4297 @property(assign, nonatomic) NSUInteger fps;
4304 @property(assign, nonatomic) NSUInteger sample_rate;
4312 @property(assign, nonatomic) NSUInteger channel_num;
4318 @property(assign, nonatomic) AgoraVideoSourceType videoSourceType;
4319 @end
4320 
4321 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
4322 
4326 __attribute__((visibility("default"))) @interface AgoraScreenCaptureSourceInfo : NSObject
4330 @property(assign, nonatomic) AgoraScreenCaptureSourceType type;
4334 @property(assign, nonatomic) CGWindowID sourceId;
4338 @property(copy, nonatomic) NSString* _Nonnull sourceName;
4342 @property(strong, nonatomic) NSImage* _Nonnull thumbImage;
4346 @property(strong, nonatomic) NSImage* _Nullable iconImage;
4350 @property(copy, nonatomic) NSString* _Nonnull processPath;
4354 @property(copy, nonatomic) NSString* _Nonnull sourceTitle;
4359 @property(assign, nonatomic) CGRect position;
4365 @property(assign, nonatomic) BOOL primaryMonitor;
4366 
4367 @end
4368 
4369 #endif
4370 
4371 NS_SWIFT_NAME(AgoraExtensionInfo) __attribute__((visibility("default"))) @interface AgoraExtensionInfo : NSObject
4372 
4378 @property (assign, nonatomic) NSUInteger remoteUid NS_SWIFT_NAME(remoteUid);
4382 @property (assign, nonatomic) NSUInteger localUid NS_SWIFT_NAME(localUid);
4383 
4387 @property (assign, nonatomic) AgoraMediaSourceType sourceType NS_SWIFT_NAME(sourceType);
4388 
4400 @property (copy, nonatomic) NSString *_Nonnull channelId NS_SWIFT_NAME(channelId);
4401 
4402 @end
4403 
4407 NS_SWIFT_NAME(AgoraAudioTrackConfig) __attribute__((visibility("default"))) @interface AgoraAudioTrackConfig : NSObject
4413 @property (assign, nonatomic) BOOL enableLocalPlayback NS_SWIFT_NAME(enableLocalPlayback);
4421 @property (assign, nonatomic) BOOL enableAudioProcessing NS_SWIFT_NAME(enableAudioProcessing);
4422 @end
4423 
4427 __attribute__((visibility("default"))) @interface AgoraVideoLayout: NSObject
4431 @property(copy, nonatomic) NSString* _Nonnull channelId NS_SWIFT_NAME(channelId);
4435 @property (assign, nonatomic) NSUInteger uid NS_SWIFT_NAME(uid);
4439 @property(copy, nonatomic) NSString* _Nullable strUid NS_SWIFT_NAME(strUid);
4447 @property (assign, nonatomic) NSUInteger videoState NS_SWIFT_NAME(videoState);
4453 @property (assign, nonatomic) NSUInteger x NS_SWIFT_NAME(x);
4459 @property (assign, nonatomic) NSUInteger y NS_SWIFT_NAME(y);
4463 @property (assign, nonatomic) NSUInteger width NS_SWIFT_NAME(width);
4467 @property (assign, nonatomic) NSUInteger height NS_SWIFT_NAME(height);
4468 @end
4469 
4473 __attribute__((visibility("default"))) @interface AgoraVideoLayoutInfo: NSObject
4477 @property (assign, nonatomic) NSUInteger width NS_SWIFT_NAME(width);
4481 @property (assign, nonatomic) NSUInteger height NS_SWIFT_NAME(height);
4485 @property (assign, nonatomic) NSUInteger layoutCount NS_SWIFT_NAME(layoutCount);
4489 @property(copy, nonatomic) NSArray<AgoraVideoLayout *> *_Nullable layoutList NS_SWIFT_NAME(layoutList);
4490 @end
4491 
4495 NS_SWIFT_NAME(AgoraVideoRenderingTracingInfo) __attribute__((visibility("default"))) @interface AgoraVideoRenderingTracingInfo : NSObject
4501 @property (assign, nonatomic) NSInteger elapsedTime NS_SWIFT_NAME(elapsedTime);
4509 @property (assign, nonatomic) NSInteger start2JoinChannel NS_SWIFT_NAME(start2JoinChannel);
4514 @property (assign, nonatomic) NSInteger join2JoinSuccess NS_SWIFT_NAME(join2JoinSuccess);
4529 @property (assign, nonatomic) NSInteger joinSuccess2RemoteJoined NS_SWIFT_NAME(joinSuccess2RemoteJoined);
4544 @property (assign, nonatomic) NSInteger remoteJoined2SetView NS_SWIFT_NAME(remoteJoined2SetView);
4559 @property (assign, nonatomic) NSInteger remoteJoined2UnmuteVideo NS_SWIFT_NAME(remoteJoined2UnmuteVideo);
4574 @property (assign, nonatomic) NSInteger remoteJoined2PacketReceived NS_SWIFT_NAME(remoteJoined2PacketReceived);
4575 
4576 @end
4577 
4581 NS_SWIFT_NAME(AgoraMetadata) __attribute__((visibility("default"))) @interface AgoraMetadata : NSObject
4585 @property (copy, nonatomic) NSString* _Nonnull channelId NS_SWIFT_NAME(channelId);
4591 @property (assign, nonatomic) NSInteger uid NS_SWIFT_NAME(uid);
4595 @property (strong, nonatomic) NSData* _Nonnull data NS_SWIFT_NAME(data);
4599 @property (assign, nonatomic) NSTimeInterval timestamp NS_SWIFT_NAME(timestamp);
4600 @end
4601 
4607 __attribute__((visibility("default"))) @interface AgoraPathStats : NSObject
4608 
4613 @property (assign, nonatomic) AgoraMultipathType pathType;
4614 
4619 @property (assign, nonatomic) NSUInteger txKBitRate;
4620 
4625 @property (assign, nonatomic) NSUInteger rxKBitRate;
4626 @end
4627 
4633 __attribute__((visibility("default"))) @interface AgoraMultipathStats : NSObject
4637 @property (assign, nonatomic) NSUInteger lanRxBytes;
4641 @property (assign, nonatomic) NSUInteger lanTxBytes;
4645 @property (assign, nonatomic) NSUInteger wifiRxBytes;
4649 @property (assign, nonatomic) NSUInteger wifiTxBytes;
4653 @property (assign, nonatomic) NSUInteger mobileRxBytes;
4657 @property (assign, nonatomic) NSUInteger mobileTxBytes;
4661 @property (assign, nonatomic) NSUInteger activePathNum;
4665 @property (copy, nonatomic) NSArray<AgoraPathStats *> *_Nullable pathStats NS_SWIFT_NAME(pathStats);
4666 @end
AgoraRecorderStreamInfo
Information about the audio and video streams to be recorded.
Definition: AgoraObjects.h:3874
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:3041
AgoraFacePositionInfo
The information of the detected human face.
Definition: AgoraObjects.h:4035
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:4911
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:4071
AgoraDegradationPreference
AgoraDegradationPreference
Video degradation preferences when the bandwidth is a constraint.
Definition: AgoraEnumerates.h:2647
AgoraCameraDirection
AgoraCameraDirection
The camera direction.
Definition: AgoraEnumerates.h:3624
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:4496
AgoraScreenAudioParameters
The audio configuration for the shared screen stream.
Definition: AgoraObjects.h:3515
AgoraRtcChannelMediaOptions
The channel media options.
Definition: AgoraObjects.h:383
AgoraAudioScenario
AgoraAudioScenario
The audio scenarios.
Definition: AgoraEnumerates.h:1824
AgoraStreamLayerConfig
Configures the parameters of a specific layer in multi-quality video streams.
Definition: AgoraObjects.h:3634
AgoraRhythmPlayerConfig
The metronome configuration.
Definition: AgoraObjects.h:4018
AgoraBeautyOptions
Image enhancement options.
Definition: AgoraObjects.h:2995
AgoraVideoCodecCapInfo
The codec capability of the SDK.
Definition: AgoraObjects.h:1429
AgoraVideoSubscriptionOptions
Video subscription options.
Definition: AgoraObjects.h:3853
AgoraMultipathType
AgoraMultipathType
Network path types used in multipath transmission.
Definition: AgoraEnumerates.h:5491
AgoraOutputVideoFrame
Configurations of the video frame.
Definition: AgoraObjects.h:2618
AgoraAudioTrackConfig
The configuration of custom audio tracks.
Definition: AgoraObjects.h:4408
AgoraClientRole
AgoraClientRole
The user role in the interactive live streaming.
Definition: AgoraEnumerates.h:711
AgoraScreenCaptureParameters2
Screen sharing configurations.
Definition: AgoraObjects.h:3527
AgoraExperiencePoorReason
AgoraExperiencePoorReason
Reasons why the QoE of the local user when receiving a remote audio stream is poor.
Definition: AgoraEnumerates.h:1140
AgoraMediaSource::uri
NSString *_Nullable uri
Definition: AgoraObjects.h:90
AgoraVideoDenoiserMode
AgoraVideoDenoiserMode
Video noise reduction mode.
Definition: AgoraEnumerates.h:2984
AgoraContentInspectModule
AgoraContentInspectModule class, a structure used to configure the frequency of video screenshot and ...
Definition: AgoraObjects.h:3761
ScreenColorType
ScreenColorType
Screen color type.
Definition: AgoraEnumerates.h:3123
AgoraMediaPlayerSrcInfo
Information about the video bitrate of the media resource being played.
Definition: AgoraObjects.h:250
AgoraFaceShapeAreaOptions
Filter effect options.
Definition: AgoraObjects.h:3032
AdvancedConfigInfo
Advanced options for the Local Access Point.
Definition: AgoraObjects.h:3968
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:4428
WatermarkBufferFormat
WatermarkBufferFormat
The data format of the watermark buffer.
Definition: AgoraEnumerates.h:5392
AgoraLighteningContrastLevel
AgoraLighteningContrastLevel
The contrast level.
Definition: AgoraEnumerates.h:2758
AgoraEnumerates.h
AgoraColorMatrixID
AgoraColorMatrixID
Definition: AgoraEnumerates.h:2512
AgoraVideoFrame
The external video frame.
Definition: AgoraObjects.h:2158
AgoraSimulcastStreamConfig
The configuration of the low-quality video stream.
Definition: AgoraObjects.h:3606
AgoraLocalAudioMixerConfiguration
The configurations for mixing the local audio.
Definition: AgoraObjects.h:3319
AgoraRtcConnection::channelId
NSString *_Nonnull channelId
Definition: AgoraObjects.h:3840
AgoraVideoModulePosition
AgoraVideoModulePosition
The frame position of the video observer.
Definition: AgoraEnumerates.h:5220
AgoraScreenCaptureParameters
Screen sharing configurations.
Definition: AgoraObjects.h:3365
AgoraAudioRawFrameOperationMode
AgoraAudioRawFrameOperationMode
The use mode of the audio data.
Definition: AgoraEnumerates.h:1915
AgoraMediaRecorderInfo
Recording file information.
Definition: AgoraObjects.h:4228
AgoraSegmentationProperty
Processing properties for background images.
Definition: AgoraObjects.h:3200
AgoraSimulcastConfig
Configure video streams of different quality levels.
Definition: AgoraObjects.h:3656
AgoraVideoDenoiserLevel
AgoraVideoDenoiserLevel
Video noise reduction level.
Definition: AgoraEnumerates.h:3001
AgoraRtcRemoteVideoStats
Statistics of the remote video stream.
Definition: AgoraObjects.h:930
AgoraVideoViewSetupMode
AgoraVideoViewSetupMode
Setting mode of the view.
Definition: AgoraEnumerates.h:4962
AgoraMediaSource::autoPlay
BOOL autoPlay
Definition: AgoraObjects.h:102
AgoraContentInspectConfig
Screenshot and upload configuration.
Definition: AgoraObjects.h:3783
AgoraAudioEncodedFrameDelegateConfig
Observer settings for the encoded audio.
Definition: AgoraObjects.h:3746
AgoraTranscodingVideoStream
The video streams for local video mixing.
Definition: AgoraObjects.h:3226
AgoraDirectCdnStreamingMediaOptions
The media setting options for the host.
Definition: AgoraObjects.h:297
AgoraAudioCodecType
AgoraAudioCodecType
The codec type of audio.
Definition: AgoraEnumerates.h:988
AgoraColorPrimaryID
AgoraColorPrimaryID
Definition: AgoraEnumerates.h:2486
AgoraAudioEncodedFrameDelegatePosition
AgoraAudioEncodedFrameDelegatePosition
Audio frame observer position.
Definition: AgoraEnumerates.h:970
AgoraRtcMediaPlayerProtocol-p
Definition: AgoraRtcMediaPlayerProtocol.h:24
AgoraRtcConnection::localUid
NSUInteger localUid
Definition: AgoraObjects.h:3845
AgoraVideoDenoiserOptions
Video noise reduction options.
Definition: AgoraObjects.h:3096
AgoraLastmileProbeConfig
Configurations of the last-mile network test.
Definition: AgoraObjects.h:742
AgoraAudienceLatencyLevelType
AgoraAudienceLatencyLevelType
The latency level of an audience member in interactive live streaming. This enum takes effect only wh...
Definition: AgoraEnumerates.h:726
AgoraLastmileProbeResultState
AgoraLastmileProbeResultState
The status of the last-mile probe test.
Definition: AgoraEnumerates.h:1167
AgoraFocalLength
AgoraFocalLength
The camera focal length types.
Definition: AgoraEnumerates.h:3638
AgoraMultipathStats
Aggregates statistics of each network path in multipath transmission.
Definition: AgoraObjects.h:4634
AgoraRtcMediaStreamInfo
The detailed information of the media stream.
Definition: AgoraObjects.h:3675
AgoraFaceShapeArea
AgoraFaceShapeArea
Chooses the specific facial areas that need to be adjusted.
Definition: AgoraEnumerates.h:2778
AgoraChannelMediaRelayInfo
Channel media information.
Definition: AgoraObjects.h:2901
AgoraMediaSource::enableMultiAudioTrack
BOOL enableMultiAudioTrack
Definition: AgoraObjects.h:126
WatermarkOptions
Watermark image configurations.
Definition: AgoraObjects.h:1689
AgoraVideoSourceType
AgoraVideoSourceType
The type of the video source.
Definition: AgoraEnumerates.h:4109
AgoraAudioFrame
Raw audio data.
Definition: AgoraObjects.h:2438
AgoraMediaRecorderStreamType
AgoraMediaRecorderStreamType
The recording content.
Definition: AgoraEnumerates.h:5095
WatermarkBuffer
Configures the format, size, and pixel buffer of the watermark image.
Definition: AgoraObjects.h:1730
AgoraAudioEncodingType
AgoraAudioEncodingType
Audio encoding type.
Definition: AgoraEnumerates.h:1009
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:3416
VIEW_CLASS
UIView VIEW_CLASS
Definition: AgoraObjects.h:14
AgoraChannelProfile
AgoraChannelProfile
The channel profile.
Definition: AgoraEnumerates.h:680
COLOR_CLASS
UIColor COLOR_CLASS
Definition: AgoraObjects.h:15
AgoraBlurDegree
AgoraBlurDegree
The degree of blurring applied to the custom background image.
Definition: AgoraEnumerates.h:3088
AgoraAudioSpectrumInfo
Audio spectrum information of the remote user.
Definition: AgoraObjects.h:3730
AgoraLeaveChannelOptions
The options for leaving a channel.
Definition: AgoraObjects.h:2586
AgoraDataStreamConfig
The configurations for the data stream.
Definition: AgoraObjects.h:2872
AgoraVideoEncodedFrameDepth
AgoraVideoEncodedFrameDepth
Definition: AgoraEnumerates.h:595
AgoraLowlightEnhanceMode
AgoraLowlightEnhanceMode
The low-light enhancement mode.
Definition: AgoraEnumerates.h:3023
AgoraRtcRemoteAudioStats
Audio statistics of the remote user.
Definition: AgoraObjects.h:1071
AgoraUserInfo
The information of the user.
Definition: AgoraObjects.h:2776
AgoraVideoCodecCapabilityLevel
AgoraVideoCodecCapabilityLevel
The level of the codec capability.
Definition: AgoraEnumerates.h:512
AgoraRtcEngineConfig
Configurations for the AgoraRtcEngineConfig instance.
Definition: AgoraObjects.h:2354
AgoraMediaStreamType
AgoraMediaStreamType
The type of the media stream.
Definition: AgoraEnumerates.h:4257
AgoraImageTrackOptions
Image configurations.
Definition: AgoraObjects.h:4082
AgoraColorSpace
Definition: AgoraObjects.h:2140
AgoraVideoRenderMode
AgoraVideoRenderMode
Video display modes.
Definition: AgoraEnumerates.h:1256
AgoraLastmileProbeOneWayResult
Results of the uplink or downlink last-mile network test.
Definition: AgoraObjects.h:771
AgoraVideoQualityAdaptIndication
AgoraVideoQualityAdaptIndication
Quality change of the local video in terms of target frame rate and target bit rate since last count.
Definition: AgoraEnumerates.h:1238
AgoraContentInspectType
AgoraContentInspectType
The type of video content moderation module.
Definition: AgoraEnumerates.h:4739
AgoraEncryptionConfig
Built-in encryption configurations.
Definition: AgoraObjects.h:2742
AgoraColorRangeID
AgoraColorRangeID
Definition: AgoraEnumerates.h:2526
AgoraEncodedVideoFrameInfo
Information about externally encoded video frames.
Definition: AgoraObjects.h:3893
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:3281
AgoraChannelMediaRelayConfiguration
Configuration of cross channel media relay.
Definition: AgoraObjects.h:2924
AgoraVideoLayoutInfo
Detailed layout information of a mixed video stream.
Definition: AgoraObjects.h:4474
AgoraMetadata
Media metadata.
Definition: AgoraObjects.h:4582
AgoraVideoStreamType
AgoraVideoStreamType
The type of video streams.
Definition: AgoraEnumerates.h:1193
AgoraVideoCodecTypeForStream
AgoraVideoCodecTypeForStream
The codec type of the output video.
Definition: AgoraEnumerates.h:605
AgoraEchoTestConfiguration
The configuration of the audio and video call loop test.
Definition: AgoraObjects.h:4183
AgoraMediaFilterEventDelegate-p
Definition: AgoraMediaFilterEventDelegate.h:35
AgoraFaceShapeStyle
AgoraFaceShapeStyle
The facial enhancement style options.
Definition: AgoraEnumerates.h:2963
AgoraAdvancedAudioOptions
The advanced options for audio.
Definition: AgoraObjects.h:4070
AgoraVideoCodecCapLevels
The level of the codec capability.
Definition: AgoraObjects.h:1393
AgoraRtcAudioVolumeInfo
The volume information of users.
Definition: AgoraObjects.h:1192
AgoraVideoHwEncoderAccelerating
AgoraVideoHwEncoderAccelerating
The local video encoding acceleration type.
Definition: AgoraEnumerates.h:577
AgoraAlphaStitchMode
AgoraAlphaStitchMode
The relative position of alphaBuffer and video frames.
Definition: AgoraEnumerates.h:5348
AgoraMediaPlayerCacheStatistics
Statistics about the media files being cached.
Definition: AgoraObjects.h:174
AgoraAudioProcessChannels
AgoraAudioProcessChannels
The number of channels for audio preprocessing.
Definition: AgoraEnumerates.h:5010
AgoraLocalAccessPointConfiguration
Local Access Point configuration.
Definition: AgoraObjects.h:3979
AgoraFocalLengthInfo
Focal length information supported by the camera, including the camera direction and focal length typ...
Definition: AgoraObjects.h:1412
AgoraEncodingPreference
AgoraEncodingPreference
Video encoder preference.
Definition: AgoraEnumerates.h:2689
AgoraRecorderStreamType
AgoraRecorderStreamType
Type of video streams to be recorded.
Definition: AgoraEnumerates.h:5121
AgoraFaceShapeBeautyOptions
The facial enhancement style options.
Definition: AgoraObjects.h:3048
AgoraThreadPriorityType
AgoraThreadPriorityType
Definition: AgoraEnumerates.h:4709
AgoraScreenVideoParameters
The video configuration for the shared screen stream.
Definition: AgoraObjects.h:3486
AgoraVirtualBackgroundSource
The custom background.
Definition: AgoraObjects.h:3158
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:1633
AgoraRtcConnection
Contains connection information.
Definition: AgoraObjects.h:3826
AgoraSnapshotConfig
The snapshot configuration.
Definition: AgoraObjects.h:3811
AgoraLowlightEnhanceOptions
The low-light enhancement options.
Definition: AgoraObjects.h:3113
AgoraExperienceQuality
AgoraExperienceQuality
The Quality of Experience (QoE) of the local user when receiving a remote audio stream.
Definition: AgoraEnumerates.h:1126
__deprecated
#define __deprecated
Definition: AgoraBase.h:74
AgoraAudioCodecProfileType
AgoraAudioCodecProfileType
Self-defined audio codec profile.
Definition: AgoraEnumerates.h:1615
AgoraVideoContentHint
AgoraVideoContentHint
The content hint for screen sharing.
Definition: AgoraEnumerates.h:4690
AgoraMediaSource::isAgoraSource
BOOL isAgoraSource
Definition: AgoraObjects.h:138
AgoraLocalTranscoderConfiguration
The configuration of the video mixing on the local client.
Definition: AgoraObjects.h:3340
AgoraRtcVideoCanvas
Attributes of the video canvas object.
Definition: AgoraObjects.h:663
AgoraEncodedAudioFrameInfo
Audio information after encoding.
Definition: AgoraObjects.h:2540
AgoraVirtualBackgroundSourceType
AgoraVirtualBackgroundSourceType
The custom background.
Definition: AgoraEnumerates.h:3060
SegModelType
SegModelType
The type of algorithms to user for background processing.
Definition: AgoraEnumerates.h:3109
AgoraMediaSource::playerOnSeekCallback
AgoraRtcMediaPlayerCustomSourceOnSeekCallback _Nonnull playerOnSeekCallback
Definition: AgoraObjects.h:166
AgoraAudioRecordingConfiguration
Recording configurations.
Definition: AgoraObjects.h:3558
AgoraColorTransferID
AgoraColorTransferID
Definition: AgoraEnumerates.h:2498
LogUploadServerInfo
Configuration information of the log server.
Definition: AgoraObjects.h:3944
AgoraVideoFrameType
AgoraVideoFrameType
The video frame type.
Definition: AgoraEnumerates.h:2459
AgoraColorEnhanceOptions
The color enhancement options.
Definition: AgoraObjects.h:3130
AgoraMediaRecorderConfiguration
Audio and video stream recording configuration.
Definition: AgoraObjects.h:4248
AgoraMediaRecorderContainerFormat
AgoraMediaRecorderContainerFormat
Format of the recording file.
Definition: AgoraEnumerates.h:5112
AgoraLogConfig
Configuration of Agora SDK log files.
Definition: AgoraObjects.h:2325
AgoraPathStats
Statistical information about a specific network path.
Definition: AgoraObjects.h:4608
AgoraMultipathMode
AgoraMultipathMode
The transmission mode of data over multiple network paths.
Definition: AgoraEnumerates.h:5473
AgoraClientRoleOptions
Setting of user role properties.
Definition: AgoraObjects.h:2792
AgoraMediaSourceType
AgoraMediaSourceType
Media source type.
Definition: AgoraEnumerates.h:4005
WatermarkConfig
Used to configure watermark-related information.
Definition: AgoraObjects.h:1758
AgoraAudioFileRecordingType
AgoraAudioFileRecordingType
Recording content. Set in startAudioRecordingWithConfig:.
Definition: AgoraEnumerates.h:952
AgoraRtcLocalAudioStats
Local audio statistics.
Definition: AgoraObjects.h:1026
AgoraCameraCapturerConfiguration
The camera capturer preference.
Definition: AgoraObjects.h:2805
AgoraCompressionPreference
AgoraCompressionPreference
Compression preference for video encoding.
Definition: AgoraEnumerates.h:2711
IMAGE_CLASS
UIImage IMAGE_CLASS
Definition: AgoraObjects.h:16
AgoraAdvancedVideoOptions
Advanced options for video encoding.
Definition: AgoraObjects.h:1370
AgoraExtensionInfo
Definition: AgoraObjects.h:4372
WatermarkType
WatermarkType
Type of watermark source.
Definition: AgoraEnumerates.h:5376
AgoraMediaPlayerUpdatedInfo
Information related to the media player.
Definition: AgoraObjects.h:216
AgoraLogLevel
AgoraLogLevel
The output log level of the SDK.
Definition: AgoraEnumerates.h:3388
AgoraScreenCaptureSourceType
AgoraScreenCaptureSourceType
The type of the shared target. Set in AgoraScreenCaptureSourceInfo.
Definition: AgoraEnumerates.h:5134
AgoraLastmileProbeResult
Results of the uplink and downlink last-mile network tests.
Definition: AgoraObjects.h:789
AgoraChannelStats
Statistics of a call session.
Definition: AgoraObjects.h:1234
AgoraCaptureBrightnessLevelType
AgoraCaptureBrightnessLevelType
The brightness level of the video image captured by the local camera.
Definition: AgoraEnumerates.h:740