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"
13 
14 #if TARGET_OS_IPHONE
15 #import <UIKit/UIKit.h>
16 typedef UIView VIEW_CLASS;
17 typedef UIColor COLOR_CLASS;
18 typedef UIImage IMAGE_CLASS;
19 #elif TARGET_OS_MAC
20 #import <AppKit/AppKit.h>
21 typedef NSView VIEW_CLASS;
22 typedef NSColor COLOR_CLASS;
23 typedef NSImage IMAGE_CLASS;
24 #endif
25 
34 typedef int(^AgoraRtcMediaPlayerCustomSourceOnReadCallback)(id<AgoraRtcMediaPlayerProtocol> _Nonnull playerKit, unsigned char * _Nullable buffer, int bufferSize);
35 
49 typedef long long(^AgoraRtcMediaPlayerCustomSourceOnSeekCallback)(id<AgoraRtcMediaPlayerProtocol> _Nonnull playerKit, long long offset, int whence);
50 
51 __attribute__((visibility("default"))) @interface AgoraMediaSource : NSObject
55 @property(copy, nonatomic) NSString *_Nullable url;
59 @property(copy, nonatomic) NSString *_Nullable uri;
63 @property(assign, nonatomic) NSUInteger startPos;
67 @property(assign, nonatomic) BOOL enableCache;
72 @property(assign, nonatomic) BOOL autoPlay;
77 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable isAgoraSource;
81 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable isLiveSource;
87 
88 @end
89 
90 __attribute__((visibility("default"))) @interface AgoraMediaPlayerCacheStatistics : NSObject
91 
92 @property(assign, nonatomic) NSInteger fileSize;
93 @property(assign, nonatomic) NSInteger cacheSize;
94 @property(assign, nonatomic) NSInteger downloadSize;
95 
96 @end
97 
102 __attribute__((visibility("default"))) @interface AgoraMediaPlayerUpdatedInfo : NSObject
103 @property(copy, nonatomic) NSString *_Nullable playerId;
104 @property(copy, nonatomic) NSString *_Nullable deviceId;
105 @property(strong, nonatomic) AgoraMediaPlayerCacheStatistics *_Nullable cacheStatistics;
106 @end
107 
112 __attribute__((visibility("default"))) @interface AgoraMediaPlayerSrcInfo : NSObject
116 @property(assign, nonatomic) int bitrateInKbps;
120 @property(copy, nonatomic) NSString *_Nullable name;
121 
122 @end
123 
124 
128 __attribute__((visibility("default"))) @interface AgoraDirectCdnStreamingStats : NSObject
132 @property(assign, nonatomic) NSUInteger videoWidth;
136 @property(assign, nonatomic) NSUInteger videoHeight;
140 @property(assign, nonatomic) NSUInteger fps;
144 @property(assign, nonatomic) NSUInteger videoBitrate;
148 @property(assign, nonatomic) NSUInteger audioBitrate;
149 
150 @end
151 
155 __attribute__((visibility("default"))) @interface AgoraDirectCdnStreamingMediaOptions : NSObject
161 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable publishCameraTrack;
167 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable publishCustomAudioTrack;
173 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable publishCustomVideoTrack;
179 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable publishMicrophoneTrack;
185 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable publishMediaPlayerAudioTrack;
190 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable publishMediaPlayerId;
191 
195 @property(strong, nonatomic) AgoraRtcIntOptional* _Nullable customVideoTrackId;
196 
197 @end
198 
202 __attribute__((visibility("default"))) @interface AgoraEncodedVideoTrackOptions : NSObject
208 @property(assign, nonatomic) int ccMode;
219 @property(assign, nonatomic) int codecType;
223 @property(assign, nonatomic) int targetBitrate;
224 @end
225 
229 __attribute__((visibility("default"))) @interface AgoraRtcChannelMediaOptions : NSObject
235 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable publishCameraTrack;
236 #if TARGET_OS_IPHONE
237 
242 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable publishScreenCaptureVideo;
248 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable publishScreenCaptureAudio;
249 #elif TARGET_OS_MAC
250 
255 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable publishScreenTrack;
256 #endif
257 
262 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable publishCustomAudioTrack;
268 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable publishCustomAudioTrackEnableAec;
274 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable publishCustomAudioTrackAec;
280 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable publishDirectCustomAudioTrack;
286 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable publishCustomVideoTrack;
292 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable publishEncodedVideoTrack;
298 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable publishMediaPlayerAudioTrack;
304 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable publishMediaPlayerVideoTrack;
309 @property(strong, nonatomic) AgoraRtcIntOptional* _Nullable publishMediaPlayerId;
310 
314 @property(strong, nonatomic) AgoraRtcIntOptional* _Nullable publishCustomAudioSourceId;
315 
321 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable publishMicrophoneTrack;
329 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable autoSubscribeAudio;
337 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable autoSubscribeVideo;
343 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable startPreview;
353 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable enableAudioRecordingOrPlayout;
357 @property(strong, nonatomic) AgoraRtcIntOptional* _Nullable clientRoleType;
361 @property(strong, nonatomic) AgoraRtcIntOptional* _Nullable audienceLatencyLevel;
365 @property(strong, nonatomic) AgoraRtcIntOptional* _Nullable defaultVideoStreamType;
369 @property(strong, nonatomic) AgoraRtcIntOptional* _Nullable channelProfile;
374 @property(strong, nonatomic) AgoraRtcIntOptional* _Nullable audioDelayMs;
379 @property(strong, nonatomic) AgoraRtcIntOptional* _Nullable mediaPlayerAudioDelayMs;
383 @property(copy, nonatomic) NSString * _Nullable token;
388 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable enableBuiltInMediaEncryption;
389 
395 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable publishRhythmPlayerTrack;
396 
400 @property(strong, nonatomic) AgoraRtcIntOptional* _Nullable customVideoTrackId;
401 
407 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable isAudioFilterable;
408 
416 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable isInteractiveAudience;
417 
418 @end
419 
422 __attribute__((visibility("default"))) @interface AgoraRtcVideoCanvas : NSObject
430 @property(strong, nonatomic) VIEW_CLASS *_Nullable view;
433 @property(assign, nonatomic) AgoraVideoRenderMode renderMode;
436 @property(assign, nonatomic) AgoraVideoMirrorMode mirrorMode;
439 @property(assign, nonatomic) NSUInteger uid;
442 @property(nonatomic, assign) AgoraVideoSourceType sourceType;
445 @property(nonatomic, assign) int sourceId;
446 
449 @property(assign, nonatomic) CGRect cropArea;
450 
453 @property(assign, nonatomic) AgoraVideoViewSetupMode setupMode;
454 
455 @end
456 
460 __attribute__((visibility("default"))) @interface AgoraLastmileProbeConfig : NSObject
468 @property (assign, nonatomic) BOOL probeUplink;
474 @property (assign, nonatomic) BOOL probeDownlink;
481 @property (assign, nonatomic) NSUInteger expectedUplinkBitrate;
486 @property (assign, nonatomic) NSUInteger expectedDownlinkBitrate;
487 @end
488 
492 __attribute__((visibility("default"))) @interface AgoraLastmileProbeOneWayResult : NSObject
496 @property (assign, nonatomic) NSUInteger packetLossRate;
500 @property (assign, nonatomic) NSUInteger jitter;
504 @property (assign, nonatomic) NSUInteger availableBandwidth;
505 @end
506 
510 __attribute__((visibility("default"))) @interface AgoraLastmileProbeResult : NSObject
515 @property (assign, nonatomic) AgoraLastmileProbeResultState state;
519 @property (assign, nonatomic) NSUInteger rtt;
525 @property (strong, nonatomic) AgoraLastmileProbeOneWayResult *_Nonnull uplinkReport;
531 @property (strong, nonatomic) AgoraLastmileProbeOneWayResult *_Nonnull downlinkReport;
532 @end
533 
534 
538 __attribute__((visibility("default"))) @interface AgoraRtcLocalVideoStats : NSObject
543 @property(assign, nonatomic) NSUInteger sentBitrate;
548 @property(assign, nonatomic) NSUInteger sentFrameRate;
552 @property(assign, nonatomic) NSUInteger uid;
553 
556 @property(assign, nonatomic) NSInteger captureFrameRate;
559 @property(assign, nonatomic) NSInteger captureFrameWidth;
562 @property(assign, nonatomic) NSInteger captureFrameHeight;
566 @property(assign, nonatomic) NSInteger regulatedCaptureFrameRate;
570 @property(assign, nonatomic) NSInteger regulatedCaptureFrameWidth;
574 @property(assign, nonatomic) NSInteger regulatedCaptureFrameHeight;
575 
578 @property(assign, nonatomic) NSInteger encoderOutputFrameRate;
581 @property(assign, nonatomic) NSInteger rendererOutputFrameRate;
584 @property(assign, nonatomic) NSInteger targetFrameRate;
586 @property(assign, nonatomic) AgoraVideoQualityAdaptIndication qualityAdaptIndication;
591 @property(assign, nonatomic) NSInteger targetBitrate;
596 @property(assign, nonatomic) NSInteger encodedBitrate;
600 @property(assign, nonatomic) NSInteger encodedFrameWidth;
604 @property(assign, nonatomic) NSInteger encodedFrameHeight;
608 @property(assign, nonatomic) NSInteger encodedFrameCount;
614 @property(assign, nonatomic) AgoraVideoCodecType codecType;
618 @property(assign, nonatomic) NSInteger txPacketLossRate;
622 @property(assign, nonatomic) AgoraCaptureBrightnessLevelType captureBrightnessLevel NS_SWIFT_NAME(captureBrightnessLevel);
626 @property(assign, nonatomic) BOOL dualStreamEnabled;
627 @end
628 
630 __attribute__((visibility("default"))) @interface AgoraRtcRemoteVideoStats : NSObject
634 @property(assign, nonatomic) NSUInteger uid;
637 @property(assign, nonatomic) NSUInteger delay __deprecated;
640 @property(assign, nonatomic) NSUInteger width;
643 @property(assign, nonatomic) NSUInteger height;
646 @property(assign, nonatomic) NSUInteger receivedBitrate;
649 @property(assign, nonatomic) NSUInteger receivedFrameRate;
652 @property(assign, nonatomic) AgoraVideoStreamType rxStreamType;
653 
656 @property(assign, nonatomic) NSInteger decoderOutputFrameRate;
659 @property(assign, nonatomic) NSInteger rendererOutputFrameRate;
662 @property(assign, nonatomic) NSInteger frameLossRate;
665 @property(assign, nonatomic) NSInteger packetLossRate;
671 @property(assign, nonatomic) NSInteger totalFrozenTime;
676 @property(assign, nonatomic) NSUInteger totalActiveTime;
680 @property(assign, nonatomic) NSInteger publishDuration;
684 @property(assign, nonatomic) NSInteger frozenRate;
689 @property(assign, nonatomic) NSInteger avSyncTimeMs;
693 @property(assign, nonatomic) NSInteger superResolutionType;
694 
695 @end
696 
700 __attribute__((visibility("default"))) @interface AgoraRtcLocalAudioStats : NSObject
704 @property(assign, nonatomic) NSUInteger numChannels;
708 @property(assign, nonatomic) NSUInteger sentSampleRate;
712 @property(assign, nonatomic) NSUInteger sentBitrate;
715 @property(assign, nonatomic) NSUInteger internalCodec;
718 @property(assign, nonatomic) NSUInteger txPacketLossRate;
722 @property(assign, nonatomic) NSUInteger audioDeviceDelay;
723 
724 @end
725 
729 __attribute__((visibility("default"))) @interface AgoraRtcRemoteAudioStats : NSObject
733 @property(assign, nonatomic) NSUInteger uid;
746 @property(assign, nonatomic) NSUInteger quality;
750 @property(assign, nonatomic) NSUInteger networkTransportDelay;
754 @property(assign, nonatomic) NSUInteger jitterBufferDelay;
758 @property(assign, nonatomic) NSUInteger audioLossRate;
762 @property(assign, nonatomic) NSUInteger numChannels;
766 @property(assign, nonatomic) NSUInteger receivedSampleRate;
770 @property(assign, nonatomic) NSUInteger receivedBitrate;
777 @property(assign, nonatomic) NSUInteger totalFrozenTime;
782 @property(assign, nonatomic) NSUInteger totalActiveTime;
786 @property(assign, nonatomic) NSInteger publishDuration;
790 @property(assign, nonatomic) NSUInteger frozenRate;
808 @property(assign, nonatomic) NSUInteger mosValue;
812 @property(assign, nonatomic) AgoraExperienceQuality qoeQuality;
816 @property(assign, nonatomic) AgoraExperiencePoorReason qualityChangedReason;
817 @end
818 
821 __attribute__((visibility("default"))) @interface AgoraRtcAudioVolumeInfo : NSObject
824 @property(assign, nonatomic) NSUInteger uid;
827 @property(assign, nonatomic) NSUInteger volume;
828 
829 @property(assign, nonatomic) NSUInteger vad;
830 
833 @property (assign, nonatomic) double voicePitch;
834 
835 @end
836 
840 __attribute__((visibility("default"))) @interface AgoraChannelStats : NSObject
844 @property(assign, nonatomic) NSUInteger duration;
848 @property(assign, nonatomic) NSUInteger txBytes;
852 @property(assign, nonatomic) NSUInteger rxBytes;
856 @property(assign, nonatomic) NSUInteger txAudioKBitrate;
860 @property(assign, nonatomic) NSUInteger rxAudioKBitrate;
864 @property(assign, nonatomic) NSUInteger txVideoKBitrate;
868 @property(assign, nonatomic) NSUInteger rxVideoKBitrate;
872 @property(assign, nonatomic) NSUInteger txAudioBytes;
876 @property(assign, nonatomic) NSUInteger txVideoBytes;
881 @property(assign, nonatomic) NSUInteger rxAudioBytes;
885 @property(assign, nonatomic) NSUInteger rxVideoBytes;
889 @property(assign, nonatomic) NSUInteger lastmileDelay;
893 @property(assign, nonatomic) NSUInteger userCount;
896 @property(assign, nonatomic) double cpuAppUsage;
899 @property(assign, nonatomic) double cpuTotalUsage;
902 @property(assign, nonatomic) NSInteger gatewayRtt;
906 @property(assign, nonatomic) double memoryAppUsageRatio;
910 @property(assign, nonatomic) double memoryTotalUsageRatio;
914 @property(assign, nonatomic) NSInteger memoryAppUsageInKbytes;
918 @property(assign, nonatomic) NSInteger connectTimeMs;
919 
923 @property(assign, nonatomic) NSUInteger txKBitrate;
927 @property(assign, nonatomic) NSUInteger rxKBitrate;
928 
931 @property(assign, nonatomic) NSInteger firstAudioPacketDuration;
934 @property(assign, nonatomic) NSInteger firstVideoPacketDuration;
937 @property(assign, nonatomic) NSInteger firstVideoKeyFramePacketDuration;
940 @property(assign, nonatomic) NSInteger packetsBeforeFirstKeyFramePacket;
944 @property(assign, nonatomic) NSInteger txPacketLossRate;
948 @property(assign, nonatomic) NSInteger rxPacketLossRate;
949 
950 @end
951 
954 __attribute__((visibility("default"))) @interface AgoraVideoEncoderConfiguration : NSObject
982 @property(assign, nonatomic) CGSize dimensions;
983 
986 @property(assign, nonatomic) AgoraVideoCodecType codecType;
987 
990 @property(assign, nonatomic) AgoraVideoFrameRate frameRate;
991 
1012 @property(assign, nonatomic) NSInteger bitrate;
1013 
1014 @property(assign, nonatomic) NSInteger minBitrate;
1015 
1018 @property(assign, nonatomic) AgoraVideoOutputOrientationMode orientationMode;
1019 
1022 @property(assign, nonatomic) AgoraVideoMirrorMode mirrorMode;
1023 
1031 @property (assign, nonatomic) AgoraDegradationPreference degradationPreference;
1032 
1043 - (instancetype _Nonnull)initWithSize:(CGSize)size
1044  frameRate:(AgoraVideoFrameRate)frameRate
1045  bitrate:(NSInteger)bitrate
1046  orientationMode:(AgoraVideoOutputOrientationMode)orientationMode
1047  mirrorMode:(AgoraVideoMirrorMode)mirrorMode;
1048 
1060 - (instancetype _Nonnull)initWithWidth:(NSInteger)width
1061  height:(NSInteger)height
1062  frameRate:(AgoraVideoFrameRate)frameRate
1063  bitrate:(NSInteger)bitrate
1064  orientationMode:(AgoraVideoOutputOrientationMode)orientationMode
1065  mirrorMode:(AgoraVideoMirrorMode)mirrorMode;
1066 @end
1067 
1070 __attribute__((visibility("default"))) @interface AgoraLiveTranscodingUser : NSObject
1073 @property(assign, nonatomic) NSUInteger uid;
1076 @property(assign, nonatomic) CGRect rect;
1082 @property(assign, nonatomic) NSInteger zOrder;
1088 @property(assign, nonatomic) double alpha;
1103 @property(assign, nonatomic) NSInteger audioChannel;
1104 @end
1105 
1108 __attribute__((visibility("default"))) @interface AgoraLiveStreamAdvancedFeature : NSObject
1109 
1115 @property(copy, nonatomic) NSString* _Nullable featureName;
1116 
1122 @property(assign, nonatomic) BOOL opened;
1123 @end
1124 
1127 __attribute__((visibility("default"))) @interface AgoraImage : NSObject
1130 @property(strong, nonatomic) NSURL *_Nonnull url;
1133 @property(assign, nonatomic) CGRect rect;
1137 @property (assign, nonatomic) NSInteger zOrder;
1145 @property(assign, nonatomic) double alpha;
1146 @end
1147 
1150 __attribute__((visibility("default"))) @interface WatermarkOptions : NSObject
1156 @property(assign, nonatomic) BOOL visibleInPreview;
1164 @property(assign, nonatomic) CGRect positionInLandscapeMode;
1172 @property(assign, nonatomic) CGRect positionInPortraitMode;
1173 @end
1174 
1175 __attribute__((visibility("default"))) @interface AgoraLiveTranscoding : NSObject
1189 @property(assign, nonatomic) CGSize size;
1196 @property(assign, nonatomic) NSInteger videoBitrate;
1203 @property(assign, nonatomic) NSInteger videoFramerate;
1209 @property(assign, nonatomic) BOOL lowLatency;
1211 @property(assign, nonatomic) NSInteger videoGop;
1218 @property(assign, nonatomic) AgoraVideoCodecProfileType videoCodecProfile;
1219 
1224 @property(assign, nonatomic) AgoraVideoCodecTypeForStream videoCodecType;
1225 
1228 @property(copy, nonatomic) NSArray<AgoraLiveTranscodingUser*>* _Nullable transcodingUsers;
1229 
1232 @property(copy, nonatomic) NSString* _Nullable transcodingExtraInfo;
1239 @property(strong, nonatomic) AgoraImage* _Nullable watermark;
1240 
1244 @property(copy, nonatomic) NSArray<AgoraImage*>* _Nullable watermarkArray;
1245 
1250 @property(strong, nonatomic) AgoraImage* _Nullable backgroundImage;
1251 
1255 @property(copy, nonatomic) NSArray<AgoraImage*>* _Nullable backgroundImageArray;
1256 
1266 @property(strong, nonatomic) COLOR_CLASS* _Nullable backgroundColor;
1267 
1270 @property(assign, nonatomic) AgoraAudioSampleRateType audioSampleRate;
1273 @property(assign, nonatomic) NSInteger audioBitrate;
1284 @property(assign, nonatomic) NSInteger audioChannels;
1290 @property(assign, nonatomic) AgoraAudioCodecProfileType audioCodecProfile;
1291 
1296 + (AgoraLiveTranscoding* _Nonnull)defaultTranscoding;
1297 
1305 - (int)addUser:(AgoraLiveTranscodingUser* _Nonnull)user;
1306 
1314 - (int)removeUser:(NSUInteger)uid;
1315 
1325 - (void)setAdvancedFeatures:(NSString* _Nonnull)featureName opened:(BOOL)opened;
1326 
1330 - (NSArray<AgoraLiveStreamAdvancedFeature*>* _Nullable)getAdvancedFeatures;
1331 
1332 @end
1333 
1336 __attribute__((visibility("default"))) @interface AgoraLiveInjectStreamConfig : NSObject
1340 @property(assign, nonatomic) CGSize size;
1343 @property(assign, nonatomic) NSInteger videoGop;
1346 @property(assign, nonatomic) NSInteger videoFramerate;
1349 @property(assign, nonatomic) NSInteger videoBitrate;
1350 
1353 @property(assign, nonatomic) AgoraAudioSampleRateType audioSampleRate;
1356 @property(assign, nonatomic) NSInteger audioBitrate;
1359 @property(assign, nonatomic) NSInteger audioChannels;
1360 
1365 + (AgoraLiveInjectStreamConfig *_Nonnull)defaultConfig;
1366 @end
1367 
1368  __deprecated
1369 
1372  __attribute__((visibility("default"))) @interface AgoraRtcVideoCompositingRegion
1373  : NSObject
1376  @property(assign, nonatomic) NSUInteger uid;
1379 @property(assign, nonatomic) CGFloat x;
1382 @property(assign, nonatomic) CGFloat y;
1385 @property(assign, nonatomic) CGFloat width;
1388 @property(assign, nonatomic) CGFloat height;
1391 @property(assign, nonatomic) NSInteger zOrder;
1394 @property(assign, nonatomic) CGFloat alpha;
1397 @property(assign, nonatomic) AgoraVideoRenderMode renderMode;
1398 @end
1399 
1400  __deprecated
1403  __attribute__((visibility("default"))) @interface AgoraRtcVideoCompositingLayout
1404  : NSObject
1407  @property(assign, nonatomic) NSInteger canvasWidth;
1410 @property(assign, nonatomic) NSInteger canvasHeight;
1413 @property(copy, nonatomic) NSString *_Nullable backgroundColor;
1416 @property(copy, nonatomic) NSArray<AgoraRtcVideoCompositingRegion *> *_Nullable regions;
1419 @property(copy, nonatomic) NSString *_Nullable appData;
1420 @end
1421 
1427  __deprecated __attribute__((visibility("default"))) @interface AgoraPublisherConfiguration
1428  : NSObject
1434  @property(assign, nonatomic) BOOL owner;
1435 
1438 @property(assign, nonatomic) NSInteger width;
1441 @property(assign, nonatomic) NSInteger height;
1444 @property(assign, nonatomic) NSInteger framerate;
1447 @property(assign, nonatomic) NSInteger bitrate;
1450 @property(assign, nonatomic) NSInteger audiosamplerate;
1453 @property(assign, nonatomic) NSInteger audiobitrate;
1456 @property(assign, nonatomic) NSInteger audiochannels;
1457 
1464 @property(assign, nonatomic) NSInteger defaultLayout;
1467 @property(assign, nonatomic) AgoraRtmpStreamLifeCycle lifeCycle;
1468 
1471 @property(assign, nonatomic) NSInteger injectStreamWidth;
1472 
1475 @property(assign, nonatomic) NSInteger injectStreamHeight;
1476 
1479 @property(copy, nonatomic) NSString *_Nullable injectStreamUrl;
1480 
1483 @property(copy, nonatomic) NSString *_Nullable publishUrl;
1484 
1488 @property(copy, nonatomic) NSString *_Nullable rawStreamUrl;
1489 
1492 @property(copy, nonatomic) NSString *_Nullable extraInfo;
1493 
1496 - (BOOL)validate;
1497 
1498 - (NSString * _Nullable)toJsonString;
1499 @end
1500 
1501 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
1502 
1505 __attribute__((visibility("default"))) @interface AgoraRtcDeviceInfo : NSObject
1506 @property (assign, nonatomic) int __deprecated index;
1507 
1510 @property(assign, nonatomic) AgoraMediaDeviceType type;
1511 
1514 @property(copy, nonatomic) NSString *_Nullable deviceId;
1515 
1518 @property(copy, nonatomic) NSString *_Nullable deviceName;
1519 @end
1520 #endif
1521 
1524 __attribute__((visibility("default"))) @interface AgoraVideoFrame : NSObject
1537 @property(assign, nonatomic) NSInteger format;
1538 
1542 @property(assign, nonatomic) CMTime time; // Time for this frame.
1543 
1547 @property(assign, nonatomic) int stride DEPRECATED_MSG_ATTRIBUTE("use strideInPixels instead");
1548 
1552 @property(assign, nonatomic) int strideInPixels; // Number of pixels between two consecutive rows.
1553  // Note: in pixel, not byte. Not used for iOS
1554  // textures.
1555 
1558 @property(assign, nonatomic) int height; // Number of rows of pixels. Not used for iOS textures.
1559 
1562 @property(assign, nonatomic) CVPixelBufferRef _Nullable textureBuf;
1563 
1566 @property(strong, nonatomic) IMAGE_CLASS * _Nullable image;
1567 
1570 @property(strong, nonatomic) NSData *_Nullable dataBuf; // Raw data buffer. Not used for iOS textures.
1571 
1574 @property(assign, nonatomic) int cropLeft; // Number of pixels to crop on the left boundary.
1577 @property(assign, nonatomic) int cropTop; // Number of pixels to crop on the top boundary.
1580 @property(assign, nonatomic) int cropRight; // Number of pixels to crop on the right boundary.
1583 @property(assign, nonatomic) int cropBottom; // Number of pixels to crop on the bottom boundary.
1587 @property(assign, nonatomic) int rotation; // 0, 90, 180, 270. See document for rotation calculation.
1588 /* Note
1589  * 1. strideInPixels
1590  * Stride is in pixels, not bytes
1591  * 2. About the frame width and height
1592  * No field is defined for the width. However, it can be deduced by:
1593  * croppedWidth = (strideInPixels - cropLeft - cropRight)
1594  * And
1595  * croppedHeight = (height - cropTop - cropBottom)
1596  * 3. About crop
1597  * _________________________________________________________________.....
1598  * | ^ | ^
1599  * | | | |
1600  * | cropTop | |
1601  * | | | |
1602  * | v | |
1603  * | ________________________________ | |
1604  * | | | | |
1605  * | | | | |
1606  * |<-- cropLeft -->| valid region |<- cropRight ->|
1607  * | | | | height
1608  * | | | |
1609  * | |_____________________________ | | |
1610  * | ^ | |
1611  * | | | |
1612  * | cropBottom | |
1613  * | | | |
1614  * | v | v
1615  * _________________________________________________________________......
1616  * | |
1617  * |<---------------- strideInPixels ----------------------------->|
1618  *
1619  * If your buffer contains garbage data, you can crop them. For example, the frame size is
1620  * 360 x 640, often the buffer stride is 368, that is, there extra 8 pixels on the
1621  * right are for padding, and should be removed. In this case, you can set:
1622  * strideInPixels = 368;
1623  * height = 640;
1624  * cropRight = 8;
1625  * // cropLeft, cropTop, cropBottom are set to a default of 0
1626  */
1627 @end
1628 
1629 __attribute__((visibility("default"))) @interface AgoraLogConfig: NSObject
1641 @property (copy, nonatomic) NSString * _Nullable filePath;
1649 @property (assign, nonatomic) NSInteger fileSizeInKB;
1655 @property (assign, nonatomic) AgoraLogLevel level;
1656 @end
1657 
1661 __attribute__((visibility("default"))) @interface AgoraRtcEngineConfig: NSObject
1662 
1667  @property (copy, nonatomic) NSString * _Nullable appId;
1668 
1672  @property (assign, nonatomic) AgoraChannelProfile channelProfile;
1680  @property (assign, nonatomic) AgoraAudioScenario audioScenario;
1690  @property (assign, nonatomic) AgoraAreaCodeType areaCode;
1691  @property (strong, nonatomic) AgoraLogConfig * _Nullable logConfig;
1697  @property (strong, nonatomic) AgoraRtcIntOptional* _Nullable threadPriority;
1698  @property (weak, nonatomic) id<AgoraMediaFilterEventDelegate> _Nullable eventDelegate;
1699 @end
1700 
1704 __attribute__((visibility("default"))) @interface AgoraAudioFrame : NSObject
1707 @property(assign, nonatomic) NSInteger samplesPerChannel;
1711 @property(assign, nonatomic) NSInteger bytesPerSample;
1718 @property(assign, nonatomic) NSInteger channels;
1721 @property(assign, nonatomic) NSInteger samplesPerSec;
1726 @property(assign, nonatomic) void* _Nullable buffer;
1734 @property(assign, nonatomic) int64_t renderTimeMs;
1737 @property(assign, nonatomic) NSInteger avSyncType;
1738 @end
1739 
1768 __attribute__((visibility("default"))) @interface AgoraAudioParams : NSObject
1769 
1778 @property (assign, nonatomic) NSInteger sampleRate;
1779 
1780 /* The number of audio channels, which can be set as either of the following values:
1781 
1782  - `1`: Mono (Default)
1783  - `2`: Stereo
1784  */
1785 @property (assign, nonatomic) NSInteger channel;
1786 
1787 /* The use mode of the audio data. See AgoraAudioRawFrameOperationMode.
1788  */
1789 @property (assign, nonatomic) AgoraAudioRawFrameOperationMode mode;
1790 
1794 @property (assign, nonatomic) NSInteger samplesPerCall;
1795 
1796 @end
1797 
1801 __attribute__((visibility("default"))) @interface AgoraEncodedAudioFrameInfo: NSObject
1802  @property (assign, nonatomic) NSInteger samplesPerChannel;
1803  @property (assign, nonatomic) NSInteger channels;
1804  @property (assign, nonatomic) NSInteger samplesPerSec;
1805  @property (assign, nonatomic) AgoraAudioCodecType codecType;
1806 @end
1807 
1811 __attribute__((visibility("default"))) @interface AgoraUplinkNetworkInfo : NSObject
1815 @property(nonatomic, assign) int videoEncoderTargetBitrateBps;
1816 @end
1817 
1821 __attribute__((visibility("default"))) @interface AgoraDownlinkNetworkInfo : NSObject
1825 @property(nonatomic, assign) int lastmileBufferDelayTimeMs;
1829 @property(nonatomic, assign) int bandwidthEstimationBps;
1830 @end
1831 
1835 __attribute__((visibility("default"))) @interface AgoraLeaveChannelOptions : NSObject
1841 @property(nonatomic, assign) BOOL stopAudioMixing;
1842 
1848 @property(nonatomic, assign) BOOL stopAllEffect;
1849 
1855 @property(nonatomic, assign) BOOL stopMicrophoneRecording;
1856 
1857 @end
1858 
1859 __attribute__((visibility("default"))) @interface AgoraOutputVideoFrame : NSObject
1860 
1873 @property (nonatomic, assign) NSInteger type;
1877 @property (nonatomic, assign) int width;
1881 @property (nonatomic, assign) int height;
1885 @property (nonatomic, assign) int yStride;
1889 @property (nonatomic, assign) int uStride;
1893 @property (nonatomic, assign) int vStride;
1897 @property (nonatomic, assign) uint8_t* _Nullable yBuffer;
1901 @property (nonatomic, assign) uint8_t* _Nullable uBuffer;
1905 @property (nonatomic, assign) uint8_t* _Nullable vBuffer;
1909 @property (nonatomic, assign) int rotation;
1916 @property (nonatomic, assign) int64_t renderTimeMs;
1920 @property (nonatomic, assign) int avSyncType;
1921 
1924 @property(assign, nonatomic) CVPixelBufferRef _Nullable pixelBuffer;
1929 @property (nonatomic, assign) uint8_t* _Nullable alphaBuffer;
1930 
1931 @end
1932 
1935 __attribute__((visibility("default"))) @interface AgoraEncryptionConfig: NSObject
1936 
1939  @property (assign, nonatomic) AgoraEncryptionMode encryptionMode;
1940 
1947  @property (copy, nonatomic) NSString * _Nullable encryptionKey;
1948  @property (strong, nonatomic) NSData * _Nullable encryptionKdfSalt;
1949  @end
1950 
1953 __attribute__((visibility("default"))) @interface AgoraUserInfo: NSObject
1954 
1957 @property(assign, nonatomic) NSUInteger uid;
1958 
1961  @property (copy, nonatomic) NSString * _Nullable userAccount;
1962  @end
1963 
1966 __attribute__((visibility("default"))) @interface AgoraClientRoleOptions: NSObject
1967 
1970 @property (assign, nonatomic) AgoraAudienceLatencyLevelType audienceLatencyLevel;
1971 
1972 @end
1973 
1976 __attribute__((visibility("default"))) @interface AgoraCameraCapturerConfiguration: NSObject
1982 #if TARGET_OS_IOS
1983 @property (assign, nonatomic) AgoraCameraDirection cameraDirection;
1984 #endif
1985 
1989 @property(assign, nonatomic) CGSize dimensions;
1990 
1993 @property(assign, nonatomic) int frameRate;
1994 
1999 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable followEncodeDimensionRatio;
2000 
2001 @end
2002 
2005 __attribute__((visibility("default"))) @interface AgoraDataStreamConfig: NSObject
2006 
2007 @property (assign, nonatomic) BOOL ordered;
2008 
2009 @property (assign, nonatomic) BOOL syncWithAudio;
2010 @end
2011 
2012 
2015 __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayInfo: NSObject
2018 @property (copy, nonatomic) NSString * _Nullable token;
2021 @property (copy, nonatomic) NSString * _Nullable channelName;
2024 @property (assign, nonatomic) NSUInteger uid;
2029 - (instancetype _Nonnull)initWithToken:(NSString *_Nullable)token;
2030 @end
2031 
2034 __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayConfiguration: NSObject
2044 @property (strong, nonatomic, readonly) NSDictionary<NSString *, AgoraChannelMediaRelayInfo *> *_Nullable destinationInfos;
2054 @property (strong, nonatomic) AgoraChannelMediaRelayInfo *_Nonnull sourceInfo;
2073 - (BOOL)setDestinationInfo:(AgoraChannelMediaRelayInfo *_Nonnull)destinationInfo forChannelName:(NSString *_Nonnull)channelName;
2081 - (BOOL)removeDestinationInfoForChannelName:(NSString *_Nonnull)channelName;
2082 @end
2083 
2084 
2086 __attribute__((visibility("default"))) @interface AgoraBeautyOptions : NSObject
2087 
2096 @property(nonatomic, assign) AgoraLighteningContrastLevel lighteningContrastLevel;
2097 
2102 @property(nonatomic, assign) float lighteningLevel;
2103 
2108 @property(nonatomic, assign) float smoothnessLevel;
2109 
2114 @property(nonatomic, assign) float rednessLevel;
2115 
2120 @property(nonatomic, assign) float sharpnessLevel;
2121 
2122 @end
2123 
2129 __attribute__((visibility("default"))) @interface AgoraVideoDenoiserOptions : NSObject
2130 
2133 @property(nonatomic, assign) AgoraVideoDenoiserMode mode;
2134 
2137 @property(nonatomic, assign) AgoraVideoDenoiserLevel level;
2138 
2139 @end
2140 
2146 __attribute__((visibility("default"))) @interface AgoraLowlightEnhanceOptions : NSObject
2147 
2149 @property(nonatomic, assign) AgoraLowlightEnhanceMode mode;
2150 
2152 @property(nonatomic, assign) AgoraLowlightEnhanceLevel level;
2153 
2154 @end
2155 
2161 __attribute__((visibility("default"))) @interface AgoraColorEnhanceOptions : NSObject
2162 
2164 @property(nonatomic, assign) float strengthLevel;
2165 
2167 @property(nonatomic, assign) float skinProtectLevel;
2168 
2169 @end
2170 
2171 
2174 __attribute__((visibility("default"))) @interface AgoraVirtualBackgroundSource : NSObject
2175 
2178 @property(nonatomic, assign) AgoraVirtualBackgroundSourceType backgroundSourceType NS_SWIFT_NAME(backgroundSourceType);
2179 
2188 @property(nonatomic, assign) NSUInteger color NS_SWIFT_NAME(color);
2189 
2196 @property(nonatomic, copy) NSString* _Nullable source NS_SWIFT_NAME(source);
2197 
2199 @property(nonatomic, assign) AgoraBlurDegree blurDegree;
2200 
2201 @end
2202 
2205 __attribute__((visibility("default"))) @interface AgoraSegmentationProperty: NSObject
2206 
2207 @property(nonatomic, assign) SegModelType modelType;
2208 
2209 @property(nonatomic, assign) float greenCapacity;
2210 
2211 @end
2212 
2213 
2216 __attribute__((visibility("default"))) @interface AgoraTranscodingVideoStream: NSObject
2220 @property (assign, nonatomic) AgoraMediaSourceType sourceType;
2224 @property (assign, nonatomic) NSUInteger remoteUserUid;
2228 @property (copy, nonatomic) NSString * _Nullable imageUrl;
2232 @property (assign, nonatomic) CGRect rect;
2238 @property (assign, nonatomic) NSInteger zOrder;
2242 @property(assign, nonatomic) double alpha;
2243 
2244 @end
2245 
2248 __attribute__((visibility("default"))) @interface AgoraLocalTranscoderConfiguration: NSObject
2252 @property(copy, nonatomic) NSArray<AgoraTranscodingVideoStream *> *_Nullable videoInputStreams;
2256 @property (strong, nonatomic) AgoraVideoEncoderConfiguration *_Nonnull videoOutputConfiguration;
2257 
2258 @end
2259 
2262 __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters: NSObject
2267 @property (assign, nonatomic) CGSize dimensions;
2272 @property (assign, nonatomic) NSInteger frameRate;
2277 @property (assign, nonatomic) NSInteger bitrate;
2278 
2284 @property(assign, nonatomic) BOOL captureMouseCursor;
2285 
2294 @property(assign, nonatomic) BOOL windowFocus;
2295 
2304 @property(copy, nonatomic) NSArray* _Nullable excludeWindowList;
2305 
2314 @property(assign, nonatomic) BOOL highLighted;
2320 @property(strong, nonatomic) COLOR_CLASS* _Nullable highLightColor;
2324 @property(assign, nonatomic) NSUInteger highLightWidth;
2325 
2326 @end
2327 
2328 __attribute__((visibility("default"))) @interface AgoraScreenVideoParameters : NSObject
2329 
2359 @property(assign, nonatomic) CGSize dimensions;
2372 @property(assign, nonatomic) AgoraVideoFrameRate frameRate;
2426 @property(assign, nonatomic) NSInteger bitrate;
2427 
2430 @property(assign, nonatomic) AgoraVideoContentHint contentHint;
2431 
2432 @end
2433 
2434 __attribute__((visibility("default"))) @interface AgoraScreenAudioParameters : NSObject
2435 
2436 @property(assign, nonatomic) NSInteger captureSignalVolume;
2437 
2438 @end
2439 
2440 __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters2 : NSObject
2444 @property(assign, nonatomic) BOOL captureAudio;
2448 @property(strong, nonatomic) AgoraScreenAudioParameters* _Nonnull audioParams;
2452 @property(assign, nonatomic) BOOL captureVideo;
2456 @property(strong, nonatomic) AgoraScreenVideoParameters* _Nonnull videoParams;
2457 @end
2458 
2462 __attribute__((visibility("default"))) @interface AgoraAudioRecordingConfiguration: NSObject
2467 @property (copy, nonatomic) NSString * _Nullable filePath;
2477 @property (assign, nonatomic) NSUInteger sampleRate;
2481 @property (assign, nonatomic) AgoraAudioFileRecordingType fileRecordOption;
2486 @property (assign, nonatomic) AgoraAudioRecordingQuality quality;
2487 
2493 @property (assign, nonatomic) NSInteger recordingChannel;
2494 
2495 @end
2496 
2499 __attribute__((visibility("default"))) @interface AgoraSimulcastStreamConfig: NSObject
2500 
2504  @property (assign, nonatomic) int bitrate;
2508  @property (assign, nonatomic) int framerate;
2512  @property (assign, nonatomic) CGSize dimensions;
2513  @end
2514 
2518 __attribute__((visibility("default"))) @interface AgoraRtcMediaStreamInfo : NSObject
2520 @property(nonatomic, assign) NSInteger streamIndex;
2522 @property(nonatomic, assign) AgoraMediaStreamType streamType;
2524 @property(nonatomic, copy) NSString *_Nonnull codecName;
2526 @property(nonatomic, copy) NSString *_Nullable language;
2528 @property(nonatomic, assign) NSInteger videoFrameRate;
2530 @property(nonatomic, assign) NSInteger videoBitRate;
2532 @property(nonatomic, assign) NSInteger videoWidth;
2534 @property(nonatomic, assign) NSInteger videoHeight;
2536 @property(nonatomic, assign) NSInteger audioSampleRate;
2538 @property(nonatomic, assign) NSInteger audioChannels;
2540 @property(nonatomic, assign) NSInteger duration;
2542 @property(nonatomic, assign) NSInteger rotation;
2543 
2544 @end
2545 
2546 __attribute__((visibility("default"))) @interface AgoraAudioSpectrumInfo : NSObject
2547 
2549 @property(nonatomic, assign) NSInteger uid;
2550 @property(nonatomic, strong) NSArray<NSNumber *> * _Nullable audioSpectrumData;
2551 
2552 @end
2553 
2557 __attribute__((visibility("default"))) @interface AgoraAudioEncodedFrameDelegateConfig: NSObject
2561 @property (assign, nonatomic) AgoraAudioEncodedFrameDelegatePosition postionType;
2565 @property (assign, nonatomic) AgoraAudioEncodingType encodingType;
2566 @end
2567 
2568 __attribute__((visibility("default"))) @interface AgoraContentInspectModule: NSObject
2569 @property (assign, nonatomic) AgoraContentInspectType type;
2570 
2571 @property (assign, nonatomic) NSInteger interval;
2572 @end
2573 
2574 __attribute__((visibility("default"))) @interface AgoraContentInspectConfig: NSObject
2575 @property (nonatomic, copy) NSString* _Nullable extraInfo;
2576 @property(copy, nonatomic) NSArray<AgoraContentInspectModule*>* _Nullable modules;
2577 @end
2581 __attribute__((visibility("default"))) @interface AgoraRtcConnection: NSObject <NSCopying>
2582 /* channelId Unique channel name for the AgoraRTC session in the string
2583  * format. The string length must be less than 64 bytes. Supported character
2584  * scopes are:
2585  * - All lowercase English letters: a to z.
2586  * - All uppercase English letters: A to Z.
2587  * - All numeric characters: 0 to 9.
2588  * - The space character.
2589  * - Punctuation characters and other symbols, including: "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", " {", "}", "|", "~", ",".
2590  */
2591 @property (nonatomic, copy) NSString *_Nonnull channelId;
2592 /* uid Local User ID. A 32-bit unsigned integer with a value ranging from 1 to
2593  * (2<sup>32</sup>-1). The `uid` must be unique and not set to 0 . Your app
2594  * must record and maintain the returned `uid` since the SDK does not do so.
2595  */
2596 @property (nonatomic, assign) NSUInteger localUid;
2597 
2598 @end
2602 __attribute__((visibility("default"))) @interface AgoraVideoSubscriptionOptions: NSObject
2603 
2604 /*
2605 * The type of the video stream to subscribe to.
2606 *
2607 * The default value is `VIDEO_STREAM_HIGH`, which means the high-quality
2608 * video stream.
2609 */
2610 @property (nonatomic, assign) AgoraVideoStreamType type;
2611 /*
2612 * Whether to subscribe to encoded video data only:
2613 * - `true`: Subscribe to encoded video data only.
2614 * - `false`: (Default) Subscribe to decoded video data.
2615 */
2616 @property (nonatomic, assign) bool encodedFrameOnly;
2617 
2618 @end
2622 __attribute__((visibility("default"))) @interface AgoraEncodedVideoFrameInfo: NSObject
2623 
2627 @property (assign, nonatomic) AgoraVideoCodecType codecType;
2631 @property (assign, nonatomic) NSInteger width;
2635 @property (assign, nonatomic) NSInteger height;
2642 @property (assign, nonatomic) NSInteger framesPerSecond;
2646 @property (assign, nonatomic) AgoraVideoFrameType frameType;
2650 @property (assign, nonatomic) NSInteger rotation;
2654 @property (assign, nonatomic) NSInteger trackId; // This can be reserved for multiple video tracks, we need to create different ssrc
2655  // and additional payload for later implementation.
2659 @property (assign, nonatomic) NSInteger captureTimeMs;
2663 @property (assign, nonatomic) NSInteger uid;
2667 @property (assign, nonatomic) AgoraVideoStreamType streamType;
2668 @end
2669 
2670 NS_SWIFT_NAME(AgoraLocalAccessPointConfiguration) __attribute__((visibility("default"))) @interface AgoraLocalAccessPointConfiguration : NSObject
2673 @property(copy, nonatomic) NSArray* _Nullable ipList NS_SWIFT_NAME(ipList);
2676 @property(copy, nonatomic) NSArray* _Nullable domainList NS_SWIFT_NAME(domainList);
2679 @property(copy, nonatomic) NSString* _Nullable verifyDomainName NS_SWIFT_NAME(verifyDomainName);
2682 @property(assign, nonatomic) AgoraLocalProxyMode mode NS_SWIFT_NAME(mode);
2683 @end
2684 
2689 __attribute__((visibility("default"))) @interface AgoraRhythmPlayerConfig: NSObject
2695 @property (assign, nonatomic) int beatsPerMeasure;
2696 /*
2697  * The range is 60 to 360.
2698  * The default value is 60,
2699  * which means that the rhythm player plays 60 beats in one minute.
2700  */
2701 @property (assign, nonatomic) int beatsPerMinute;
2702 
2703 @end
2704 
2707 NS_SWIFT_NAME(AgoraFacePositionInfo) __attribute__((visibility("default"))) @interface AgoraFacePositionInfo : NSObject
2708 
2711 @property(assign, nonatomic) NSInteger x NS_SWIFT_NAME(x);
2712 
2715 @property(assign, nonatomic) NSInteger y NS_SWIFT_NAME(y);
2716 
2719 @property(assign, nonatomic) NSInteger width NS_SWIFT_NAME(width);
2720 
2723 @property(assign, nonatomic) NSInteger height NS_SWIFT_NAME(height);
2724 
2727 @property(assign, nonatomic) NSInteger distance NS_SWIFT_NAME(distance);
2728 @end
2729 
2732 __attribute__((visibility("default"))) @interface AgoraAdvancedAudioOptions: NSObject
2733 
2734 @property(assign, nonatomic) AgoraAudioProcessChannels audioProcessingChannels;
2735 
2736 @end
2737 
2738 __attribute__((visibility("default"))) @interface AgoraImageTrackOptions : NSObject
2739 @property(copy, nonatomic) NSString *_Nullable imageUrl;
2740 @property(assign, nonatomic) int fps;
2741 @end
2742 
2747 __attribute__((visibility("default"))) @interface AgoraSpatialAudioParams : NSObject
2751 @property(strong, nonatomic) AgoraRtcDoubleOptional* _Nullable speaker_azimuth;
2755 @property(strong, nonatomic) AgoraRtcDoubleOptional* _Nullable speaker_elevation;
2759 @property(strong, nonatomic) AgoraRtcDoubleOptional* _Nullable speaker_distance;
2763 @property(strong, nonatomic) AgoraRtcIntOptional* _Nullable speaker_orientation;
2767 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable enable_blur;
2771 @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable enable_air_absorb;
2775 @property(strong, nonatomic) AgoraRtcDoubleOptional* _Nullable speaker_attenuation;
2776 
2777 @end
2778 
2779 NS_SWIFT_NAME(AgoraEchoTestConfiguration)
2780 __attribute__((visibility("default"))) @interface AgoraEchoTestConfiguration : NSObject
2788 @property(strong, nonatomic) VIEW_CLASS* _Nullable view NS_SWIFT_NAME(view);
2791 @property(assign, nonatomic) BOOL enableAudio NS_SWIFT_NAME(enableAudio);
2794 @property(assign, nonatomic) BOOL enableVideo NS_SWIFT_NAME(enableVideo);
2797 @property(copy, nonatomic) NSString* _Nullable token NS_SWIFT_NAME(token);
2800 @property(copy, nonatomic) NSString* _Nonnull channelId NS_SWIFT_NAME(channelId);
2801 @end
2802 
2806 NS_SWIFT_NAME(AgoraWlAccStats) __attribute__((visibility("default"))) @interface AgoraWlAccStats : NSObject
2810 @property(assign, nonatomic) NSInteger e2eDelayPercent NS_SWIFT_NAME(e2eDelayPercent);
2814 @property(assign, nonatomic) NSInteger frozenRatioPercent NS_SWIFT_NAME(frozenRatioPercent);
2818 @property(assign, nonatomic) NSInteger lossRatePercent NS_SWIFT_NAME(lossRatePercent);
2819 @end
2820 
2821 __attribute__((visibility("default"))) @interface AgoraMediaRecorderInfo : NSObject
2822 
2825 @property(copy, nonatomic) NSString* _Nonnull recorderFileName;
2828 @property(assign, nonatomic) NSUInteger durationMs;
2831 @property(assign, nonatomic) NSUInteger fileSize;
2832 
2833 @end
2834 
2835 __attribute__((visibility("default"))) @interface AgoraMediaRecorderConfiguration : NSObject
2836 
2839 @property(copy, nonatomic) NSString* _Nonnull storagePath;
2842 @property(assign, nonatomic) AgoraMediaRecorderContainerFormat containerFormat;
2845 @property(assign, nonatomic) AgoraMediaRecorderStreamType streamType;
2848 @property(assign, nonatomic) NSUInteger maxDurationMs;
2851 @property(assign, nonatomic) NSUInteger recorderInfoUpdateInterval;
2852 
2853 @end
2854 
2855 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
2856 
2860 __attribute__((visibility("default"))) @interface AgoraScreenCaptureSourceInfo : NSObject
2862 @property(assign, nonatomic) AgoraScreenCaptureSourceType type;
2864 @property(assign, nonatomic) CGWindowID sourceId;
2866 @property(copy, nonatomic) NSString* _Nonnull sourceName;
2868 @property(strong, nonatomic) NSImage* _Nonnull thumbImage;
2870 @property(strong, nonatomic) NSImage* _Nullable iconImage;
2872 @property(copy, nonatomic) NSString* _Nonnull processPath;
2874 @property(copy, nonatomic) NSString* _Nonnull sourceTitle;
2880 @property(assign, nonatomic) BOOL primaryMonitor;
2881 
2882 @end
2883 
2884 #endif
AgoraMediaSource
Definition: AgoraObjects.h:52
AgoraLowlightEnhanceLevel
AgoraLowlightEnhanceLevel
Definition: AgoraEnumerates.h:1791
AgoraFacePositionInfo
Definition: AgoraObjects.h:2708
AgoraRtcMediaPlayerCustomSourceOnReadCallback
int(^ AgoraRtcMediaPlayerCustomSourceOnReadCallback)(id< AgoraRtcMediaPlayerProtocol > _Nonnull playerKit, unsigned char *_Nullable buffer, int bufferSize)
The player requests to read the data callback, you need to fill the specified length of data into the...
Definition: AgoraObjects.h:34
AgoraLocalProxyMode
AgoraLocalProxyMode
Definition: AgoraEnumerates.h:2833
AgoraDirectCdnStreamingStats
Definition: AgoraObjects.h:129
AgoraDegradationPreference
AgoraDegradationPreference
Definition: AgoraEnumerates.h:1730
AgoraCameraDirection
AgoraCameraDirection
Definition: AgoraEnumerates.h:2159
AgoraMediaSource::playerOnReadCallback
AgoraRtcMediaPlayerCustomSourceOnReadCallback _Nonnull playerOnReadCallback
Definition: AgoraObjects.h:85
AgoraMediaSource::startPos
NSUInteger startPos
Definition: AgoraObjects.h:63
AgoraEncodedVideoTrackOptions
Definition: AgoraObjects.h:203
AgoraScreenAudioParameters
Definition: AgoraObjects.h:2435
AgoraRtcChannelMediaOptions
Definition: AgoraObjects.h:230
AgoraRtcDoubleOptional
Definition: AgoraRtcPrimitiveOptional.h:113
AgoraMediaFilterEventDelegate.h
AgoraAudioScenario
AgoraAudioScenario
Definition: AgoraEnumerates.h:1196
AgoraRhythmPlayerConfig
Definition: AgoraObjects.h:2690
AgoraBeautyOptions
Definition: AgoraObjects.h:2087
AgoraVideoSubscriptionOptions
Definition: AgoraObjects.h:2603
AgoraOutputVideoFrame
Definition: AgoraObjects.h:1860
AgoraScreenCaptureParameters2
Definition: AgoraObjects.h:2441
AgoraExperiencePoorReason
AgoraExperiencePoorReason
Definition: AgoraEnumerates.h:748
AgoraMediaSource::uri
NSString *_Nullable uri
Definition: AgoraObjects.h:59
AgoraVideoDenoiserMode
AgoraVideoDenoiserMode
Definition: AgoraEnumerates.h:1755
AgoraContentInspectModule
Definition: AgoraObjects.h:2569
AgoraMediaPlayerSrcInfo
The information of the media stream object.
Definition: AgoraObjects.h:113
AgoraMediaSource::url
NSString *_Nullable url
Definition: AgoraObjects.h:55
AgoraRtcPrimitiveOptional.h
AgoraLighteningContrastLevel
AgoraLighteningContrastLevel
Definition: AgoraEnumerates.h:1742
AgoraEnumerates.h
AgoraVideoFrame
Definition: AgoraObjects.h:1525
AgoraSimulcastStreamConfig
Definition: AgoraObjects.h:2500
AgoraRtcIntOptional
Definition: AgoraRtcPrimitiveOptional.h:11
AgoraScreenCaptureParameters
Definition: AgoraObjects.h:2263
AgoraAudioRawFrameOperationMode
AgoraAudioRawFrameOperationMode
Definition: AgoraEnumerates.h:1268
AgoraMediaRecorderInfo
Definition: AgoraObjects.h:2822
AgoraSegmentationProperty
Definition: AgoraObjects.h:2206
AgoraVideoDenoiserLevel
AgoraVideoDenoiserLevel
Definition: AgoraEnumerates.h:1766
AgoraRtcRemoteVideoStats
Definition: AgoraObjects.h:631
AgoraVideoViewSetupMode
AgoraVideoViewSetupMode
Definition: AgoraEnumerates.h:2865
AgoraMediaSource::autoPlay
BOOL autoPlay
Definition: AgoraObjects.h:72
AgoraContentInspectConfig
Definition: AgoraObjects.h:2575
AgoraAudioEncodedFrameDelegateConfig
Definition: AgoraObjects.h:2558
AgoraTranscodingVideoStream
Definition: AgoraObjects.h:2217
AgoraDirectCdnStreamingMediaOptions
Definition: AgoraObjects.h:156
AgoraAudioCodecType
AgoraAudioCodecType
Definition: AgoraEnumerates.h:672
AgoraAudioEncodedFrameDelegatePosition
AgoraAudioEncodedFrameDelegatePosition
Definition: AgoraEnumerates.h:662
AgoraRtcMediaPlayerProtocol-p
Definition: AgoraRtcMediaPlayerProtocol.h:23
AgoraVideoDenoiserOptions
Definition: AgoraObjects.h:2130
AgoraLastmileProbeConfig
Definition: AgoraObjects.h:461
AgoraAudienceLatencyLevelType
AgoraAudienceLatencyLevelType
Definition: AgoraEnumerates.h:514
AgoraLastmileProbeResultState
AgoraLastmileProbeResultState
Definition: AgoraEnumerates.h:770
AgoraWlAccStats
Definition: AgoraObjects.h:2807
AgoraRtcMediaStreamInfo
Definition: AgoraObjects.h:2519
AgoraChannelMediaRelayInfo
Definition: AgoraObjects.h:2016
WatermarkOptions
Definition: AgoraObjects.h:1151
AgoraVideoSourceType
AgoraVideoSourceType
Definition: AgoraEnumerates.h:2372
AgoraRtcBoolOptional
Definition: AgoraRtcPrimitiveOptional.h:78
AgoraAudioFrame
Definition: AgoraObjects.h:1705
AgoraMediaRecorderStreamType
AgoraMediaRecorderStreamType
Definition: AgoraEnumerates.h:2950
AgoraAudioEncodingType
AgoraAudioEncodingType
Definition: AgoraEnumerates.h:679
AgoraMediaSource::enableCache
BOOL enableCache
Definition: AgoraObjects.h:67
AgoraAreaCodeType
AgoraAreaCodeType
Definition: AgoraEnumerates.h:2037
VIEW_CLASS
UIView VIEW_CLASS
Definition: AgoraObjects.h:16
AgoraChannelProfile
AgoraChannelProfile
Definition: AgoraEnumerates.h:472
COLOR_CLASS
UIColor COLOR_CLASS
Definition: AgoraObjects.h:17
AgoraBlurDegree
AgoraBlurDegree
Definition: AgoraEnumerates.h:1811
AgoraAudioSpectrumInfo
Definition: AgoraObjects.h:2547
AgoraLeaveChannelOptions
Definition: AgoraObjects.h:1836
AgoraDataStreamConfig
Definition: AgoraObjects.h:2006
AgoraLowlightEnhanceMode
AgoraLowlightEnhanceMode
Definition: AgoraEnumerates.h:1780
AgoraRtcRemoteAudioStats
Definition: AgoraObjects.h:730
AgoraMediaSource::isAgoraSource
AgoraRtcBoolOptional *_Nullable isAgoraSource
Definition: AgoraObjects.h:77
AgoraUserInfo
Definition: AgoraObjects.h:1954
AgoraRtcEngineConfig
Definition: AgoraObjects.h:1662
AgoraMediaStreamType
AgoraMediaStreamType
Definition: AgoraEnumerates.h:2443
AgoraImageTrackOptions
Definition: AgoraObjects.h:2739
AgoraVideoRenderMode
AgoraVideoRenderMode
Definition: AgoraEnumerates.h:810
AgoraLastmileProbeOneWayResult
Definition: AgoraObjects.h:493
AgoraVideoQualityAdaptIndication
AgoraVideoQualityAdaptIndication
Definition: AgoraEnumerates.h:800
AgoraContentInspectType
AgoraContentInspectType
Definition: AgoraEnumerates.h:2758
AgoraEncryptionConfig
Definition: AgoraObjects.h:1936
AgoraEncodedVideoFrameInfo
Definition: AgoraObjects.h:2623
AgoraRtcMediaPlayerCustomSourceOnSeekCallback
long long(^ AgoraRtcMediaPlayerCustomSourceOnSeekCallback)(id< AgoraRtcMediaPlayerProtocol > _Nonnull playerKit, long long offset, int whence)
The Player seek event callback, you need to operate the corresponding stream seek operation,...
Definition: AgoraObjects.h:49
AgoraChannelMediaRelayConfiguration
Definition: AgoraObjects.h:2035
AgoraVideoStreamType
AgoraVideoStreamType
Definition: AgoraEnumerates.h:792
AgoraVideoCodecTypeForStream
AgoraVideoCodecTypeForStream
Definition: AgoraEnumerates.h:419
AgoraEchoTestConfiguration
Definition: AgoraObjects.h:2781
AgoraAdvancedAudioOptions
Definition: AgoraObjects.h:2733
AgoraRtcAudioVolumeInfo
Definition: AgoraObjects.h:822
AgoraMediaPlayerCacheStatistics
Definition: AgoraObjects.h:91
AgoraAudioProcessChannels
AgoraAudioProcessChannels
Definition: AgoraEnumerates.h:2871
AgoraLocalAccessPointConfiguration
Definition: AgoraObjects.h:2671
AgoraScreenVideoParameters
Definition: AgoraObjects.h:2329
AgoraVirtualBackgroundSource
Definition: AgoraObjects.h:2175
AgoraLiveStreamAdvancedFeature
Definition: AgoraObjects.h:1109
AgoraRtcConnection
Definition: AgoraObjects.h:2581
AgoraLowlightEnhanceOptions
Definition: AgoraObjects.h:2147
AgoraExperienceQuality
AgoraExperienceQuality
Definition: AgoraEnumerates.h:737
__deprecated
#define __deprecated
Definition: AgoraBase.h:63
AgoraAudioCodecProfileType
AgoraAudioCodecProfileType
Definition: AgoraEnumerates.h:1055
AgoraVideoContentHint
AgoraVideoContentHint
Definition: AgoraEnumerates.h:2720
AgoraLocalTranscoderConfiguration
Definition: AgoraObjects.h:2249
AgoraRtcVideoCanvas
Definition: AgoraObjects.h:423
AgoraEncodedAudioFrameInfo
Definition: AgoraObjects.h:1802
AgoraVirtualBackgroundSourceType
AgoraVirtualBackgroundSourceType
Definition: AgoraEnumerates.h:1801
SegModelType
SegModelType
Definition: AgoraEnumerates.h:1820
AgoraMediaSource::playerOnSeekCallback
AgoraRtcMediaPlayerCustomSourceOnSeekCallback _Nonnull playerOnSeekCallback
Definition: AgoraObjects.h:86
AgoraAudioRecordingConfiguration
Definition: AgoraObjects.h:2463
AgoraVideoFrameType
AgoraVideoFrameType
Definition: AgoraEnumerates.h:1649
AgoraColorEnhanceOptions
Definition: AgoraObjects.h:2162
AgoraMediaRecorderConfiguration
Definition: AgoraObjects.h:2836
AgoraMediaRecorderContainerFormat
AgoraMediaRecorderContainerFormat
Definition: AgoraEnumerates.h:2959
AgoraLogConfig
Definition: AgoraObjects.h:1630
AgoraClientRoleOptions
Definition: AgoraObjects.h:1967
AgoraMediaSourceType
AgoraMediaSourceType
Definition: AgoraEnumerates.h:2310
AgoraAudioFileRecordingType
AgoraAudioFileRecordingType
Definition: AgoraEnumerates.h:652
AgoraRtcLocalAudioStats
Definition: AgoraObjects.h:701
AgoraCameraCapturerConfiguration
Definition: AgoraObjects.h:1977
IMAGE_CLASS
UIImage IMAGE_CLASS
Definition: AgoraObjects.h:18
AgoraMediaSource::isLiveSource
AgoraRtcBoolOptional *_Nullable isLiveSource
Definition: AgoraObjects.h:81
AgoraMediaPlayerUpdatedInfo
player_id and device_id has value when user trigger interface of opening.
Definition: AgoraObjects.h:103
AgoraLogLevel
AgoraLogLevel
Definition: AgoraEnumerates.h:2012
AgoraScreenCaptureSourceType
AgoraScreenCaptureSourceType
Definition: AgoraEnumerates.h:2968
AgoraLastmileProbeResult
Definition: AgoraObjects.h:511
AgoraChannelStats
Definition: AgoraObjects.h:841
AgoraCaptureBrightnessLevelType
AgoraCaptureBrightnessLevelType
Definition: AgoraEnumerates.h:522