Added

  1. Virtual audio mic to allow sending raw audio into a session. The interfaces for this are located in ZoomVideoSDK.h, ZoomVideoSDKDelegate.h and ZoomVideoSDKAudioSender.h:

@property (nonatomic, assign) id<ZoomVideoSDKVirtualAudioMic> _Nullable virtualAudioMicDelegate;
@protocol ZoomVideoSDKVirtualAudioMic <NSObject>
@optional
- (void)onMicInitialize:(ZoomVideoSDKAudioSender *_Nonnull)rawDataSender;
- (void)onMicStartSend;
- (void)onMicStopSend;
- (void)onMicUninitialized;
@end
- (ZoomVideoSDKERROR)send:(char *)data dataLength:(NSUInteger)dataLength sampleRate:(NSUInteger)sampleRate;
  1. Virtual audio speaker to allow listening to audio sent from a virtual audio mic. The interfaces for this are located in ZoomVideoSDK.h, ZoomVideoSDKAudioSender.h and ZoomVideoSDKDelegate.h:

@property (nonatomic, assign) id<ZoomVideoSDKVirtualAudioSpeaker> _Nullable virtualAudioSpeakerDelegate;
@protocol ZoomVideoSDKVirtualAudioSpeaker <NSObject>
@optional
-(void)onVirtualSpeakerMixedAudioReceived:(ZoomVideoSDKAudioRawData*)rawData;
-(void)onVirtualSpeakerOneWayAudioReceived:(ZoomVideoSDKAudioRawData*)rawData user:(ZoomVideoSDKUser *)user;
-(void)onVirtualSpeakerSharedAudioReceived:(ZoomVideoSDKAudioRawData*)rawData;
@end
  1. Ability to share device audio when sharing the screen. The interfaces for this are located in ZoomVideoSDKScreenShareService.h and ZoomVideoSDKShareHelper.h:

@property (nonatomic, assign) BOOL isWithDeviceAudio;
- (BOOL)isScreenSharingOut;
- (BOOL)isShareDeviceAudioEnabled;
- (BOOL)enableShareDeviceAudio:(BOOL)enable;
  1. Callback to receive audio sent during a screenshare:

- (void)onSharedAudioRawDataReceived:(ZoomVideoSDKAudioRawData *)rawData;
  1. A new interface to get a list of all users who are not the current local user:

- (NSArray <ZoomVideoSDKUser*>* _Nullable)getRemoteUsers;
  1. A new delegate for listening to external video source events:

@property (nonatomic, assign) id<ZoomVideoSDKVideoSource> _Nullable externalVideoSourceDelegate;
  1. The following errors:

Errors_Session_Audio_No_Microphone,
Errors_Preprocess_Rawdata_Error,
Errors_Rawdata_No_Device_Running,
Errors_Rawdata_Init_Device,
Errors_Rawdata_Virtual_Device,
Errors_Rawdata_Cannot_Change_Virtual_Device_In_Preview,
Errors_Rawdata_Internal_Error,
Errors_Rawdata_Send_Too_Much_Data_In_Single_Time,
Errors_Rawdata_Send_Too_Frequently,
Errors_Rawdata_Virtual_Mic_Is_Terminate,
Errors_meeting_Share_Error = 7001,
Errors_meeting_Share_Module_Not_Ready,
Errors_meeting_Share_You_Are_Not_Sharing,
Errors_meeting_Share_Type_Is_Not_Support,
Errors_meeting_Share_Internal_Error

Changed & Fixed

  1. Fixed bug with Zoom canvas rotation error after mute/unmute video.

  2. Fixed bugs in build errors when using Swift.

  3. Changed frameworks from fat frameworks to XCFrameworks (ZoomVideoSDK.xcframework and ZoomVideoSDKScreenShare.xcframework). XCFrameworks can be run on both simulator and device.

  4. Updated ZoomVideoSDKError enumeration values:

Errors_Malloc_Failed = 6001
Errors_Not_In_Session
  1. Changed SDK name from ZoomInstantSDK to ZoomVideoSDK.

  2. Modified ZoomVideoSDKScreenShareService initialize method. You only need to call the SDK interface to initialize:

- (instancetype _Nonnull)initWithParams:(ZoomVideoSDKScreenShareServiceInitParams *_Nonnull)params;)
  1. Changed - OpenSSL upgraded to 1.1.1k.

Removed

  1. - (NSUInteger)getUserId;

  2. - (NSArray <ZoomVideoSDKUser*>* _Nullable)getAllUsers;

  3. - (ZoomInstantSDKUser * _Nullable)getUser:(NSString *_Nonnull)userId;

Warnings

  1. If using the virtual speaker, screen share will only share video data and will not share the audio data.

  2. After receiving the SDK audio raw data, it is not recommended to perform heavy tasks in the callback thread.