## Added

  • New interfaces and callback to support multiple cameras (Up to 3).

    • New interfaces in ZMVideoSDKVideoHelper

      -(BOOL)enableMultiStreamVideo:(NSString *)cameraDeviceID;
      -(BOOL)disableMultiStreamVideo:(NSString *)cameraDeviceID;
  • New interface in ZMVideoSDKUser:

    - (NSArray<ZMVideoSDKRawDataPipe*>*)getMultiCameraStreamList;
  • New interfaces in ZMVideoSDKCameraDevice

    @property (nonatomic, assign, readonly) BOOL isSelectedAsMultiCamera;
    @property (nonatomic, assign, readonly) BOOL isRunningAsMultiCamera;
  • New interfaces in ZMVideoSDKRawDataPipe

    - (ZMVideoSDKRawDataType)getRawdataType;
    - (ZMVideoSDKVideoStatus*)getVideoStatus;
    - (ZMVideoSDKShareStatus)getShareStatus;
  • New enum named ZMVideoSDKMultiCameraStreamStatus:

    ZMVideoSDKMultiCameraStreamStatus_JoinStart,
    ZMVideoSDKMultiCameraStreamStatus_JoinFail,
    ZMVideoSDKMultiCameraStreamStatus_Joined,
    ZMVideoSDKMultiCameraStreamStatus_Left,
  • New callback in ZMVideoSDKDelegate:

    - (void)onMultiCameraStreamStatusChanged:(ZMVideoSDKMultiCameraStreamStatus)status user:(ZMVideoSDKUser*)user rawDataPipe:(ZMVideoSDKRawDataPipe *)videoPipe;
  • The interfaces defined in ZMVideoSDKUser below is marked as deprecated:

    - (ZMVideoSDKVideoStatus*)getVideoStatus;
    - (ZMVideoSDKShareStatus)getShareStatus;
  • Add New Enum Values to Enum named ZMVideoSDKErrors in ZMVideoSDKDef.h:

    ZMVideoSDKErrors_Dont_Support_Multi_Stream_Video_User,
  • New interfaces allow access to video preview outside of a session.

    • New interfaces in ZMVideoSDKVideoHelper.h:

      - (ZMVideoSDKErrors)startVideoPreview:(id<ZMVideoSDKRawDataPipeDelegate>)listener deviceID:(NSString*)cameraDeviceID;
      - (ZMVideoSDKErrors)stopVideoPreview:(id<ZMVideoSDKRawDataPipeDelegate>)listener;
  • New interfaces and callback to support audio test before joining a session.

    • New interface class named ZMVideoSDKAudioDeviceTestHelper defined in ZMVideoSDKAudioSettingHelper.h:

      -(ZMVideoSDKErrors)startMicTestRecording:(NSString *)deviceID;
      -(ZMVideoSDKErrors)stopMicTestRecording;
      -(ZMVideoSDKErrors)playMicTestRecording;
      -(ZMVideoSDKErrors)startSpeakerTest:(NSString *)deviceID;
      -(ZMVideoSDKErrors)stopSpeakerTest;
      -(ZMVideoSDKErrors)setTimerInterval:(unsigned int)timerInterval;
  • New interface in ZMVideoSDK

    - (ZMVideoSDKAudioDeviceTestHelper*)getAudioDeviceTestHelper;
  • New callbacks in ZMVideoSDKDelegate:

    - (void)onMicSpeakerVolumeChanged:(unsigned int)micVolume speakerVolume:(unsigned int)speakerVolume;
    - (void)onAudioDeviceStatusChanged:(ZMVideoSDKAudioDeviceType)type status:(ZMVideoSDKAudioDeviceStatus)status;
    - (void)onTestMicStatusChanged:(ZMVideoSDKMicTestStatus)status;
    - (void)onSelectedAudioDeviceChanged;
  • New enum named ZMVideoSDKMicTestStatus:

    ZMVideoSDKMicTestStatus_CanTest,
    ZMVideoSDKMicTestStatus_Recording,
    ZMVideoSDKMicTestStatus_CanPlay,
  • New enum named ZMVideoSDKAudioDeviceType:

    ZMVideoSDKAudioDeviceType_Microphone,
    ZMVideoSDKAudioDeviceType_Speaker,
  • New enum named ZMVideoSDKAudioDeviceStatus:

    ZMVideoSDKAudioDeviceStatus_Device_Error_Unknow,
    ZMVideoSDKAudioDeviceStatus_No_Device,
    ZMVideoSDKAudioDeviceStatus_Device_List_Update,
    ZMVideoSDKAudioDeviceStatus_Audio_No_Input,
    ZMVideoSDKAudioDeviceStatus_Audio_Disconnect_As_Detected_Echo,
  • Add New Enum Values to Enum named ZMVideoSDKErrors in ZMVideoSDKDef.h:

    ZMVideoSDKErrors_Meeting_Audio_No_Speaker,
    ZMVideoSDKErrors_Meeting_Phone_Error = 5500,
    ZMVideoSDKErrors_Fail_Assign_User_Privilege,
    ZMVideoSDKErrors_No_Recording_In_Process

Fixed

  • Issue where the JWT token was not parsed correctly.

  • Issue where calling the cleanUpSDK interface caused a crash.

  • Issue where the enableStereoAudio was available before the enableMicOriginalInput interface was invoked.

  • Issue where the co-host was not able to start a share when the share was locked.