Video SDK for MacOS API Reference
Loading...
Searching...
No Matches
ZMVideoSDKUserHelper.h
Go to the documentation of this file.
1
5
6#import <Foundation/Foundation.h>
7#import <ZMVideoSDK/ZMVideoSDKDef.h>
8#import <ZMVideoSDK/ZMVideoSDKVideoCanvas.h>
9
11
12NS_ASSUME_NONNULL_BEGIN
17@interface ZMVideoSDKVideoStatus : NSObject
18
22@property (nonatomic, assign, readonly) BOOL isHasVideoDevice;
23
27@property (nonatomic, assign, readonly) BOOL isOn;
28@end
29
34@interface ZMVideoSDKAudioStatus : NSObject
35
39@property (nonatomic, assign, readonly) ZMVideoSDKAudioType audioType;
40
44@property (nonatomic, assign, readonly) BOOL isMuted;
45
49@property (nonatomic, assign, readonly) BOOL isTalking;
50@end
51
57@interface ZMVideoSDKQOSStatistics : NSObject
58
62@property (nonatomic, assign, readonly) ZMVideoSDKStatisticsDirection direction;
63
67@property (nonatomic, assign, readonly) NSInteger timestamp;
68
72@property (nonatomic, copy, readonly) NSString * _Nullable codecName;
73
77@property (nonatomic, assign, readonly) NSInteger rtt;
78
82@property (nonatomic, assign, readonly) NSInteger jitter;
83
87@property (nonatomic, assign, readonly) NSInteger width;
88
92@property (nonatomic, assign, readonly) NSInteger height;
93
97@property (nonatomic, assign, readonly) NSInteger fps;
98
102@property (nonatomic, assign, readonly) NSInteger bps;
103
107@property (nonatomic, assign, readonly) NSInteger bytesTransferred;
108
112@property (nonatomic, assign, readonly) NSInteger packetsLost;
113
117@property (nonatomic, assign, readonly) NSInteger packetsTransferred;
118
122@property (nonatomic, assign, readonly) ZMVideoSDKNetworkStatus networkLevel;
123
127@property (nonatomic, assign, readonly) ZMVideoSDKDataType statisticsType;
128
132@property (nonatomic, assign, readonly) NSInteger avg_loss;
133
137@property (nonatomic, assign, readonly) NSInteger max_loss;
138
142@property (nonatomic, assign, readonly) NSInteger bandwidth;
143
144@end
145
152
156@property (nonatomic, assign, readonly) NSInteger frameWidthInput;
157
161@property (nonatomic, assign, readonly) NSInteger frameHeightInput;
162
166@property (nonatomic, assign, readonly) NSInteger frameRateInput;
167
171@property (nonatomic, assign, readonly) NSInteger bytesSent;
172
176@property (nonatomic, assign, readonly) NSInteger packetsSent;
177
181@property (nonatomic, assign, readonly) NSInteger totalPacketSendDelay;
182
186@property (nonatomic, assign, readonly) NSInteger totalEncodeTime;
187
191@property (nonatomic, assign, readonly) NSInteger framesEncoded;
192
193@end
194
201
205@property (nonatomic, assign, readonly) NSInteger bytesReceived;
206
210@property (nonatomic, assign, readonly) NSInteger packetsReceived;
211
215@property (nonatomic, assign, readonly) NSInteger estimatedPlayoutTimestamp;
216
220@property (nonatomic, assign, readonly) NSInteger totalDecodeTime;
221
225@property (nonatomic, assign, readonly) NSInteger framesDecoded;
226
230@property (nonatomic, assign, readonly) NSInteger jitterBufferDelay;
231
235@property (nonatomic, assign, readonly) NSInteger jitterBufferEmittedCount;
236
237@end
238
244
249@property (nonatomic, assign, readonly) int bpf DEPRECATED_MSG_ATTRIBUTE("Use bps instead");
250
255@property (nonatomic, assign, readonly) ZMVideoSDKNetworkStatus videoNetworkStatus DEPRECATED_MSG_ATTRIBUTE("Use networkLevel instead");
256@end
257
263
268@property (nonatomic, assign, readonly) int bpf DEPRECATED_MSG_ATTRIBUTE("Use bps instead");
269
274@property (nonatomic, assign, readonly) ZMVideoSDKNetworkStatus shareNetworkStatus DEPRECATED_MSG_ATTRIBUTE("Use networkLevel instead");
275@end
276
281@interface ZMVideoSDKYUVRawDataI420 : NSObject
282
286@property (nonatomic, assign, readonly) char* _Nullable yBuffer;
287
291@property (nonatomic, assign, readonly) char* _Nullable uBuffer;
292
296@property (nonatomic, assign, readonly) char* _Nullable vBuffer;
297
301@property (nonatomic, assign, readonly) char* _Nullable buffer;
302
306@property (nonatomic, assign, readonly, nullable) char* alphaBuffer;
307
311@property (nonatomic, assign, readonly) unsigned int bufferLen;
312
316@property (nonatomic, assign, readonly) unsigned int alphaBufferLen;
317
321@property (nonatomic, assign, readonly) BOOL isLimitedI420;
322
326@property (nonatomic, assign, readonly) unsigned int streamWidth;
327
331@property (nonatomic, assign, readonly) unsigned int streamHeight;
332
336@property (nonatomic, assign, readonly) unsigned int rotation;
337
341@property (nonatomic, assign, readonly) unsigned int resourceID;
342
346@property (nonatomic, assign, readonly) long long timeStamp;
351- (BOOL)canAddRef;
352
358- (BOOL)addRef;
359
365@end
366
367
372@interface ZMVideoSDKShareCursorData : NSObject
373
377@property (nonatomic, assign, readonly) unsigned int sourceID;
378
382@property (nonatomic, assign, readonly) int x;
383
387@property (nonatomic, assign, readonly) int y;
388@end
389
394@protocol ZMVideoSDKRawDataPipeDelegate <NSObject>
395@optional
396
401- (void)onRawDataFrameReceived:(ZMVideoSDKYUVRawDataI420*)data;
402
407- (void)onRawDataStatusChanged:(ZMVideoSDKRawDataStatus)status;
408
413- (void)onShareCursorDataReceived:(ZMVideoSDKShareCursorData *)info;
414@end
415
420@interface ZMVideoSDKRawDataPipe : NSObject
421
428- (ZMVideoSDKErrors)subscribe:(ZMVideoSDKResolution)resolution listener:(id<ZMVideoSDKRawDataPipeDelegate>)listener;
429
435- (ZMVideoSDKErrors)unSubscribe:(id<ZMVideoSDKRawDataPipeDelegate>)listener;
436
442
448
453- (NSString* _Nullable)getVideoDeviceName;
454
460
467
473
479@end
480
486
492
498@end
499
505
511
517
523- (ZMVideoSDKErrors)turnLeft:(unsigned int)range;
524
530- (ZMVideoSDKErrors)turnRight:(unsigned int)range;
531
537- (ZMVideoSDKErrors)turnUp:(unsigned int)range;
538
544- (ZMVideoSDKErrors)turnDown:(unsigned int)range;
545
551- (ZMVideoSDKErrors)zoomIn:(unsigned int)range;
552
558- (ZMVideoSDKErrors)zoomOut:(unsigned int)range;
559@end
560
561
566@interface ZMVideoSDKUser : NSObject
571- (NSString* _Nullable)getUserID;
572
578- (NSString* _Nullable)getCustomIdentity DEPRECATED_MSG_ATTRIBUTE("Use -getUserKey instead");
579
584- (NSString* _Nullable)getUserKey;
585
590- (NSString* _Nullable)getUserName;
591
595- (NSString* _Nullable)getUserReference;
596
602
607- (BOOL)isHost;
608
613- (BOOL)isManager;
614
620
626
632
638
644
650
656
664- (BOOL)setUserVolume:(float)volume isSharingAudio:(BOOL)isSharingAudio DEPRECATED_MSG_ATTRIBUTE("Use -setUserPlaybackVolume:isSharingAudio: instead");
665
673- (BOOL)getUserVolume:(float*)volume isSharingAudio:(BOOL)isSharingAudio DEPRECATED_MSG_ATTRIBUTE("Use -getUserPlaybackVolume:isSharingAudio: instead");
674
681- (BOOL)canSetUserVolume:(BOOL)isShareAudio DEPRECATED_MSG_ATTRIBUTE("Use -canSetUserPlaybackVolume: instead");
682
689- (BOOL)setUserPlaybackVolume:(float)volume isSharingAudio:(BOOL)isSharingAudio;
690
697- (BOOL)getUserPlaybackVolume:(float*)volume isSharingAudio:(BOOL)isSharingAudio;
698
704- (BOOL)canSetUserPlaybackVolume:(BOOL)isShareAudio;
705
710- (unsigned int)getAudioLevel;
711
717
723- (ZMVideoSDKErrors)transferFile:(NSString *)filePath;
724
730
736
742
748
755
761@end
762
767@interface ZMVideoSDKUserHelper: NSObject
768
775- (BOOL)changeName:(NSString*)name user:(ZMVideoSDKUser*)user;
776
782- (BOOL)makeHost:(ZMVideoSDKUser*)user;
783
789- (BOOL)makeManager:(ZMVideoSDKUser*)user;
790
796- (ZMVideoSDKErrors)revokeManager:(ZMVideoSDKUser*)user;
797
803- (BOOL)removeUser:(ZMVideoSDKUser*)user;
804
810@end
811
812NS_ASSUME_NONNULL_END
813
ZMVideoSDKResolution
Enumeration of render resolution.
ZMVideoSDKRawDataType
Enumeration of raw data types.
ZMVideoSDKDataType
Enumeration of the data type for network quality monitoring.
ZMVideoSDKShareCapturePauseReason
Enumeration of reasons why screen sharing capture is paused in the Zoom Video SDK.
ZMVideoSDKShareType
Enumerates the types of content available for sharing in a session.
ZMVideoSDKStatisticsDirection
Direction of media statistics (send or receive).
ZMVideoSDKErrors
Enumerates all errors in the VideoSDK.
ZMVideoSDKWhiteboardStatus
Enumeration of the status of whiteboard sharing.
ZMVideoSDKRawDataStatus
Enumeration the statuses of raw data.
ZMVideoSDKNetworkStatus
Enumerates the network statuses.
ZMVideoSDKShareStatus
Enumerates the status of sharing.
ZMVideoSDKAudioType
Enumerates the types of audio.
Audio status interface.
BOOL isTalking
Determines whether the user is talking.
BOOL isMuted
Determines whether the audio is muted.
ZMVideoSDKAudioType audioType
Gets audio type: VOIP (Voice over IP), Telephony, or None.
Camera control request handler object interface.
ZMVideoSDKErrors approve()
Approve the remote camera control request.
ZMVideoSDKErrors decline()
Decline the remote camera control request.
QOS statistics for inbound media stream (receiving).
NSInteger jitterBufferEmittedCount
Gets the number of samples emitted from jitter buffer (receive only).
NSInteger totalDecodeTime
Gets the total time spent decoding in milliseconds (receive only).
NSInteger estimatedPlayoutTimestamp
Gets the estimated playout timestamp (receive only).
NSInteger packetsReceived
Gets the total number of packets received (receive only).
NSInteger bytesReceived
Gets the total bytes received (receive only).
NSInteger framesDecoded
Gets the total number of frames decoded (receive only).
NSInteger jitterBufferDelay
Gets the jitter buffer delay in milliseconds (receive only).
QOS statistics for outbound media stream (sending).
NSInteger totalEncodeTime
Gets the total time spent encoding in milliseconds (send only).
NSInteger frameHeightInput
Gets the height of the input frame (send only).
NSInteger packetsSent
Gets the total number of packets sent.
NSInteger totalPacketSendDelay
Gets the total packet send delay in milliseconds (send only).
NSInteger frameRateInput
Gets the frame rate of input (send only).
NSInteger framesEncoded
Gets the total number of frames encoded (send only).
NSInteger bytesSent
Gets the total bytes sent.
NSInteger frameWidthInput
Gets the width of the input frame (send only).
Base QOS statistics for media streams (Audio, Video, Share).
NSInteger jitter
Gets the jitter in milliseconds.
NSInteger rtt
Gets the round-trip time in milliseconds.
NSString *_Nullable codecName
Gets the name of the codec. For video/share: "h264", "av1". For audio: "silk", "opus",...
NSInteger bps
Gets the bits per second.
NSInteger timestamp
Gets the timestamp of the statistics.
NSInteger height
Frame height (sent or received per direction).
ZMVideoSDKStatisticsDirection direction
Gets the direction of statistics (send or receive).
NSInteger fps
Frame rate in FPS (sent or received per direction).
ZMVideoSDKNetworkStatus networkLevel
Gets the network quality level.
ZMVideoSDKDataType statisticsType
Gets the statistics type (Audio, Video, or Share).
NSInteger max_loss
Gets the maximum packet loss ratio in per thousand (e.g. 100 means 10%).
NSInteger packetsLost
Gets the number of packets lost during transmission.
NSInteger packetsTransferred
Gets the total number of packets transferred (sent or received per direction).
NSInteger bytesTransferred
Gets the total bytes transferred (sent or received per direction).
NSInteger width
Frame width (sent or received per direction).
NSInteger avg_loss
Gets the average packet loss ratio in per thousand (e.g. 100 means 10%).
NSInteger bandwidth
Gets the estimated bandwidth in bps.
Video or share raw data pipe interface.
ZMVideoSDKRawDataType getRawdataType()
Gets the raw data data type.
ZMVideoSDKVideoStatisticInfo *_Nullable getVideoStatisticInfo()
Gets video statistic information.
ZMVideoSDKShareType getShareType()
Gets share type.
ZMVideoSDKVideoStatus *_Nullable getVideoStatus()
Gets video status.
ZMVideoSDKShareCapturePauseReason getShareCapturePauseReason()
Gets the reason why the share capture is paused.
NSString *_Nullable getVideoDeviceName()
Gets video device name.
ZMVideoSDKShareStatus getShareStatus()
Gets share status.
Remote camera control helper object interface.
ZMVideoSDKErrors requestControlRemoteCamera()
Requests to control remote camera.
ZMVideoSDKErrors giveUpControlRemoteCamera()
Give up control of the remote camera.
Represents the state and control interfaces of a share action in a Zoom session.
Represents the cursor position data during screen sharing.
unsigned int sourceID
The source id of the share cursor.
int y
The y value of the coordinate.
int x
The x value of the coordinate.
Share statistic information. Inherits QOS fields (width, height, fps, bps, direction,...
int bpf
Gets share bits per frame. Same as bps.
ZMVideoSDKNetworkStatus shareNetworkStatus
Gets share network status. Same as networkLevel.
User control interface.
BOOL reclaimHost()
Reclaim host permission. Allow the user whose role_type = 1 to reclaim the host role.
Zoom Video SDK user information.
unsigned int getAudioLevel()
Gets the current audio level of a remote user.
BOOL isIncomingLiveStreamUser()
Determines whether the user is incoming live stream user.
NSArray< ZMVideoSDKRawDataPipe * > *_Nullable getMultiCameraStreamList()
Gets the user's multi-camera stream list.
NSArray< ZMVideoSDKShareAction * > *_Nullable getShareActionList()
Gets the user's share-action list.
BOOL isInSubSession()
Determines whether the user is in a subsession.
BOOL isHost()
Determines whether the user is the host.
ZMVideoSDKWhiteboardStatus getWhiteboardStatus()
Gets the user's whiteboard sharing status.
BOOL isManager()
Determines whether the user is the manager.
NSString *_Nullable getUserKey()
Gets the user's key.
NSString *_Nullable getUserReference()
Gets the user's reference.
ZMVideoSDKRemoteCameraControlHelper *_Nullable getRemoteCameraControlHelper()
Gets the helper class instance to access the remote camera control.
ZMVideoSDKShareStatisticInfo *_Nullable getShareStatisticInfo()
Gets the user's share statistic information.
ZMVideoSDKVideoCanvas *_Nullable getVideoCanvas()
Gets the user's video canvas.
ZMVideoSDKVideoStatisticInfo *_Nullable getVideoStatisticInfo()
Gets the user's video statistic information.
NSString *_Nullable getCustomIdentity()
Gets the user's custom identity.
BOOL hasIndividualRecordingConsent()
Determines whether I agree to individual video recording.
NSString *_Nullable getUserName()
Gets the user's name in the session.
NSString *_Nullable getUserID()
Gets the user's ID.
ZMVideoSDKAudioStatus *_Nullable getAudioStatus()
Gets the user's audio status.
ZMVideoSDKRawDataPipe *_Nullable getVideoPipe()
Gets the user's video pipe.
ZMVideoSDKNetworkStatus getOverallNetworkLevel()
Gets the user's overall network quality level.
BOOL isVideoSpotLighted()
Check if user is spotlighted.
Manages the rendering of video or screen share content in the Zoom Video SDK.
Video statistic information. Inherits QOS fields (width, height, fps, bps, direction,...
int bpf
Gets video bits per frame. Same as bps.
ZMVideoSDKNetworkStatus videoNetworkStatus
Gets video network status. Same as networkLevel.
ZMVideoSDKVideoStatus provides information on the user's video device (the detected compatible video ...
BOOL isHasVideoDevice
Query if the user's device has a compatible camera. YES : compatible camera detected,...
BOOL isOn
Query if the camera is turned on. YES : camera turned on, NO : camera turned off.
YUV raw data 420 infomation interface.
BOOL canAddRef()
Determines if adding a reference to the raw data buffer is supported.
char *_Nullable yBuffer
Gets the YUVI420 Y buffer. The Y component represents the luma or brightness values.
unsigned int bufferLen
The buffer length of this data.
unsigned int resourceID
Gets the source_id of current YUV raw data.
char *_Nullable vBuffer
Gets the YUVI420 V buffer. The V component represents the chroma values.
BOOL isLimitedI420
Gets if this data is limited I420 format.
char *_Nullable buffer
The buffer data.
unsigned int streamWidth
Query stream width.
char *_Nullable uBuffer
Gets the YUVI420 U buffer. The U component represents the chroma values.
unsigned int rotation
Query the video raw data rotation.
unsigned int streamHeight
Gets the stream height.
unsigned int alphaBufferLen
Gets the alpha buffer length.
BOOL addRef()
Increase reference count by 1. Adding a reference ensures that the raw data buffer nots be released.
char * alphaBuffer
Gets video alpha mask data buffer.
int releaseRef()
Decrease reference count by 1. When finished using the raw data buffer, call releaseRef.
long long timeStamp
Millisecond timestamp.