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
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;
30@end
31
32
43-(ZMVideoSDKErrors)sendPreprocessedData:(ZMVideoSDKYUVRawDataI420*)rawdata;
44@end
45
46
51@protocol ZMVideoSDKSharePreprocessor <NSObject>
57-(void)onCapturedRawDataReceived:(ZMVideoSDKYUVRawDataI420*)rawdata sharePreprocessSender:(ZMVideoSDKSharePreprocessSender * _Nonnull)sender;
58
62-(void)onShareStopped;
63@end
64
65
70@interface ZMVideoSDKShareAction : NSObject
74@property (nonatomic, assign, readonly) unsigned int shareSourceId;
78@property (nonatomic, assign, readonly) ZMVideoSDKShareStatus shareStatus;
82@property (nonatomic, assign, readonly) ZMVideoSDKShareType shareType;
86@property (nonatomic, assign, readonly) ZMVideoSDKSubscribeFailReason subscribeFailReason;
90@property (nonatomic, assign, readonly) BOOL isAnnotationPrivilegeEnabled;
91
96- (NSSize)getShareSourceContentSize;
97
102- (ZMVideoSDKRawDataPipe* _Nullable)getSharePipe;
103
108- (ZMVideoSDKVideoCanvas* _Nullable)getShareCanvas;
109
114- (ZMVideoSDKRemoteControlHelper* _Nullable)getRemoteControlHelper;
115
120- (NSArray<ZMVideoSDKUser *>* _Nullable)getRemoteControlApprovedUserList;
121
126- (ZMVideoSDKErrors)revokeRemoteControl;
127
132- (ZMVideoSDKUser * _Nullable)getCurrentRemoteController;
133
134@end
135
136
137
142@interface ZMVideoSDKShareSender : NSObject
143
153- (ZMVideoSDKErrors)sendShareFrame:(char* _Nullable)frameBuffer width:(int)width height:(int)height frameLength:(int)frameLength format:(ZMVideoSDKFrameDataFormat)format;
154@end
155
156
161@protocol ZMVideoSDKShareSource <NSObject>
166- (void)onShareSendStarted:(ZMVideoSDKShareSender* _Nonnull)sender;
170- (void)onShareSendStopped;
171@end
172
173
178@interface ZMVideoSDKShareAudioSender : NSObject
188- (ZMVideoSDKErrors)sendShareAudio:(char * _Nullable)data dataLength:(unsigned int)length sampleRate:(int)rate audioChannel:(ZMVideoSDKAudioChannel)channel;
189@end
190
191
196@protocol ZMVideoSDKShareAudioSource <NSObject>
197
202- (void)onStartSendAudio:(ZMVideoSDKShareAudioSender * _Nonnull)sender;
203
207- (void)onStopSendAudio;
208@end
209
210
215@interface ZMVideoSDKShareOption : NSObject
219@property (nonatomic, assign, readwrite) BOOL isWithDeviceAudio;
220
224@property (nonatomic, assign, readwrite) BOOL isOptimizeForSharedVideo;
225
226@end
227
228
233@interface ZMVideoSDKShareHelper : NSObject
234
242- (ZMVideoSDKErrors)startShareView:(CGWindowID)windowID shareOption:(ZMVideoSDKShareOption* _Nullable)option;
243
248- (BOOL)isShareViewValid:(CGWindowID)windowID;
249
256- (ZMVideoSDKErrors)startShareScreen:(CGDirectDisplayID)monitorID shareOption:(ZMVideoSDKShareOption* _Nullable)option;
257
264- (ZMVideoSDKErrors)startShareMultiScreen:(NSArray <NSNumber *>*)monitorIDs shareOption:(ZMVideoSDKShareOption* _Nullable)option;
265
270- (ZMVideoSDKErrors)startShareComputerAudio;
271
276- (ZMVideoSDKErrors)stopShare;
277
282- (ZMVideoSDKErrors)pauseShare;
283
288- (ZMVideoSDKErrors)resumeShare;
289
294- (BOOL)isSharingOut;
295
300- (BOOL)isScreenSharingOut;
301
306- (BOOL)isOtherSharing;
307
313- (ZMVideoSDKErrors)lockShare:(BOOL)lock;
314
319- (BOOL)isShareLocked;
320
327- (ZMVideoSDKErrors)enableMultiShare:(BOOL)enable;
328
333- (BOOL)isMultiShareEnabled;
334
340- (ZMVideoSDKErrors)enableShareDeviceAudio:(BOOL)enable;
341
346- (BOOL)isShareDeviceAudioEnabled;
347
353- (ZMVideoSDKErrors)enableOptimizeForSharedVideo:(BOOL)enable;
354
359- (BOOL)isOptimizeForSharedVideoEnabled;
360
367- (ZMVideoSDKErrors)startShare2ndCamera:(NSString* _Nullable)cameraID;
368
375- (ZMVideoSDKErrors)subscribeMyShareCamera:(id<ZMVideoSDKRawDataPipeDelegate> _Nonnull)dataHandler DEPRECATED_MSG_ATTRIBUTE("Use [ZMVideoSDKRawDataPipe subscribe: listener:] instead");
376
382- (ZMVideoSDKErrors)unSubscribeMyShareCamera DEPRECATED_MSG_ATTRIBUTE("Use [ZMVideoSDKRawDataPipe: unSubscribe:] instead");
383
392- (ZMVideoSDKErrors)startSharingExternalSource:(id<ZMVideoSDKShareSource> _Nonnull)shareSource audioSource:(id<ZMVideoSDKShareAudioSource> _Nullable)audioSource DEPRECATED_MSG_ATTRIBUTE("Use -startSharingExternalSource: audioSource: isPlaying: instead");
393
402- (ZMVideoSDKErrors)startSharingExternalSource:(id<ZMVideoSDKShareSource> _Nonnull)shareSource audioSource:(id<ZMVideoSDKShareAudioSource> _Nullable)audioSource isPlaying:(BOOL)isPlaying;
409- (ZMVideoSDKErrors)startSharePureAudioSource:(id<ZMVideoSDKShareAudioSource> _Nonnull)audioSource DEPRECATED_MSG_ATTRIBUTE("Use -startSharePureAudioSource: isPlaying: instead");
410
417- (ZMVideoSDKErrors)startSharePureAudioSource:(id<ZMVideoSDKShareAudioSource> _Nonnull)audioSource isPlaying:(BOOL)isPlaying;
418
423- (BOOL)isAnnotationFeatureSupport;
424
431- (ZMVideoSDKErrors)disableViewerAnnotation:(BOOL)disable;
432
438- (BOOL)isViewerAnnotationDisabled;
439
447- (ZMVideoSDKAnnotationHelper* _Nullable)createAnnotationHelper:(NSView* _Nullable)view;
448
454- (ZMVideoSDKErrors)destroyAnnotationHelper:(ZMVideoSDKAnnotationHelper* _Nonnull)helper;
455
461- (ZMVideoSDKErrors)enablePlaySharingAudioRawdata:(BOOL)bPlay;
462
469- (ZMVideoSDKErrors)startShareWithPreprocessing:(ZMVideoSDKSharePreprocessParam* _Nonnull)param sharePreprocessor:(id<ZMVideoSDKSharePreprocessor> _Nonnull)preprocessor;
470@end
471NS_ASSUME_NONNULL_END
ZMVideoSDKSharePreprocessType
Enumeration of share preprocess types.
ZMVideoSDKSubscribeFailReason
Enumerates the reasons for a failed video subscription attempt.
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.
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.
YUV raw data 420 infomation interface.