8 #import <CoreMedia/CoreMedia.h>
9 #import <Foundation/Foundation.h>
15 #import <UIKit/UIKit.h>
20 #import <AppKit/AppKit.h>
31 @property(copy, nonatomic) NSString *_Nullable
playerId;
32 @property(copy, nonatomic) NSString *_Nullable
deviceId;
43 @property(assign, nonatomic)
int bitrateInKbps;
47 @property(copy, nonatomic) NSString *_Nullable name;
59 @property(assign, nonatomic) NSUInteger videoWidth;
63 @property(assign, nonatomic) NSUInteger videoHeight;
67 @property(assign, nonatomic) NSUInteger fps;
71 @property(assign, nonatomic) NSUInteger videoBitrate;
75 @property(assign, nonatomic) NSUInteger audioBitrate;
262 @property(copy, nonatomic) NSString * _Nullable token;
294 @property(assign, nonatomic) AgoraVideoMirrorMode mirrorMode;
297 @property(assign, nonatomic) NSUInteger uid;
300 @property(copy, nonatomic) NSString *_Nullable userId;
306 @property(nonatomic, assign)
int sourceId;
310 @property(assign, nonatomic) CGRect cropArea;
329 @property (assign, nonatomic) BOOL probeUplink;
335 @property (assign, nonatomic) BOOL probeDownlink;
342 @property (assign, nonatomic) NSUInteger expectedUplinkBitrate;
347 @property (assign, nonatomic) NSUInteger expectedDownlinkBitrate;
357 @property (assign, nonatomic) NSUInteger packetLossRate;
361 @property (assign, nonatomic) NSUInteger jitter;
365 @property (assign, nonatomic) NSUInteger availableBandwidth;
380 @property (assign, nonatomic) NSUInteger rtt;
399 __attribute__((visibility(
"default")))
@interface AgoraRtcLocalVideoStats : NSObject
404 @property(assign, nonatomic) NSUInteger sentBitrate;
409 @property(assign, nonatomic) NSUInteger sentFrameRate;
413 @property(assign, nonatomic) NSUInteger uid;
417 @property(assign, nonatomic) NSInteger captureFrameRate;
420 @property(assign, nonatomic) NSInteger captureFrameWidth;
423 @property(assign, nonatomic) NSInteger captureFrameHeight;
427 @property(assign, nonatomic) NSInteger regulatedCaptureFrameRate;
431 @property(assign, nonatomic) NSInteger regulatedCaptureFrameWidth;
435 @property(assign, nonatomic) NSInteger regulatedCaptureFrameHeight;
439 @property(assign, nonatomic) NSInteger encoderOutputFrameRate;
442 @property(assign, nonatomic) NSInteger rendererOutputFrameRate;
445 @property(assign, nonatomic) NSInteger targetFrameRate;
452 @property(assign, nonatomic) NSInteger targetBitrate;
457 @property(assign, nonatomic) NSInteger encodedBitrate;
461 @property(assign, nonatomic) NSInteger encodedFrameWidth;
465 @property(assign, nonatomic) NSInteger encodedFrameHeight;
469 @property(assign, nonatomic) NSInteger encodedFrameCount;
475 @property(assign, nonatomic) AgoraVideoCodecType codecType;
479 @property(assign, nonatomic) NSInteger txPacketLossRate;
487 @property(assign, nonatomic) NSUInteger uid;
493 @property(assign, nonatomic) NSUInteger width;
496 @property(assign, nonatomic) NSUInteger height;
499 @property(assign, nonatomic) NSUInteger receivedBitrate;
502 @property(assign, nonatomic) NSUInteger receivedFrameRate;
509 @property(assign, nonatomic) NSInteger decoderOutputFrameRate;
512 @property(assign, nonatomic) NSInteger rendererOutputFrameRate;
515 @property(assign, nonatomic) NSInteger frameLossRate;
518 @property(assign, nonatomic) NSInteger packetLossRate;
524 @property(assign, nonatomic) NSInteger totalFrozenTime;
529 @property(assign, nonatomic) NSUInteger totalActiveTime;
533 @property(assign, nonatomic) NSInteger publishDuration;
537 @property(assign, nonatomic) NSInteger frozenRate;
542 @property(assign, nonatomic) NSInteger avSyncTimeMs;
546 @property(assign, nonatomic) NSInteger superResolutionType;
557 @property(assign, nonatomic) NSUInteger numChannels;
561 @property(assign, nonatomic) NSUInteger sentSampleRate;
565 @property(assign, nonatomic) NSUInteger sentBitrate;
568 @property(assign, nonatomic) NSUInteger internalCodec;
571 @property(assign, nonatomic) NSUInteger txPacketLossRate;
582 @property(assign, nonatomic) NSUInteger uid;
595 @property(assign, nonatomic) NSUInteger quality;
599 @property(assign, nonatomic) NSUInteger networkTransportDelay;
603 @property(assign, nonatomic) NSUInteger jitterBufferDelay;
607 @property(assign, nonatomic) NSUInteger audioLossRate;
611 @property(assign, nonatomic) NSUInteger numChannels;
615 @property(assign, nonatomic) NSUInteger receivedSampleRate;
619 @property(assign, nonatomic) NSUInteger receivedBitrate;
626 @property(assign, nonatomic) NSUInteger totalFrozenTime;
631 @property(assign, nonatomic) NSUInteger totalActiveTime;
635 @property(assign, nonatomic) NSInteger publishDuration;
639 @property(assign, nonatomic) NSUInteger frozenRate;
657 @property(assign, nonatomic) NSUInteger mosValue;
661 @property(assign, nonatomic) NSInteger qoeQuality;
669 @property(assign, nonatomic) NSUInteger uid;
672 @property(assign, nonatomic) NSUInteger volume;
674 @property(assign, nonatomic) NSUInteger vad;
678 @property (assign, nonatomic)
double voicePitch;
689 @property(assign, nonatomic) NSUInteger duration;
693 @property(assign, nonatomic) NSUInteger txBytes;
697 @property(assign, nonatomic) NSUInteger rxBytes;
701 @property(assign, nonatomic) NSUInteger txAudioKBitrate;
705 @property(assign, nonatomic) NSUInteger rxAudioKBitrate;
709 @property(assign, nonatomic) NSUInteger txVideoKBitrate;
713 @property(assign, nonatomic) NSUInteger rxVideoKBitrate;
717 @property(assign, nonatomic) NSUInteger txAudioBytes;
721 @property(assign, nonatomic) NSUInteger txVideoBytes;
726 @property(assign, nonatomic) NSUInteger rxAudioBytes;
730 @property(assign, nonatomic) NSUInteger rxVideoBytes;
734 @property(assign, nonatomic) NSUInteger lastmileDelay;
738 @property(assign, nonatomic) NSUInteger userCount;
741 @property(assign, nonatomic)
double cpuAppUsage;
744 @property(assign, nonatomic)
double cpuTotalUsage;
747 @property(assign, nonatomic) NSInteger gatewayRtt;
751 @property(assign, nonatomic)
double memoryAppUsageRatio;
755 @property(assign, nonatomic)
double memoryTotalUsageRatio;
759 @property(assign, nonatomic) NSInteger memoryAppUsageInKbytes;
763 @property(assign, nonatomic) NSInteger connectTimeMs;
768 @property(assign, nonatomic) NSUInteger txKBitrate;
772 @property(assign, nonatomic) NSUInteger rxKBitrate;
776 @property(assign, nonatomic) NSInteger firstAudioPacketDuration;
779 @property(assign, nonatomic) NSInteger firstVideoPacketDuration;
782 @property(assign, nonatomic) NSInteger firstVideoKeyFramePacketDuration;
785 @property(assign, nonatomic) NSInteger packetsBeforeFirstKeyFramePacket;
789 @property(assign, nonatomic) NSInteger txPacketLossRate;
793 @property(assign, nonatomic) NSInteger rxPacketLossRate;
799 __attribute__((visibility(
"default")))
@interface AgoraVideoEncoderConfiguration : NSObject
824 @property(assign, nonatomic) CGSize dimensions;
828 @property(assign, nonatomic) AgoraVideoCodecType codecType;
832 @property(assign, nonatomic) AgoraVideoFrameRate frameRate;
854 @property(assign, nonatomic) NSInteger bitrate;
856 @property(assign, nonatomic) NSInteger minBitrate;
860 @property(assign, nonatomic) AgoraVideoOutputOrientationMode orientationMode;
864 @property(assign, nonatomic) AgoraVideoMirrorMode mirrorMode;
885 - (instancetype _Nonnull)initWithSize:(CGSize)size
886 frameRate:(AgoraVideoFrameRate)frameRate
887 bitrate:(NSInteger)bitrate
888 orientationMode:(AgoraVideoOutputOrientationMode)orientationMode
889 mirrorMode:(AgoraVideoMirrorMode)mirrorMode;
902 - (instancetype _Nonnull)initWithWidth:(NSInteger)width
903 height:(NSInteger)height
904 frameRate:(AgoraVideoFrameRate)frameRate
905 bitrate:(NSInteger)bitrate
906 orientationMode:(AgoraVideoOutputOrientationMode)orientationMode
907 mirrorMode:(AgoraVideoMirrorMode)mirrorMode;
912 __attribute__((visibility(
"default")))
@interface AgoraLiveTranscodingUser : NSObject
915 @property(assign, nonatomic) NSUInteger uid;
918 @property(assign, nonatomic) CGRect rect;
924 @property(assign, nonatomic) NSInteger zOrder;
930 @property(assign, nonatomic)
double alpha;
945 @property(assign, nonatomic) NSInteger audioChannel;
957 @property(copy, nonatomic) NSString* _Nullable featureName;
964 @property(assign, nonatomic) BOOL opened;
969 __attribute__((visibility(
"default")))
@interface AgoraImage : NSObject
972 @property(strong, nonatomic) NSURL *_Nonnull url;
975 @property(assign, nonatomic) CGRect rect;
979 @property (assign, nonatomic) NSInteger zOrder;
987 @property(assign, nonatomic)
double alpha;
998 @property(assign, nonatomic) BOOL visibleInPreview;
1006 @property(assign, nonatomic) CGRect positionInLandscapeMode;
1014 @property(assign, nonatomic) CGRect positionInPortraitMode;
1017 __attribute__((visibility(
"default")))
@interface AgoraLiveTranscoding : NSObject
1031 @property(assign, nonatomic) CGSize size;
1038 @property(assign, nonatomic) NSInteger videoBitrate;
1045 @property(assign, nonatomic) NSInteger videoFramerate;
1051 @property(assign, nonatomic) BOOL lowLatency;
1053 @property(assign, nonatomic) NSInteger videoGop;
1060 @property(assign, nonatomic) AgoraVideoCodecProfileType videoCodecProfile;
1070 @property(copy, nonatomic) NSArray<AgoraLiveTranscodingUser*>* _Nullable transcodingUsers;
1074 @property(copy, nonatomic) NSString* _Nullable transcodingExtraInfo;
1081 @property(strong, nonatomic) AgoraImage* _Nullable watermark;
1086 @property(copy, nonatomic) NSArray<AgoraImage*>* _Nullable watermarkArray;
1092 @property(strong, nonatomic) AgoraImage* _Nullable backgroundImage;
1097 @property(copy, nonatomic) NSArray<AgoraImage*>* _Nullable backgroundImageArray;
1108 @property(strong, nonatomic)
COLOR_CLASS* _Nullable backgroundColor;
1112 @property(assign, nonatomic) AgoraAudioSampleRateType audioSampleRate;
1115 @property(assign, nonatomic) NSInteger audioBitrate;
1126 @property(assign, nonatomic) NSInteger audioChannels;
1138 + (AgoraLiveTranscoding* _Nonnull)defaultTranscoding;
1147 - (int)addUser:(AgoraLiveTranscodingUser* _Nonnull)user;
1156 - (int)removeUser:(NSUInteger)uid;
1167 - (void)setAdvancedFeatures:(NSString* _Nonnull)featureName opened:(BOOL)opened;
1172 - (NSArray<AgoraLiveStreamAdvancedFeature*>* _Nullable)getAdvancedFeatures;
1178 __attribute__((visibility(
"default")))
@interface AgoraLiveInjectStreamConfig : NSObject
1182 @property(assign, nonatomic) CGSize size;
1185 @property(assign, nonatomic) NSInteger videoGop;
1188 @property(assign, nonatomic) NSInteger videoFramerate;
1191 @property(assign, nonatomic) NSInteger videoBitrate;
1195 @property(assign, nonatomic) AgoraAudioSampleRateType audioSampleRate;
1198 @property(assign, nonatomic) NSInteger audioBitrate;
1201 @property(assign, nonatomic) NSInteger audioChannels;
1207 + (AgoraLiveInjectStreamConfig *_Nonnull)defaultConfig;
1214 __attribute__((visibility(
"default")))
@interface AgoraRtcVideoCompositingRegion
1218 @property(assign, nonatomic) NSUInteger uid;
1221 @property(assign, nonatomic) CGFloat x;
1224 @property(assign, nonatomic) CGFloat y;
1227 @property(assign, nonatomic) CGFloat width;
1230 @property(assign, nonatomic) CGFloat height;
1233 @property(assign, nonatomic) NSInteger zOrder;
1236 @property(assign, nonatomic) CGFloat alpha;
1245 __attribute__((visibility(
"default")))
@interface AgoraRtcVideoCompositingLayout
1249 @property(assign, nonatomic) NSInteger canvasWidth;
1252 @property(assign, nonatomic) NSInteger canvasHeight;
1255 @property(copy, nonatomic) NSString *_Nullable backgroundColor;
1258 @property(copy, nonatomic) NSArray<AgoraRtcVideoCompositingRegion *> *_Nullable regions;
1261 @property(copy, nonatomic) NSString *_Nullable appData;
1269 __deprecated __attribute__((visibility(
"default")))
@interface AgoraPublisherConfiguration
1276 @property(assign, nonatomic) BOOL owner;
1280 @property(assign, nonatomic) NSInteger width;
1283 @property(assign, nonatomic) NSInteger height;
1286 @property(assign, nonatomic) NSInteger framerate;
1289 @property(assign, nonatomic) NSInteger bitrate;
1292 @property(assign, nonatomic) NSInteger audiosamplerate;
1295 @property(assign, nonatomic) NSInteger audiobitrate;
1298 @property(assign, nonatomic) NSInteger audiochannels;
1306 @property(assign, nonatomic) NSInteger defaultLayout;
1309 @property(assign, nonatomic) AgoraRtmpStreamLifeCycle lifeCycle;
1313 @property(assign, nonatomic) NSInteger injectStreamWidth;
1317 @property(assign, nonatomic) NSInteger injectStreamHeight;
1321 @property(copy, nonatomic) NSString *_Nullable injectStreamUrl;
1325 @property(copy, nonatomic) NSString *_Nullable publishUrl;
1330 @property(copy, nonatomic) NSString *_Nullable rawStreamUrl;
1334 @property(copy, nonatomic) NSString *_Nullable extraInfo;
1340 - (NSString * _Nullable)toJsonString;
1343 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
1347 __attribute__((visibility(
"default")))
@interface AgoraRtcDeviceInfo : NSObject
1352 @property(assign, nonatomic) AgoraMediaDeviceType type;
1356 @property(copy, nonatomic) NSString *_Nullable
deviceId;
1360 @property(copy, nonatomic) NSString *_Nullable deviceName;
1379 @property(assign, nonatomic) NSInteger format;
1384 @property(assign, nonatomic) CMTime time;
1389 @property(assign, nonatomic)
int stride DEPRECATED_MSG_ATTRIBUTE(
"use strideInPixels instead");
1394 @property(assign, nonatomic)
int strideInPixels;
1400 @property(assign, nonatomic)
int height;
1404 @property(assign, nonatomic) CVPixelBufferRef _Nullable textureBuf;
1412 @property(strong, nonatomic) NSData *_Nullable dataBuf;
1416 @property(assign, nonatomic)
int cropLeft;
1419 @property(assign, nonatomic)
int cropTop;
1422 @property(assign, nonatomic)
int cropRight;
1425 @property(assign, nonatomic)
int cropBottom;
1429 @property(assign, nonatomic)
int rotation;
1483 @property (copy, nonatomic) NSString * _Nullable filePath;
1491 @property (assign, nonatomic) NSInteger fileSizeInKB;
1509 @property (copy, nonatomic) NSString * _Nullable appId;
1541 @property (weak, nonatomic) id<AgoraMediaFilterEventDelegate> _Nullable eventDelegate;
1549 @property (assign, nonatomic) NSInteger samplesPerChannel;
1550 @property (assign, nonatomic) NSInteger bytesPerSample;
1551 @property (assign, nonatomic) NSInteger channels;
1552 @property (assign, nonatomic) NSInteger samplesPerSec;
1553 @property (strong, nonatomic) NSData* _Nullable buffer;
1554 @property (assign, nonatomic) int64_t renderTimeMs;
1555 @property (assign, nonatomic) NSInteger avSyncType;
1562 @property (assign, nonatomic) NSInteger samplesPerChannel;
1563 @property (assign, nonatomic) NSInteger channels;
1564 @property (assign, nonatomic) NSInteger samplesPerSec;
1575 @property(nonatomic, assign)
int videoEncoderTargetBitrateBps;
1585 @property(nonatomic, assign)
int lastmileBufferDelayTimeMs;
1589 @property(nonatomic, assign)
int bandwidthEstimationBps;
1601 @property(nonatomic, assign) BOOL stopAudioMixing;
1608 @property(nonatomic, assign) BOOL stopAllEffect;
1615 @property(nonatomic, assign) BOOL stopMicrophoneRecording;
1631 @property (nonatomic, assign) NSInteger type;
1635 @property (nonatomic, assign)
int width;
1639 @property (nonatomic, assign)
int height;
1643 @property (nonatomic, assign)
int yStride;
1647 @property (nonatomic, assign)
int uStride;
1651 @property (nonatomic, assign)
int vStride;
1655 @property (nonatomic, assign) uint8_t* _Nullable yBuffer;
1659 @property (nonatomic, assign) uint8_t* _Nullable uBuffer;
1663 @property (nonatomic, assign) uint8_t* _Nullable vBuffer;
1667 @property (nonatomic, assign)
int rotation;
1674 @property (nonatomic, assign) int64_t renderTimeMs;
1678 @property (nonatomic, assign)
int avSyncType;
1682 @property(assign, nonatomic) CVPixelBufferRef _Nullable pixelBuffer;
1692 @property (assign, nonatomic) AgoraEncryptionMode encryptionMode;
1700 @property (copy, nonatomic) NSString * _Nullable encryptionKey;
1701 @property (strong, nonatomic) NSData * _Nullable encryptionKdfSalt;
1710 @property(assign, nonatomic) NSUInteger uid;
1714 @property (copy, nonatomic) NSString * _Nullable userAccount;
1730 __attribute__((visibility(
"default")))
@interface AgoraCameraCapturerConfiguration: NSObject
1744 @property (assign, nonatomic) BOOL ordered;
1746 @property (assign, nonatomic) BOOL syncWithAudio;
1755 @property (copy, nonatomic) NSString * _Nullable token;
1758 @property (copy, nonatomic) NSString * _Nullable channelName;
1761 @property (assign, nonatomic) NSUInteger uid;
1766 - (instancetype _Nonnull)initWithToken:(NSString *_Nullable)token;
1781 @property (strong, nonatomic, readonly) NSDictionary<NSString *, AgoraChannelMediaRelayInfo *> *_Nullable destinationInfos;
1810 - (BOOL)setDestinationInfo:(
AgoraChannelMediaRelayInfo *_Nonnull)destinationInfo forChannelName:(NSString *_Nonnull)channelName;
1818 - (BOOL)removeDestinationInfoForChannelName:(NSString *_Nonnull)channelName;
1839 @property(nonatomic, assign)
float lighteningLevel;
1845 @property(nonatomic, assign)
float smoothnessLevel;
1851 @property(nonatomic, assign)
float rednessLevel;
1857 @property(nonatomic, assign)
float sharpnessLevel;
1878 @property(nonatomic, assign) NSUInteger color NS_SWIFT_NAME(color);
1886 @property(nonatomic, copy) NSString* _Nullable source NS_SWIFT_NAME(source);
1903 @property (assign, nonatomic) NSUInteger remoteUserUid;
1907 @property (copy, nonatomic) NSString * _Nullable imageUrl;
1911 @property (assign, nonatomic) CGRect rect;
1917 @property (assign, nonatomic) NSInteger zOrder;
1921 @property(assign, nonatomic)
double alpha;
1931 @property(copy, nonatomic) NSArray<AgoraTranscodingVideoStream *> *_Nullable videoInputStreams;
1935 @property (strong, nonatomic) AgoraVideoEncoderConfiguration *_Nonnull videoOutputConfiguration;
1946 @property (assign, nonatomic) CGSize dimensions;
1951 @property (assign, nonatomic) NSInteger frameRate;
1956 @property (assign, nonatomic) NSInteger bitrate;
1971 @property (copy, nonatomic) NSString * _Nullable filePath;
1972 @property (assign, nonatomic) BOOL codec;
1978 @property (assign, nonatomic) NSUInteger sampleRate;
1990 @property (assign, nonatomic) AgoraAudioRecordingQuality quality;
2000 @property (assign, nonatomic)
int bitrate;
2004 @property (assign, nonatomic)
int framerate;
2008 @property (assign, nonatomic) CGSize dimensions;
2016 @property(nonatomic, assign) NSInteger streamIndex;
2020 @property(nonatomic, copy) NSString *_Nonnull codecName;
2022 @property(nonatomic, copy) NSString *_Nullable language;
2024 @property(nonatomic, assign) NSInteger videoFrameRate;
2026 @property(nonatomic, assign) NSInteger videoBitRate;
2028 @property(nonatomic, assign) NSInteger videoWidth;
2030 @property(nonatomic, assign) NSInteger videoHeight;
2032 @property(nonatomic, assign) NSInteger audioSampleRate;
2034 @property(nonatomic, assign) NSInteger audioChannels;
2036 @property(nonatomic, assign) NSInteger duration;
2038 @property(nonatomic, assign) NSInteger rotation;
2045 @property(nonatomic, assign) NSInteger uid;
2046 @property(nonatomic, strong) NSArray<NSNumber *> * _Nullable audioSpectrumData;
2067 @property (assign, nonatomic) NSInteger frequency;
2071 @property (nonatomic, copy) NSString* _Nullable extraInfo;
2072 @property (assign, nonatomic) NSInteger devicework;
2073 @property (assign, nonatomic) NSInteger cloudwork;
2075 @property(copy, nonatomic) NSArray<AgoraContentInspectModule*>* _Nullable modules;
2090 @property (nonatomic, copy) NSString *_Nonnull channelId;
2095 @property (nonatomic, assign) NSUInteger localUid;
2108 @property (assign, nonatomic) AgoraVideoCodecType codecType;
2112 @property (assign, nonatomic) NSInteger width;
2116 @property (assign, nonatomic) NSInteger height;
2123 @property (assign, nonatomic) NSInteger framesPerSecond;
2131 @property (assign, nonatomic) NSInteger rotation;
2135 @property (assign, nonatomic) NSInteger trackId;
2140 @property (assign, nonatomic) NSInteger renderTimeMs;
2144 @property (assign, nonatomic) NSInteger internalSendTs;
2148 @property (assign, nonatomic) NSInteger uid;
2158 @property(copy, nonatomic) NSArray* _Nullable ipList NS_SWIFT_NAME(ipList);
2161 @property(copy, nonatomic) NSArray* _Nullable domainList NS_SWIFT_NAME(domainList);
2164 @property(copy, nonatomic) NSString* _Nullable verifyDomainName NS_SWIFT_NAME(verifyDomainName);
2180 @property (assign, nonatomic)
int beatsPerMeasure;
2186 @property (assign, nonatomic)
int beatsPerMinute;
2196 @property(assign, nonatomic) NSInteger x NS_SWIFT_NAME(x);
2200 @property(assign, nonatomic) NSInteger y NS_SWIFT_NAME(y);
2204 @property(assign, nonatomic) NSInteger width NS_SWIFT_NAME(width);
2208 @property(assign, nonatomic) NSInteger height NS_SWIFT_NAME(height);
2212 @property(assign, nonatomic) NSInteger distance NS_SWIFT_NAME(distance);
2224 @property (nonatomic, assign)
float x_center;
2226 @property (nonatomic, assign)
float y_center;
2228 @property (nonatomic, assign)
float scale_factor;
2230 @property (nonatomic, assign)
float focal_length;
2232 @property (nonatomic, assign)
float pol_focal_length;
2234 @property (nonatomic, assign)
float split_height;
2236 @property (nonatomic, copy) NSArray *_Nonnull ss;
2244 __attribute__((visibility(
"default")))
@interface AgoraSpatialAudioParams : NSObject