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
7#ifndef _ZOOM_VIDEO_SDK_SHARE_HELPER_INTERFACE_H_
8#define _ZOOM_VIDEO_SDK_SHARE_HELPER_INTERFACE_H_
12
37
42{
43public:
45
53 virtual ZoomVideoSDKErrors sendShareFrame(char* frameBuffer, int width, int height, int frameLength, FrameDataFormat format = FrameDataFormat_I420_FULL) = 0;
54};
55
59{
60public:
62
65 virtual void onShareSendStarted(IZoomVideoSDKShareSender* pSender) = 0;
66
68 virtual void onShareSendStopped() = 0;
69};
70
73{
74public:
76
87 virtual ZoomVideoSDKErrors sendShareAudio(char* data, unsigned int data_length, int sample_rate, ZoomVideoSDKAudioChannel channel) = 0;
88};
89
91{
92public:
94
97 virtual void onStartSendAudio(IZoomVideoSDKShareAudioSender* pShareAudioSender) = 0;
98
100 virtual void onStopSendAudio() = 0;
101};
102
106{
107public:
109
114 virtual ZoomVideoSDKErrors addMonitorID(const zchar_t* monitorID) = 0;
115
120 virtual ZoomVideoSDKErrors removeMonitorID(const zchar_t* monitorID) = 0;
121
126
130};
131
132
133#if defined(WIN32) || defined(__MACOS__)
147
151{
152public:
154
158 virtual bool canRequestControl() = 0;
159
164
169
172 virtual bool canRemoteControl() = 0;
173
178
181 virtual bool isRemoteControlling() = 0;
182
187};
188#endif
189
191{
192 unsigned int width;
193 unsigned int height;
194
196 {
197 width = 0;
198 height = 0;
199 }
200
202 {
203 width = resolution.width;
204 height = resolution.height;
205 }
206
207 ZoomVideoSDKViewSize(unsigned int new_width, unsigned int new_height)
208 {
209 width = new_width;
210 height = new_height;
211 }
212};
213
215{
216public:
218
221 virtual unsigned int getShareSourceId() = 0;
222
223#if !defined __linux && !defined ANDROID
227#endif
228
232
236
240
244
248
252
253#if defined(WIN32) || defined(__MACOS__)
258
262
267
271#endif
272};
273
280
294
306
308{
309public:
311
316
319 virtual void onShareStopped() = 0;
320};
321
327{
328public:
329
335 virtual ZoomVideoSDKErrors startShareView(void* handle, ZoomVideoSDKShareOption option = {false, false}) = 0;
336
339 virtual bool isShareViewValid(void* handle) = 0;
340
346 virtual ZoomVideoSDKErrors startShareScreen(const zchar_t* monitorID, ZoomVideoSDKShareOption option = { false, false }) = 0;
347
351
357
362
369 virtual ZoomVideoSDKErrors startSharePureAudioSource(IZoomVideoSDKShareAudioSource* pShareAudioSource, bool isPlaying = true) = 0;
370
375
380
385
388 virtual bool isSharingOut() = 0;
389
392 virtual bool isScreenSharingOut() = 0;
393
396 virtual bool isOtherSharing() = 0;
397
402 virtual ZoomVideoSDKErrors lockShare(bool lock) = 0;
403
406 virtual bool isShareLocked() = 0;
407
413 virtual ZoomVideoSDKErrors enableMultiShare(bool enable) = 0;
414
417 virtual bool isMultiShareEnabled() = 0;
418
424
427 virtual bool isShareDeviceAudioEnabled() = 0;
428
434
438
443 virtual ZoomVideoSDKErrors startShare2ndCamera(const zchar_t* cameraID) = 0;
444
451
457
465 virtual ZoomVideoSDKErrors startSharingExternalSource(IZoomVideoSDKShareSource* pSource, IZoomVideoSDKShareAudioSource* pAudioSource = nullptr, bool isPlaying = true) = 0;
466
469 virtual bool isAnnotationFeatureSupport() = 0;
470
474 virtual ZoomVideoSDKErrors disableViewerAnnotation(bool bDisable) = 0;
475
479 virtual bool isViewerAnnotationDisabled() = 0;
480
487
491
495
502};
504#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. In this event notification,...
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.
bool isWithDeviceAudio
share option, true: share computer sound when share screen/window, otherwise not.
ZoomVideoSDKShareOption(const ZoomVideoSDKShareOption &option)
bool isOptimizeForSharedVideo
share option, true: optimize the frame rate when share screen/window, otherwise not.
ZoomVideoSDKShareOption(bool bWithAudio, bool optimize)
void * handle
The window handle that to share and pre-process.
const zchar_t * monitorID
The screen name that to share and pre-process.
ZoomVideoSDKSharePreprocessType type
The share pre-process type.
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
@ ZoomVideoSDKSharePreprocessType_view
For share view(application window).
@ ZoomVideoSDKSharePreprocessType_screen
For share screen(monitor).
@ ZoomVideoSDKSharePreprocessType_none
For initialization.