Video SDK for MacOS API Reference
Loading...
Searching...
No Matches
ZMVideoSDKShareHelper.h
Go to the documentation of this file.
1
7#import <Foundation/Foundation.h>
8#import <CoreGraphics/CoreGraphics.h>
9#import <ZMVideoSDK/ZMVideoSDKAnnotationHelper.h>
10#import <ZMVideoSDK/ZMVideoSDKRemoteControlHelper.h>
11#import <ZMVideoSDK/ZMVideoSDKWhiteboardHelper.h>
12NS_ASSUME_NONNULL_BEGIN
17@interface ZMVideoSDKSharePreprocessParam : NSObject
21@property(nonatomic,assign)ZMVideoSDKSharePreprocessType type;
25@property(nonatomic,assign)CGDirectDisplayID monitorID;
29@property(nonatomic,assign)CGWindowID windowID;
33@property(nonatomic,assign)pid_t processID;
34@end
35
36
47- (ZMVideoSDKErrors)sendPreprocessedData:(ZMVideoSDKYUVRawDataI420*)rawdata;
48@end
49
50
55@protocol ZMVideoSDKSharePreprocessor <NSObject>
61- (void)onCapturedRawDataReceived:(ZMVideoSDKYUVRawDataI420*)rawdata sharePreprocessSender:(ZMVideoSDKSharePreprocessSender * _Nonnull)sender;
62
66- (void)onShareStopped;
67@end
68
69
74@interface ZMVideoSDKShareAction : NSObject
78@property (nonatomic, assign, readonly) unsigned int shareSourceId;
82@property (nonatomic, assign, readonly) ZMVideoSDKShareStatus shareStatus;
86@property (nonatomic, assign, readonly) ZMVideoSDKShareType shareType;
91@property (nonatomic, assign, readonly) ZMVideoSDKShareCapturePauseReason shareCapturePauseReason;
92
96@property (nonatomic, assign, readonly) ZMVideoSDKSubscribeFailReason subscribeFailReason;
100@property (nonatomic, assign, readonly) BOOL isAnnotationPrivilegeEnabled;
101
106- (NSSize)getShareSourceContentSize;
107
112- (ZMVideoSDKRawDataPipe* _Nullable)getSharePipe;
113
118- (ZMVideoSDKVideoCanvas* _Nullable)getShareCanvas;
119
124- (ZMVideoSDKRemoteControlHelper* _Nullable)getRemoteControlHelper;
125
130- (NSArray<ZMVideoSDKUser *>* _Nullable)getRemoteControlApprovedUserList;
131
136- (ZMVideoSDKErrors)revokeRemoteControl;
137
142- (ZMVideoSDKUser * _Nullable)getCurrentRemoteController;
143
144@end
145
146
147
152@interface ZMVideoSDKShareSender : NSObject
153
163- (ZMVideoSDKErrors)sendShareFrame:(char* _Nullable)frameBuffer width:(int)width height:(int)height frameLength:(int)frameLength format:(ZMVideoSDKFrameDataFormat)format;
164@end
165
166
171@protocol ZMVideoSDKShareSource <NSObject>
176- (void)onShareSendStarted:(ZMVideoSDKShareSender* _Nonnull)sender;
180- (void)onShareSendStopped;
181@end
182
183
188@interface ZMVideoSDKShareAudioSender : NSObject
198- (ZMVideoSDKErrors)sendShareAudio:(char * _Nullable)data dataLength:(unsigned int)length sampleRate:(int)rate audioChannel:(ZMVideoSDKAudioChannel)channel;
199@end
200
201
206@protocol ZMVideoSDKShareAudioSource <NSObject>
207
212- (void)onStartSendAudio:(ZMVideoSDKShareAudioSender * _Nonnull)sender;
213
217- (void)onStopSendAudio;
218@end
219
220
225@interface ZMVideoSDKShareOption : NSObject
229@property (nonatomic, assign, readwrite) BOOL isWithDeviceAudio;
230
234@property (nonatomic, assign, readwrite) BOOL isOptimizeForSharedVideo;
235
236@end
237
238
243@interface ZMVideoSDKShareHelper : NSObject
244
252- (ZMVideoSDKErrors)startShareView:(CGWindowID)windowID shareOption:(ZMVideoSDKShareOption* _Nullable)option;
253
261- (ZMVideoSDKErrors)startShareApplication:(pid_t)processID shareOption:(ZMVideoSDKShareOption* _Nullable)option;
262
268- (BOOL)isShareViewValid:(CGWindowID)windowID;
269
276- (ZMVideoSDKErrors)startShareScreen:(CGDirectDisplayID)monitorID shareOption:(ZMVideoSDKShareOption* _Nullable)option;
277
284- (ZMVideoSDKErrors)startShareMultiScreen:(NSArray <NSNumber *>*)monitorIDs shareOption:(ZMVideoSDKShareOption* _Nullable)option;
285
290- (ZMVideoSDKErrors)startShareComputerAudio;
291
296- (ZMVideoSDKErrors)stopShare;
297
302- (ZMVideoSDKErrors)pauseShare;
303
308- (ZMVideoSDKErrors)resumeShare;
309
314- (BOOL)isSharingOut;
315
320- (BOOL)isScreenSharingOut;
321
326- (BOOL)isOtherSharing;
327
333- (ZMVideoSDKErrors)lockShare:(BOOL)lock;
334
339- (BOOL)isShareLocked;
340
347- (ZMVideoSDKErrors)enableMultiShare:(BOOL)enable;
348
353- (BOOL)isMultiShareEnabled;
354
360- (ZMVideoSDKErrors)enableShareDeviceAudio:(BOOL)enable;
361
366- (BOOL)isShareDeviceAudioEnabled;
367
373- (ZMVideoSDKErrors)enableOptimizeForSharedVideo:(BOOL)enable;
374
379- (BOOL)isOptimizeForSharedVideoEnabled;
380
387- (ZMVideoSDKErrors)startShare2ndCamera:(NSString* _Nullable)cameraID;
388
395- (ZMVideoSDKErrors)subscribeMyShareCamera:(id<ZMVideoSDKRawDataPipeDelegate> _Nonnull)dataHandler DEPRECATED_MSG_ATTRIBUTE("Use [ZMVideoSDKRawDataPipe subscribe: listener:] instead");
396
402- (ZMVideoSDKErrors)unSubscribeMyShareCamera DEPRECATED_MSG_ATTRIBUTE("Use [ZMVideoSDKRawDataPipe: unSubscribe:] instead");
403
412- (ZMVideoSDKErrors)startSharingExternalSource:(id<ZMVideoSDKShareSource> _Nonnull)shareSource audioSource:(id<ZMVideoSDKShareAudioSource> _Nullable)audioSource DEPRECATED_MSG_ATTRIBUTE("Use -startSharingExternalSource: audioSource: isPlaying: instead");
413
422- (ZMVideoSDKErrors)startSharingExternalSource:(id<ZMVideoSDKShareSource> _Nonnull)shareSource audioSource:(id<ZMVideoSDKShareAudioSource> _Nullable)audioSource isPlaying:(BOOL)isPlaying;
429- (ZMVideoSDKErrors)startSharePureAudioSource:(id<ZMVideoSDKShareAudioSource> _Nonnull)audioSource DEPRECATED_MSG_ATTRIBUTE("Use -startSharePureAudioSource: isPlaying: instead");
430
437- (ZMVideoSDKErrors)startSharePureAudioSource:(id<ZMVideoSDKShareAudioSource> _Nonnull)audioSource isPlaying:(BOOL)isPlaying;
438
443- (BOOL)isAnnotationFeatureSupport;
444
451- (ZMVideoSDKErrors)disableViewerAnnotation:(BOOL)disable;
452
458- (BOOL)isViewerAnnotationDisabled;
459
467- (ZMVideoSDKAnnotationHelper* _Nullable)createAnnotationHelper:(NSView* _Nullable)view;
468
474- (ZMVideoSDKErrors)destroyAnnotationHelper:(ZMVideoSDKAnnotationHelper* _Nonnull)helper;
475
485- (ZMVideoSDKErrors)setAnnotationVanishingToolTime:(unsigned int)displayTime vanishingTime:(unsigned int)vanishingTime;
486
494- (ZMVideoSDKErrors)getAnnotationVanishingToolTime:(unsigned int*)displayTime vanishingTime:(unsigned int*)vanishingTime;
495
501- (ZMVideoSDKErrors)enablePlaySharingAudioRawdata:(BOOL)bPlay;
502
509- (ZMVideoSDKErrors)startShareWithPreprocessing:(ZMVideoSDKSharePreprocessParam* _Nonnull)param sharePreprocessor:(id<ZMVideoSDKSharePreprocessor> _Nonnull)preprocessor;
510
515- (ZMVideoSDKWhiteboardHelper* _Nullable)getWhiteboardHelper;
516@end
517NS_ASSUME_NONNULL_END
ZMVideoSDKSharePreprocessType
Enumeration of share preprocess types.
ZMVideoSDKSubscribeFailReason
Enumerates the reasons for a failed video subscription attempt.
ZMVideoSDKShareCapturePauseReason
Enumeration of reasons why screen sharing capture is paused in the Zoom Video SDK.
ZMVideoSDKAudioChannel
Enumeration of audio channel types.
ZMVideoSDKShareType
Enumerates the types of content that can be shared in a session.
ZMVideoSDKErrors
Enumerates all errors in the VideoSDK.
ZMVideoSDKFrameDataFormat
Enumeration of raw data formats. Defines the color space format and color range for video frames.
ZMVideoSDKShareStatus
Enumerates the status of sharing.
Annotation helper interface for Zoom Video SDK.
Video/share raw data pipe interface.
Helper class to manage sending, approving, or canceling remote control requests in a session.
Represents the state and control interfaces of a share action in a Zoom session.
Interface to send share audio raw data.
Main helper class managing sharing.
Configuration options for sharing.
Parameters for share preprocessing including the type and screen/window identifiers.
CGWindowID windowID
The window handle that to share and pre-process.
CGDirectDisplayID monitorID
The screen id that to share and pre-process.
pid_t processID
The application process id that to share and pre-process.
ZMVideoSDKSharePreprocessType type
The share pre-process type.
Interface to send preprocessed YUV raw data frames back to the SDK.
Interface to send video share frame data.
Zoom Video SDK user information.
Manages the rendering of video or screen share content in the Zoom Video SDK.
Helper class for managing whiteboard functionality in Zoom Video SDK sessions.
YUV raw data 420 infomation interface.