Original publication date: January 27, 2022
Added
New interfaces and callbacks to support cloud recording:
New interfaces in ZMVideoSDKRecordingHelper.h
:
-(ZMVideoSDKErrors)canStartRecording; -(ZMVideoSDKErrors)startCloudRecording; -(ZMVideoSDKErrors)stopCloudRecording; -(ZMVideoSDKErrors)pauseCloudRecording; -(ZMVideoSDKErrors)resumeCloudRecording; -(ZMVideoSDKErrors)getCloudRecordingStatus:(ZMRecordingStatus*)recordStatus;
New callback in ZMVideoSDKDelegate
:
- (void)onCloudRecordingStatus:(ZMRecordingStatus)status;
New status in ZMRecordingStatus
:
ZMRecording_Start ZMRecording_Stop ZMRecording_DiskFull ZMRecording_Pause
New interface in ZMVideoSDK
:
- (ZMVideoSDKRecordingHelper*)getRecordingHelper;
New interfaces and callbacks to support the command channel:
New interface in ZMVideoSDKCmdChannel.h
:
- (ZMVideoSDKErrors)sendCommand:(NSString*)commandContent receiveUser:(nullable ZMVideoSDKUser *)user
New callbacks in ZMVideoSDKDelegate
:
- (void)onCommandReceived:(NSString*)commandContent senderUser:(ZMVideoSDKUser*)user; - (void)onCommandChannelConnectResult:(BOOL)isSuccess;
New interface in ZMVideoSDK
:
- (ZMVideoSDKCmdChannel*)getCmdChannel;
New interface to support sharing a second camera:
New interface in ZMVideoSDKShareHelper
:
- (ZMVideoSDKErrors)startShare2ndCamera:(NSString*)cameraID; - (ZMVideoSDKErrors)subscribeMyShareCamera:(id<ZMVideoSDKRawDataPipeDelegate>)dataHandler; - (ZMVideoSDKErrors)unSubscribeMyShareCamera;
New interfaces and callbacks to support remote control camera:
New interface in ZMVideoSDKCameraControlRequestHandler
:
-(ZMVideoSDKErrors)approve; -(ZMVideoSDKErrors)decline;
New interface in ZMVideoSDKRemoteCameraControlHelper
:
-(ZMVideoSDKErrors)requestControlRemoteCamera -(ZMVideoSDKErrors)giveUpControlRemoteCamera; -(ZMVideoSDKErrors)turnLeft:(unsigned int)range; -(ZMVideoSDKErrors)turnRight:(unsigned int)range; -(ZMVideoSDKErrors)turnUp:(unsigned int)range; -(ZMVideoSDKErrors)turnDown:(unsigned int)range; -(ZMVideoSDKErrors)zoomIn:(unsigned int)range; -(ZMVideoSDKErrors)zoomOut:(unsigned int)range;
New interface in ZMVideoSDKUser
:
- (ZMVideoSDKRemoteCameraControlHelper *)getRemoteCameraControlHelper;
New interface in ZMVideoSDKVideoHelper.h
:
-(ZMVideoSDKErrors)canControlCamera:(BOOL *)canControl; -(ZMVideoSDKErrors)turnCameraLeft:(unsigned int)range; -(ZMVideoSDKErrors)turnCameraRight:(unsigned int)range; -(ZMVideoSDKErrors)turnCameraUp:(unsigned int)range; -(ZMVideoSDKErrors)turnCameraDown:(unsigned int)range; -(ZMVideoSDKErrors)zoomCameraIn:(unsigned int)range; -(ZMVideoSDKErrors)zoomCameraOut:(unsigned int)range;
New callbacks in ZMVideoSDKDelegate
:
- (void)onCameraControlRequestResult:(ZMVideoSDKUser*)user approved:(BOOL)isApproved; - (void)onCameraControlRequestReceived:(ZMVideoSDKUser*)user cameraControlRequestType:(ZMVideoSDKCameraControlRequestType)requestType requestHandler:(ZMVideoSDKCameraControlRequestHandler*)cameraControlRequestHandler;
New status in ZMVideoSDKCameraControlRequestType
:
ZMVideoSDKCameraControlRequestType_RequestControl ZMVideoSDKCameraControlRequestType_GiveUpControl
New interface to support customized close times when a session is idle:
New interface in ZMVideoSDKSessionContext
:
@property (nonatomic, assign, readwrite) unsigned int sessionIdleTimeoutMins;
New callbacks when the host asks you to unmute in ZMVideoSDKDelegate
:
- (void)onHostAskUnmute;
Enhancements
-
Improved role management. All users now require a defined
role_type
:-
role_type=1
— The user is the host. Only one user should have this role. If they leave the session and rejoin, they will regain host privileges. -
role_type=0
— The user is an attendee. Other users should be assigned to this role.
-
-
The
user_identity
field is now optional. -
Updated API documentation.
Fixed
-
Issue where you cannot automatically “Page Up” when the last page only displays one participant and the participant leaves in the demo.
-
Typo in the sample app.
-
Bug when joining a livestream session and cannot start video.
-
Issue where live streaming failed to start.