Video SDK for Windows API Reference
Loading...
Searching...
No Matches
zoom_video_sdk_share_helper_interface.h
Go to the documentation of this file.
1
6#ifndef _ZOOM_VIDEO_SDK_SHARE_HELPER_INTERFACE_H_
7#define _ZOOM_VIDEO_SDK_SHARE_HELPER_INTERFACE_H_
11
38
39
45{
46public:
56 virtual ZoomVideoSDKErrors sendShareFrame(char* frameBuffer, int width, int height, int frameLength, FrameDataFormat format = FrameDataFormat_I420_FULL) = 0;
57};
58
63{
64public:
70 virtual void onShareSendStarted(IZoomVideoSDKShareSender* pSender) = 0;
71
75 virtual void onShareSendStopped() = 0;
76};
77
79{
80public:
94 virtual ZoomVideoSDKErrors sendShareAudio(char* data, unsigned int data_length, int sample_rate, ZoomVideoSDKAudioChannel channel) = 0;
95};
96
98{
99public:
105 virtual void onStartSendAudio(IZoomVideoSDKShareAudioSender* pShareAudioSender) = 0;
106
110 virtual void onStopSendAudio() = 0;
111};
112
118{
119public:
126 virtual ZoomVideoSDKErrors addMonitorID(const zchar_t* monitorID) = 0;
127
133 virtual ZoomVideoSDKErrors removeMonitorID(const zchar_t* monitorID) = 0;
134
140
146};
147
148
149#if defined(WIN32) || defined(__MACOS__)
166
172{
173public:
180 virtual bool canRequestControl() = 0;
181
187
193
198 virtual bool canRemoteControl() = 0;
199
205
210 virtual bool isRemoteControlling() = 0;
211
217};
218#endif
219
221{
223 unsigned int width;
225 unsigned int height;
226
228 {
229 width = 0;
230 height = 0;
231 }
232
234 {
235 width = resolution.width;
236 height = resolution.height;
237 }
238
239 ZoomVideoSDKViewSize(unsigned int new_width, unsigned int new_height)
240 {
241 width = new_width;
242 height = new_height;
243 }
244};
245
247{
248public:
254 virtual unsigned int getShareSourceId() = 0;
255
256
257#if !defined __linux && !defined ANDROID
263#endif
269
275
281
287
293
299
300#if defined(WIN32) || defined(__MACOS__)
306
312
318
324#endif
325};
326
336
353
365
367{
368public:
376
381 virtual void onShareStopped() = 0;
382};
383
391{
392public:
399 virtual ZoomVideoSDKErrors startShareView(void* handle, ZoomVideoSDKShareOption option = {false, false}) = 0;
400
405 virtual bool isShareViewValid(void* handle) = 0;
406
413 virtual ZoomVideoSDKErrors startShareScreen(const zchar_t* monitorID, ZoomVideoSDKShareOption option = { false, false }) = 0;
414
420
427
433
441 virtual ZoomVideoSDKErrors startSharePureAudioSource(IZoomVideoSDKShareAudioSource* pShareAudioSource, bool isPlaying = true) = 0;
442
448
454
460
465 virtual bool isSharingOut() = 0;
466
471 virtual bool isScreenSharingOut() = 0;
472
477 virtual bool isOtherSharing() = 0;
478
484 virtual ZoomVideoSDKErrors lockShare(bool lock) = 0;
485
490 virtual bool isShareLocked() = 0;
491
498 virtual ZoomVideoSDKErrors enableMultiShare(bool enable) = 0;
499
504 virtual bool isMultiShareEnabled() = 0;
505
512
517 virtual bool isShareDeviceAudioEnabled() = 0;
518
525
531
537 virtual ZoomVideoSDKErrors startShare2ndCamera(const zchar_t* cameraID) = 0;
538
546
553
562 virtual ZoomVideoSDKErrors startSharingExternalSource(IZoomVideoSDKShareSource* pSource, IZoomVideoSDKShareAudioSource* pAudioSource = nullptr, bool isPlaying = true) = 0;
563
568 virtual bool isAnnotationFeatureSupport() = 0;
569
575 virtual ZoomVideoSDKErrors disableViewerAnnotation(bool bDisable) = 0;
576
582 virtual bool isViewerAnnotationDisabled() = 0;
583
592
598
604
612};
614#endif
virtual IVideoSDKVector< const zchar_t * > * getMonitorIDs()=0
Returns the monitor ID list.
virtual ZoomVideoSDKErrors clear()=0
Clear the monitor ID list.
virtual ZoomVideoSDKErrors addMonitorID(const zchar_t *monitorID)=0
Add the monitor ID to list. The validity of the monitor ID is not verified here.
virtual ZoomVideoSDKErrors removeMonitorID(const zchar_t *monitorID)=0
Remove the monitor ID from list.
SDK defined vector interface.
video or share canvas interface.
Video/share raw data pipe interface.
virtual ZoomVideoSDKErrors endRemoteControl()=0
End the remote control of the specified user.
virtual bool isRemoteControlling()=0
Determine if the specified user is in the process of being remotely controlled.
virtual ZoomVideoSDKErrors leaveRemoteControl()=0
The user has temporarily paused remote control, to continue, there is no need to request remote contr...
virtual bool canRequestControl()=0
Determine if the user is able to ask to remote control the specified user.
virtual bool canRemoteControl()=0
Determine if the user is able to remote control the specified user.
virtual ZoomVideoSDKErrors requestRemoteControl()=0
Send the remote control request to the specified user.
virtual ZoomVideoSDKErrors enterRemoteControl()=0
Remote control the specified user.
virtual ZoomVideoSDKErrors deny()=0
Decline the remote control request.
virtual ZoomVideoSDKErrors approve()=0
Approve the remote control request.
virtual ZoomVideoSDKSubscribeFailReason getSubscribeFailReason()=0
Get subscribe fail reason.
virtual ZoomVideoSDKErrors revokeRemoteControl()=0
Get back all the authority of remote control. Only available for the user themselves.
virtual bool isAnnotationPrivilegeEnabled()=0
Determine whether annotation privilege is enabled.
virtual unsigned int getShareSourceId()=0
Get share source ID.
virtual IZoomVideoSDKRemoteControlHelper * getRemoteControlHelper()=0
Get the helper class instance to access remote control. Only available for controller side.
virtual IZoomVideoSDKCanvas * getShareCanvas()=0
Get the render canvas object.
virtual ZoomVideoSDKShareType getShareType()=0
Get share type.
virtual ZoomVideoSDKViewSize getShareSourceContentSize()=0
Get the size of the share content.
virtual IZoomVideoSDKUser * getCurrentRemoteController()=0
Get the controller ID who is currently controlling me. Only available for the controlled user.
virtual IZoomVideoSDKRawDataPipe * getSharePipe()=0
Get share raw data pipe.
virtual IVideoSDKVector< IZoomVideoSDKUser * > * getRemoteControlApprovedUserList()=0
Get the list of users I have agreed to control. Only available for the controlling user.
virtual ZoomVideoSDKShareStatus getShareStatus()=0
Get share status.
virtual ZoomVideoSDKErrors sendShareAudio(char *data, unsigned int data_length, int sample_rate, ZoomVideoSDKAudioChannel channel)=0
Sends audio raw data.
virtual void onStopSendAudio()=0
Callback for audio source to stop sending raw data.
virtual void onStartSendAudio(IZoomVideoSDKShareAudioSender *pShareAudioSender)=0
Callback for audio source to start sending raw data.
virtual bool isMultiShareEnabled()=0
Determine whether multi share is enabled or not.
virtual ZoomVideoSDKErrors startShareMultiScreen(ZoomVideoSDKShareOption option={ false, false })=0
Share all screens in IMonitorListBuilder, if virtual speaker is enabled, don't support share audio.
virtual bool isSharingOut()=0
Determine whether the current user is sharing.
virtual ZoomVideoSDKErrors startShareScreen(const zchar_t *monitorID, ZoomVideoSDKShareOption option={ false, false })=0
Share a selected screen, if virtual speaker is enabled, don't support share audio.
virtual ZoomVideoSDKErrors enableOptimizeForSharedVideo(bool enable)=0
Enable or disable the optimization of frame rate, you can enable it when there is video in shared con...
virtual ZoomVideoSDKErrors unSubscribeMyShareCamera()=0
Unsubscribe to the raw data stream of the camera that is shared as the second camera.
virtual ZoomVideoSDKErrors startShareComputerAudio()=0
Start sharing only the computer audio.
virtual bool isViewerAnnotationDisabled()=0
Whether annotation on current sharing is disabled or not.
virtual ZoomVideoSDKErrors enablePlaySharingAudioRawdata(bool isPlaying)=0
Enable or disable local playback of shared audio raw data.
virtual bool isOtherSharing()=0
Determine if other user is sharing.
virtual ZoomVideoSDKErrors stopShare()=0
Stop share.
virtual ZoomVideoSDKErrors pauseShare()=0
Pause share.
virtual bool isOptimizeForSharedVideoEnabled()=0
Determine if optimization for shared video is enabled.
virtual ZoomVideoSDKErrors enableMultiShare(bool enable)=0
Enable or disable participants can share simultaneously.
virtual bool isAnnotationFeatureSupport()=0
Whether annotation is enabled or not.
virtual ZoomVideoSDKErrors startSharePureAudioSource(IZoomVideoSDKShareAudioSource *pShareAudioSource, bool isPlaying=true)=0
Starts sharing the pure external audio source.
virtual IMonitorListBuilder * getMonitorListBuilder()=0
Returns the monitor ID list builder object, the monitor ID list will be cleared after calling startSh...
virtual bool isShareDeviceAudioEnabled()=0
Determine if the SDK has enabled share device sound. This reflects the execution status of enableShar...
virtual bool isShareLocked()=0
Determine whether sharing is locked.
virtual ZoomVideoSDKErrors startShare2ndCamera(const zchar_t *cameraID)=0
Start sharing a camera feed specified by the cameraID as the second camera.
virtual ZoomVideoSDKErrors enableShareDeviceAudio(bool enable)=0
Enable or disable the computer sound when sharing. The SDK does not support sharing device audio,...
virtual ZoomVideoSDKErrors lockShare(bool lock)=0
Lock sharing the view or screen. Only the host can call this method.
virtual ZoomVideoSDKErrors destroyAnnotationHelper(IZoomVideoSDKAnnotationHelper *helper)=0
Destroys annotation helper.
virtual ZoomVideoSDKErrors startShareView(void *handle, ZoomVideoSDKShareOption option={false, false})=0
Share a selected window, if virtual speaker is enabled, don't support share audio.
virtual ZoomVideoSDKErrors startSharingExternalSource(IZoomVideoSDKShareSource *pSource, IZoomVideoSDKShareAudioSource *pAudioSource=nullptr, bool isPlaying=true)=0
Shares an external source.
virtual ZoomVideoSDKErrors disableViewerAnnotation(bool bDisable)=0
Disable or enable viewer's annotation by the share owner.
virtual ZoomVideoSDKErrors startShareWithPreprocessing(const ZoomVideoSDKSharePreprocessParam &param, IZoomVideoSDKSharePreprocessor *preprocessor)=0
Start share preprocessing.
virtual ZoomVideoSDKErrors subscribeMyShareCamera(IZoomVideoSDKRawDataPipeDelegate *data_handler)=0
Subscribe to the raw data stream of the camera that is shared as the second camera.
virtual bool isScreenSharingOut()=0
Determine whether the current user is sharing the screen.
virtual bool isShareViewValid(void *handle)=0
Determine whether the handle being shared is valid.
virtual IZoomVideoSDKAnnotationHelper * createAnnotationHelper(void *handle)=0
Creates annotation helper based on shared view.
virtual ZoomVideoSDKErrors resumeShare()=0
Resume share.
virtual ZoomVideoSDKErrors sendPreprocessedData(YUVRawDataI420 *pRawData)=0
Send preprocessed data.
virtual void onShareStopped()=0
You will receive this callback when call 'stopShare' successfully.
virtual void onCapturedRawDataReceived(YUVRawDataI420 *pRawData, IZoomVideoSDKSharePreprocessSender *pSender)=0
You will receive this callback when calling 'startShareWithPreprocessing' successfully.
virtual ZoomVideoSDKErrors sendShareFrame(char *frameBuffer, int width, int height, int frameLength, FrameDataFormat format=FrameDataFormat_I420_FULL)=0
Send one frame data.
virtual void onShareSendStarted(IZoomVideoSDKShareSender *pSender)=0
Callback for share source can start send raw data.
virtual void onShareSendStopped()=0
Callback for share source stop send raw data.
The YUV raw data handler interface.
ZoomVideoSDKShareOption(const ZoomVideoSDKShareOption &option)
ZoomVideoSDKShareOption(bool bWithAudio, bool optimize)
ZoomVideoSDKViewSize(const ZoomVideoSDKViewSize &resolution)
ZoomVideoSDKViewSize(unsigned int new_width, unsigned int new_height)
Zoom Video SDK Common Definition File.
FrameDataFormat
Enumeration of specifying the format of frame data.
@ FrameDataFormat_I420_FULL
I420 format with full (PC) range. Provides full-range color values, typically used in computer graphi...
ZoomVideoSDKAudioChannel
Enumeration of audio channel type in Zoom Video SDK.
#define BEGIN_ZOOM_VIDEO_SDK_NAMESPACE
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.
wchar_t zchar_t