6#ifndef _ZOOM_VIDEO_SDK_USER_HELPER_INTERFACE_H_
7#define _ZOOM_VIDEO_SDK_USER_HELPER_INTERFACE_H_
651#if defined ANDROID || defined __IOS__
652 ZoomVideoSDKSubscribeFailReason_HasSubscribeOneShare,
664#if !defined __linux && !defined ANDROID
802#if !defined __linux && !defined ANDROID
914#if !defined (__linux) || defined ANDROID
SDK-defined vector interface for managing collections of items.
Camera control interface.
virtual ZoomVideoSDKErrors decline()=0
Decline the remote camera control request.
virtual ~IZoomVideoSDKCameraControlRequestHandler()
virtual ZoomVideoSDKErrors approve()=0
Approve the remote camera control request.
video or share canvas interface.
virtual ZoomVideoSDKErrors setResolution(void *handle, ZoomVideoSDKResolution resolution)=0
Sets the resolution for the user's video. Once you specify the value, the resolution will not change ...
virtual ZoomVideoSDKErrors unSubscribeWithView(void *handle)=0
Unsubscribes to the user's video or share view.
virtual ZoomVideoSDKErrors subscribeWithView(void *handle, ZoomVideoSDKVideoAspect videoAspect, ZoomVideoSDKResolution resolution=ZoomVideoSDKResolution_Auto)=0
Subscribes to the user's video or share view.
virtual ZoomVideoSDKCanvasType canvasType()=0
Gets the canvas type.
virtual void * takeSnapshot(void *handle)=0
Captures a snapshot of the current video frame from the specified video view and returns it as a Bitm...
virtual ~IZoomVideoSDKCanvas()
virtual ZoomVideoSDKErrors setAspectMode(void *handle, ZoomVideoSDKVideoAspect aspect)=0
Set the render video or share aspect ratio.
Video/share raw data sink interface.
virtual void onRawDataStatusChanged(RawDataStatus status)=0
Call when subscribed data status changed.
virtual void onShareCursorDataReceived(ZoomVideoSDKShareCursorData info)=0
Call when the cursor data of share received.
virtual ~IZoomVideoSDKRawDataPipeDelegate()
virtual void onRawDataFrameReceived(YUVRawDataI420 *data_)=0
Call when subscribed data received.
Video/share raw data pipe interface.
virtual ZoomVideoSDKShareCapturePauseReason getShareCapturePauseReason()=0
Gets the reason why the share capture is paused.
virtual ZoomVideoSDKErrors subscribe(ZoomVideoSDKResolution resolution, IZoomVideoSDKRawDataPipeDelegate *listener)=0
Subscribe video/share.
virtual ZoomVideoSDKVideoStatus getVideoStatus()=0
Get video status.
virtual const zchar_t * getVideoDeviceName()=0
Get video device name.
virtual ZoomVideoSDKErrors unSubscribe(IZoomVideoSDKRawDataPipeDelegate *listener)=0
Unsubscribe video/share.
virtual ZoomVideoSDKRawDataType getRawdataType()=0
Get the raw data data type.
virtual ZoomVideoSDKVideoStatisticInfo getVideoStatisticInfo()=0
Get video statistic information.
virtual ZoomVideoSDKShareType getShareType()=0
Get share type.
virtual ZoomVideoSDKShareStatus getShareStatus()=0
Get share status.
virtual ~IZoomVideoSDKRawDataPipe()
virtual ZoomVideoSDKErrors giveUpControlRemoteCamera()=0
Give up control of the remote camera.
virtual ~IZoomVideoSDKRemoteCameraControlHelper()
virtual ZoomVideoSDKErrors requestControlRemoteCamera()=0
Request to control remote camera.
virtual ZoomVideoSDKErrors zoomIn(unsigned int range=50)=0
Zoom the camera in.
virtual ZoomVideoSDKErrors turnDown(unsigned int range=50)=0
Turn the camera down.
virtual ZoomVideoSDKErrors zoomOut(unsigned int range=50)=0
Zoom the camera out.
virtual ZoomVideoSDKErrors turnRight(unsigned int range=50)=0
Turn the camera to the right.
virtual ZoomVideoSDKErrors turnUp(unsigned int range=50)=0
Turn the camera up.
virtual ZoomVideoSDKErrors turnLeft(unsigned int range=50)=0
Turn the camera to the left.
virtual bool removeUser(IZoomVideoSDKUser *pUser)=0
Remove user from session.
virtual bool makeManager(IZoomVideoSDKUser *pUser)=0
Assign a user as the session manager.
virtual bool reclaimHost()=0
Reclaim host permission.
virtual ZoomVideoSDKErrors revokeManager(IZoomVideoSDKUser *pUser)=0
Revoke manager rights from a user.
virtual bool changeName(const zchar_t *name, IZoomVideoSDKUser *pUser)=0
Change a specific user's name.
virtual bool makeHost(IZoomVideoSDKUser *pUser)=0
Assign a user as the session host.
virtual unsigned int getAudioLevel()=0
Gets the current audio level of a remote user.
virtual IZoomVideoSDKRawDataPipe * GetVideoPipe()=0
Get the user's video raw data pipe.
virtual bool isHost()=0
Determines whether the user is the host.
virtual bool canSetUserPlaybackVolume(bool isShareAudio=false)=0
Checks whether you can set the volume for shared audio or microphone.
virtual bool canSetUserVolume(bool isShareAudio=false)=0
Determines which audio you can set, shared audio or microphone.
virtual const zchar_t * getUserKey()=0
Gets the user's key.
virtual bool isVideoSpotLighted()=0
Determines whether the user is spotLighted.
virtual ZoomVideoSDKAudioStatus getAudioStatus()=0
Get the user's audio status.
virtual bool setUserVolume(float volume, bool isShareAudio=false)=0
Set the user's local volume. This does not affect how other participants hear the user.
virtual bool isManager()=0
Determines whether the user is the manager(coHost).
virtual ZoomVideoSDKWhiteboardStatus getWhiteboardStatus()=0
Get the whiteboard sharing status of the user.
virtual bool getUserPlaybackVolume(float &volume, bool isShareAudio=false)=0
Gets the local volume.
virtual ZoomVideoSDKErrors transferFile(const zchar_t *filePath)=0
Send file to current user object.
virtual const zchar_t * getUserReference()=0
Get the user's reference info.
virtual bool isIncomingLiveStreamUser()=0
Determines whether the user is incoming live stream user.
virtual ZoomVideoSDKNetworkStatus getNetworkLevel(ZoomVideoSDKDataType type)=0
Gets the network quality level of the specified data type for the user.
virtual ~IZoomVideoSDKUser()
virtual const zchar_t * getUserID()=0
Get the user's id.
virtual ZoomVideoSDKVideoStatisticInfo getVideoStatisticInfo()=0
Get the user's video statistic information.
virtual const zchar_t * getUserName()=0
Get the user's name.
virtual IZoomVideoSDKCanvas * GetVideoCanvas()=0
Gets the user's video render canvas object.
virtual bool getUserVolume(float &volume, bool isShareAudio=false)=0
Get user volume.
virtual IVideoSDKVector< IZoomVideoSDKShareAction * > * getShareActionList()=0
Get the user's share-action list.
virtual ZoomVideoSDKNetworkStatus getOverallNetworkLevel()=0
Gets the overall network quality level of the user.
virtual IVideoSDKVector< IZoomVideoSDKRawDataPipe * > * getMultiCameraStreamList()=0
Get the user's multi-camera stream list.
virtual bool setUserPlaybackVolume(float volume, bool isShareAudio=false)=0
Sets the user's local volume. This does not affect how other participants hear the user.
virtual IZoomVideoSDKRemoteCameraControlHelper * getRemoteCameraControlHelper()=0
Get the helper class instance to access the remote camera control.
virtual bool isInSubSession()=0
Determines whether the user is in a subsession.
virtual bool hasIndividualRecordingConsent()=0
Used to determine whether I agree to individual video recording.
virtual const zchar_t * getCustomIdentity()=0
Get the user's custom id.
virtual bool isInFailover()=0
Determines whether the user is in failover.
virtual ZoomVideoSDKShareStatisticInfo getShareStatisticInfo()=0
Get the user's share statistic information.
The YUV raw data handler interface.
Audio status information.
ZoomVideoSDKAudioType audioType
ZoomVideoSDKAudioStatus()
unsigned long long removedSamplesForAcceleration
Samples removed to speed up playout (acceleration) (receive only, audio only).
unsigned long long jitterBufferEmittedCount
Total audio samples decoded from RTP packets (receive only).
unsigned long long concealedSamples
Samples produced by concealment instead of real decode (receive only, audio only).
unsigned long long headerBytesReceived
Total bytes of RTP headers (and padding) received (receive only).
unsigned long long bytesReceived
Total bytes received (receive only).
double jitterBufferTargetDelay
Accumulated current target delay of the jitter buffer, in seconds (receive only, audio only).
unsigned long long concealmentEvents
Number of concealment events (receive only, audio only).
unsigned int fecPacketsReceived
Total number of FEC packets received (receive only, audio only).
unsigned int totalDecodeTime
Total time spent decoding in milliseconds (receive only).
unsigned long long insertedSamplesForDeceleration
Samples inserted to slow down playout (deceleration) (receive only, audio only).
unsigned int framesDecoded
Total number of frames decoded (receive only).
double jitterBufferMinimumDelay
Accumulated minimum achievable jitter buffer delay, in seconds (receive only, audio only).
unsigned long long totalSamplesReceived
Total audio samples generated by NetEQ (receive only, audio only).
unsigned int estimatedPlayoutTimestamp
Estimated playout timestamp (receive only).
ZoomVideoSDKQOSRecvStatistics()
unsigned long long silentConcealedSamples
Subset of concealedSamples that are silent (receive only, audio only).
unsigned int packetsReceived
Total number of packets received (receive only).
double totalAudioEnergy
Accumulated audio energy (receive only, audio only).
unsigned int packetsDiscarded
Non-FEC packets discarded by NetEQ (receive only, audio only).
double totalSamplesDuration
Total duration of all audio samples received, in seconds (receive only, audio only).
unsigned int fecPacketsDiscarded
FEC packets discarded by NetEQ (receive only, audio only).
double jitterBufferDelay
Accumulated playout delay introduced by the jitter buffer, in seconds (receive only).
double audioLevel
Most recent audio level of the received stream, range [0.0, 1.0] (receive only, audio only).
unsigned int frameRateInput
Frame rate of input (send only).
unsigned int framesEncoded
Total number of frames encoded (send only).
unsigned int totalPacketSendDelay
Total packet send delay in milliseconds (send only).
unsigned int frameWidthInput
Width of the input frame (send only).
unsigned int headerBytesSent
Total bytes of RTP headers (and padding) sent (send only).
unsigned int packetsSent
Total number of packets sent.
ZoomVideoSDKQOSSendStatistics()
unsigned int totalEncodeTime
Total time spent encoding in milliseconds (send only).
unsigned int frameHeightInput
Height of the input frame (send only).
unsigned int bytesSent
Total bytes sent.
unsigned int fps
Frame rate in FPS (sent or received per direction).
unsigned int timestamp
Timestamp of the statistics.
const zchar_t * codecName
Name of the codec. Valid only during callback. For video/share: "h264", "av1". For audio: "silk",...
unsigned int rtt
Round-trip time in milliseconds.
int bpf
Bits per frame. Same as bps for backward compatibility.
unsigned int packetsTransferred
Total number of packets transferred (sent or received per direction).
unsigned int avg_loss
Average packet loss ratio in per thousand (e.g. 100 means 10%).
unsigned int bandwidth
Estimated bandwidth in bps.
ZoomVideoSDKQOSStatistics()
unsigned int height
Frame height (sent or received per direction).
unsigned int bps
Bits per second.
unsigned int bytesTransferred
Total bytes transferred (sent or received per direction).
unsigned int max_loss
Maximum packet loss ratio in per thousand (e.g. 100 means 10%).
ZoomVideoSDKNetworkStatus networkLevel
Network quality level.
ZoomVideoSDKStatisticsDirection direction
Direction of statistics (send or receive).
unsigned int width
Frame width (sent or received per direction).
ZoomVideoSDKDataType statisticsType
Statistics type (Audio, Video, or Share).
unsigned int packetsLost
Number of packets lost during transmission.
double jitter
Jitter in milliseconds.
Share cursor information.
ZoomVideoSDKShareCursorData()
Share statistic information. Inherits from ZoomVideoSDKQOSStatistics (width, height,...
ZoomVideoSDKNetworkStatus shareNetworkStatus
Gets the share network status. Same as ZoomVideoSDKQOSStatistics::networkLevel.
ZoomVideoSDKShareStatisticInfo()
Video statistic information. Inherits common QOS fields from ZoomVideoSDKQOSStatistics (width,...
ZoomVideoSDKVideoStatisticInfo()
ZoomVideoSDKNetworkStatus videoNetworkStatus
Gets the video network status. Same as ZoomVideoSDKQOSStatistics::networkLevel.
Video status information on the user's video device (the detected compatible video camera device),...
ZoomVideoSDKVideoStatus()
Zoom Video SDK Common Definition File.
ZoomVideoSDKDataType
Enumeration of the data type for network quality monitoring.
@ ZoomVideoSDKDataType_Unknown
ZoomVideoSDKWhiteboardStatus
Enumeration of the status of whiteboard sharing.
#define BEGIN_ZOOM_VIDEO_SDK_NAMESPACE
ZoomVideoSDKRawDataType
Enumeration of raw data types in Zoom Video SDK.
ZoomVideoSDKShareCapturePauseReason
Enumeration of reasons why screen sharing capture is paused in the Zoom Video SDK.
ZoomVideoSDKShareType
Enumeration of sharing types in Zoom Video SDK.
#define END_ZOOM_VIDEO_SDK_NAMESPACE
ZoomVideoSDKShareStatus
Enumeration of sharing status in Zoom Video SDK.
ZoomVideoSDKErrors
Enumeration of common Zoom Video SDK errors.
@ ZoomVideoSDKCanvasType_ShareData
@ ZoomVideoSDKCanvasType_VideoData
ZoomVideoSDKSubscribeFailReason
@ ZoomVideoSDKSubscribeFailReason_None
@ ZoomVideoSDKSubscribeFailReason_HasSubscribeTwo720P
@ ZoomVideoSDKSubscribeFailReason_TooFrequentCall
@ ZoomVideoSDKSubscribeFailReason_HasSubscribeTwoShare
@ ZoomVideoSDKSubscribeFailReason_HasSubscribeVideo1080POr720PAndOneShare
@ ZoomVideoSDKSubscribeFailReason_HasSubscribe1080POr720P
@ ZoomVideoSDKSubscribeFailReason_HasSubscribeExceededLimit
ZoomVideoSDKAudioType
Audio type: VOIP (Voice over IP), Telephony, or None.
@ ZoomVideoSDKAudioType_TELEPHONY
@ ZoomVideoSDKAudioType_VOIP
@ ZoomVideoSDKAudioType_None
@ ZoomVideoSDKResolution_720P
@ ZoomVideoSDKResolution_360P
@ ZoomVideoSDKResolution_Auto
@ ZoomVideoSDKResolution_90P
@ ZoomVideoSDKResolution_1080P
@ ZoomVideoSDKResolution_180P
@ ZoomVideoSDKVideoAspect_Original
@ ZoomVideoSDKVideoAspect_Full_Filled
@ ZoomVideoSDKVideoAspect_PanAndScan
@ ZoomVideoSDKVideoAspect_LetterBox
ZoomVideoSDKStatisticsDirection
Direction of media statistics (send or receive).
@ ZoomVideoSDKStatisticsDirection_Send
@ ZoomVideoSDKStatisticsDirection_Receive
ZoomVideoSDKNetworkStatus
@ ZoomVideoSDKNetwork_Good
@ ZoomVideoSDKNetwork_Normal
@ ZoomVideoSDKNetwork_None
@ ZoomVideoSDKNetwork_Bad
Vector container interface.