Changelog
Voximplant Android SDK changelog
2.41.0
Introduce Node.NODE_11
The following APIs now throw IllegalArgumentException if a camera with the specified index does not exist on a device:
ICameraManager.setCamera and ICameraManager.setCamera APIs allow to select a camera with unspecified facing mode
Remove the limitation on switching a camera by name to another camera with the same facing mode
2.40.1
Update R8/Proguard rules for WebRTC java package changes
Update R8/Proguard rules for Gson dependencies
Fix: calling ICall.answer API sequentially for the same ICall instance causes ICallListener.onCallFailed event
2.40.0
Remove deprecated API:
- IClient.connect()
- IClient.connect(boolean, List
)
Resolve build issues for the projects where several instances of WebRTC library are used (from different providers). WebRTC java package is changed from org.webrtc to com.voximplant.webrtc. This change affects the following API:
Update the SDK compileSdkVersion to 34
2.39.0
Introduce Node enum. Find more information about Node in the getting started guide.
Introduce new APIs to connect to the Voximplant Cloud:
The following APIs are marked as deprecated and will be removed soon:
- IClient.connect()
- IClient.connect(boolean, List
)
2.38.2
Fix: 2.38.0 and 2.38.1 versions miss API to handle video receive stop on a remote video stream and its reason
2.38.1
Fix: crash while connecting to a Bluetooth device
Extend built-in ProGuard rules with gson dependency rules
Update SDK dependencies:
- gson version: 2.10.1
2.38.0
The minimum Android SDK version is changed from 16 to 21
New dependency: ReLinker 1.4.5
Update SDK dependencies:
- OkHttp version: 3.14.9
- androidx annotations: 1.7.0
Update native webrtc libraries to m112 version
Voximplant.getClientInstance now throws ClientException if it has failed to load the native library required for the SDK functionality
2.37.0
Gradle 8 is used to build the SDK
Introduce new API to handle video receive stop on a remote video stream and its reason (see 2.37.0-beta changelog)
2.37.0-beta
This is a beta SDK version. Not recommended for production use.
Signature for IRemoteVideoStream.startReceiving and IRemoteVideoStream.stopReceiving API is changed. The result of the API call is now provided via events:
Introduce new API to handle video receive stop on a remote video stream:
Introduce new API VideoStreamReceiveStopReason to handle the reason for video receive stop on a remote video stream.
2.35.4
Update native webrtc libraries (m106) to support data channels
2.35.3
Behavior change: ICallListener.onCallRinging event is invoked only if the callee received the incoming call.
Bugfix and stability improvements.
2.35.2
Fix: crash while establishing calls on Android versions below 21
Fix: ICall.getCallDuration API sometimes returns the current timestamp when the call is disconnected
2.35.1
Fix: IClient.connect API does not provide the result via IClientSessionListener
2.35.0
Introduce new API IAudioDeviceManager.setTelecomConnection to improve audio routing management if an application uses a self-managed ConnectionService.
2.34.0
Update native webrtc libraries to m106 version
Update SDK dependencies:
- Gson version: 2.10
- androidx annotations: 1.5.0
2.33.1
Update the SDK compileSdkVersion and targetSdkVersion to 31
Fix: IEndpointListener.onEndpointInfoUpdated is invoked in conference calls without the endpoint info changes
Add BLUETOOTH_CONNECT permission to AndroidManifest file required for Android 12 or higher. See IAudioDeviceManager documentation for the behavior changes.
Voximplant.getMissingPermissions API now checks BLUETOOTH_CONNECT permission for Android 12 or higher.
Fix: on Android 12 or higher, Bluetooth devices can be monitored and used for calls if BLUETOOTH_CONNECT permission is granted before a call
2.33.0
Improve the connection stability with the Voximplant Cloud
Update the SDK compileSdkVersion and targetSdkVersion to 30
Introduce InboundVideoStats.fps API
2.32.5
Fix: IClient.connect API does not provide the result via IClientSessionListener
2.32.4
Bugfix and stability improvements
2.32.3
Introduce ClientConfig.forceRelayTraffic to force the media go through TURN servers
2.32.2
Fix: IllegalStateException “Wrong thread” on camera stop
2.32.1
Improve stability of media connectivity within a call
2.32.0
Introduce ICameraEventsListener.onCameraOpened and ICameraEventsListener.onCameraClosed API
2.31.1
Fix: ICallListener.onEndpointAdded or IEndpointListener.onEndpointRemoved events are not invoked if an endpoint has joined or left a conference call while the client was reconnecting due to a network issue
Bugfix and stability improvements
2.31.0
Introduce new API: ICall.isAudioSending to check if audio send is enabled in a call
Fix: IEndpointListener.onRemoteVideoStreamAdded is not invoked if an endpoint started sending video while the client was reconnecting due to a network issue
Bugfix and stability improvements
2.30.1
Fix: Login to the Voximplant Cloud is failed with LoginError.TIMEOUT if Proguard is enabled in an application project
Fix: Reconnect process to the Voximplant Cloud may stuck during a call without notifying about its success via IClientSessionListener.onReconnected or its failure via IClientSessionListener.onConnectionClosed
2.30.0
Introduce new APIs to select a camera by a camera name:
Fix: Video call is failed if a device does not have a selected camera type (front or back facing)
Fix: Failed to start a new call or conference call if a previous call was ended while reconnecting to the Voximplant Cloud
Bugfix and stability improvements
2.29.1
Fix: IClient.connect hangs and does not return the result via IClientSessionListener API
Fix: ICallListener.onCallStatsReceived event is not invoked after a call is connected
Bugfix and stability improvements
2.29.0
Introduce new APIs to restore the connection to the Voximplant Cloud if it was closed due to network issues during a call:
- IClientSessionListener.onReconnecting - notifies that the connection to the Voximplant Cloud is lost and the client is reconnecting
- IClientSessionListener.onReconnected - notifies that the connection to the Voximplant Cloud is restored
- ClientState.RECONNECTING - client state representing that the client is reconnecting to the Voximplant Cloud
- ICallListener.onCallReconnecting - notifies that the SDK is reconnecting to the Voximplant Cloud and media streams may not be active
- ICallListener.onCallReconnected - notifies that the SDK is successfully reconnected to the Voximplant Cloud and media streams are restored
- CallError.RECONNECTING - call error that informs that a call operation cannot be completed while a call is reconnecting
Fix: IAudioFile is not played again after being stopped
Fix: IAudioFile can be started several times while being already playing
Fix: IConversation.retransmitEvents, IConversation.retransmitEventsFrom, IConversation.retransmitEventsTo may fail with two separate IErrorEvent with codes 10002 and 10004 if there are no events to be retrasmitted. Now if retransmit events count is 0, these APIs succeed and return empty list of IMessengerEvent
Bugfix and stability improvements
2.28.1
Improve stability of media connectivity within a call
2.28.0
Fix: ICustomVideoSource.release causes a crash if the custom video source is already released
Introduce IEndpointListener.onVoiceActivityStarted and IEndpointListener.onVoiceActivityStopped API to handle voice activity of an endpoint in a conference call
Changes in Voximplant SDK aar structure, remove empty "abi_name" folders in the aar root
2.27.0
Update native webrtc libraries to m93 version
Improve media connectivity in p2p mode
Fix: crash on start playing an audio file
2.26.0
Introduce InboundAudioStats.audioLevel API that represents the audio audioLevel of a remote audio stream in a call.
Introduce ICameraManager.useOrientationEventListener API to switches the device orientation detection from Display rotation to OrientationEventListener API
Fix: ClientConfig.statsCollectionInterval is not applied correctly if the provided value is not multiple of 500.
Bugfix and stability improvements
2.25.2
Fix for a crash on setting the display orientation for the camera (affected android devices that do not support Camera2 API)
2.25.1
Fix: False positive detection of QualityIssue.ICE_DISCONNECTED when a participant joins audio or video conference
Fix: IQualityIssueListener.onIceDisconnected is not invoked if ICE connection is failed due to network reasons
2.25.0
Introduce ClientConfig.enableVideoAdaptation API to specify if outgoing video should be adapted for cpu and network conditions.
Fix: IEndpoint.getUserName returns null for the endpoint in an incoming call
All methods of RendererEvents interface are default
Bugfix and stability improvements
2.24.1
Fix: ILocalVideoStream.addVideoRenderer throws ClassCastException if the video renderer is not a SurfaceViewRenderer.
Known issues:
Simulcast feature is not available for incoming conference calls (received from IClientIncomingCallListener.onIncomingCall ). This functionality will be added in next releases.
It is not recommended to select a camera resolution higher than 1280x720 for simulcast video conference. Higher resolutions may cause hardware encoder errors and issues with sending video from an android device.
2.24.0
Introduce IRemoteVideoStream.getFrameWidth and IRemoteVideoStream.getFrameHeight API to access the frame size of a remote video stream.
Introduce new API to detect issues with audio or video receive on remote streams:
Deprecated QualityIssue.LOW_BANDWIDTH and IQualityIssueListener.onLowBandwidth API
Bugfix and stability improvements
Known issues:
Simulcast feature is not available for incoming conference calls (received from IClientIncomingCallListener.onIncomingCall ). This functionality will be added in next releases.
It is not recommended to select a camera resolution higher than 1280x720 for simulcast video conference. Higher resolutions may cause hardware encoder errors and issues with sending video from an android device.
2.23.1
Improve the stability of IAudioDeviceManager
Fix: not able to select AudioDevice.SPEAKER if both wired and Bluetooth headsets are connected
Known issues:
Simulcast feature is not available for incoming conference calls (received from IClientIncomingCallListener.onIncomingCall ). This functionality will be added in next releases.
It is not recommended to select a camera resolution higher than 1280x720 for simulcast video conference. Higher resolutions may cause hardware encoder errors and issues with sending video from an android device.
2.23.0
Introduce simulcast feature support for video conferences. Simulcast is currently disabled by default, but can be enabled via CallSettings.enableSimulcast parameter.
Introduce ILocalVideoStream and IRemoteVideoStream interfaces that extend IVideoStream interface and provide additional functionality. Please consider the changes in ICallListener and IEndpointListener API related to the video stream parameter type:
Introduce new APIs to control remote video streams in a video conference call:
Introduce VideoStreamLayerStats API to provide local video stream layers statistics.
ICall.hold is no more available for conference calls. It will fail with CallError.INCORRECT_OPERATION error.
Update native webrtc libraries to m89 version.
The SDK does not handle anymore UnsatisfiedLinkError on loading the native library. It will help to get more detailed error in this case.
Deprecated OutboundVideoStats.encoderBitrate
Bugfix and stability improvements.
Known issues:
Simulcast feature is not available for incoming conference calls (received from IClientIncomingCallListener.onIncomingCall ). This functionality will be added in next releases.
It is not recommended to select a camera resolution higher than 1280x720 for simulcast video conference. Higher resolutions may cause hardware encoder errors and issues with sending video from an android device.
2.22.0
Add support for H264 MediaTek hardware codec
Update SDK dependencies:
- OkHttp version: 3.12.13
- androidx annotations: 1.2.0
Introduce ClientConfig.useHmsForPushNotifications API to specify if Huawei Mobiles Services are used on the device
Added some missing nullability annotations
Bugfix and stability improvements
2.21.3
Fix: ICall.sendVideo, ICall.receiveVideo, ICall.hold are failed with CallError.TIMEOUT error if any of them were previously failed with CallError.REJECTED error.
Bugfix and stability improvements
2.21.2
Fix: crash on call statistics processing
2.21.1
Fix: ICustomVideoSource is released on ICall.sendVideo
Fix: ICustomVideoSourceListener.onStopped is called multiple times in some cases
Fix: ICustomVideoSourceListener methods are not called on the Executor provided in Voximplant.getClientInstance
2.21.0
Extend WebRTC API with ability to set a TextureFilter for video frames. Available only with ICustomVideoSource.setSurfaceTextureHelper
Add built-in ProGuard rules for Voximplant Android SDK.
Bugfix and stability improvements
2.20.4
Fix: IEndpointListener.onRemoteVideoStreamRemoved is invoked just after IEndpointListener.onRemoteVideoStreamAdded in a conference call in some cases.
ICall.sendVideo now behaves the same way for video conference and video call. The endpoints will receive IEndpointListener.onRemoteVideoStreamAdded or IEndpointListener.onRemoteVideoStreamRemoved events if the method call is completed successfully.
2.20.3
Fix: crash on camera switch on the devices with multiple back cameras
Add support for H264 hardware codec on Huawei smartphones
Update the SDK compileSdkVersion and targetSdkVersion to 29
Bugfix and stability improvements
2.20.2
Fix: IClient.disconnect may take some time on Android 4 devices.
2.20.1
Fix: ICall.sendVideo may fail with CallError.ALREADY_IN_THIS_STATE error
Bugfix and stability improvements
2.20.0
Introduce ICustomVideoSource.setSurfaceTextureHelper API to send video frames from a surface
Introduce LoginError.MAU_ACCESS_DENIED error code
Bugfix and stability improvements
2.19.0
Introduce IAudioFile API
Bugfix and stability improvements
2.18.0
Update SDK dependencies:
- OkHttp version: 3.12.11
- gson version: 2.8.6
AndroidX migration: 'support-annotations' dependency is replaced with 'androidx.annotation:annotation:1.1.0'
Introduce ICall.startScreenSharing API to share screen during a call
Introduce ICameraManager.enableCameraFlash API to control camera flash
Bugfix and stability improvements
2.17.1
Improve compatibility with Voximplant Web SDK for ICall.sendVideo API
2.17.0.1 (Experimental)
New dependency: ReLinker 1.4.1
New API (only this version): ClientConfig.useReLinker to load native library using ReLinker instead of standard system call.
2.17.0
Change API for push token (un)registration. It is now possible to get the result of push token (un)registration via IPushTokenCompletionHandler. Affects:
Add IEndpoint.getPlace API to get the position of the endpoint video stream in a video conference.
Fix: ICall.sendVideo did not enabled video in a video conference if video send was disabled on video conference creation.
2.16.1
Bugfix and stability improvements
2.16.0
Add ability to send video frames as RGB texture ID via ICustomVideoSource
Bugfix and stability improvements
2.15.1
Fix: preferred video codec is not selected if it was specified in ICall.answer
Bugfix and stability improvements
2.15.0
Remove deprecated properties:
- ClientConfig.enableHWAccelerationForEncoding
- ClientConfig.enableHWAccelerationForDecoding
- ClientConfig.provideLocalFramesInByteBuffers
Introduce ClientConfig.eglBase property that may be used to render video via third-party renderers
Fix: crash on getting multiple conversations via IMessenger.getConversations API
2.14.1
Fix: audio mode and focus are not abandoned after a call has ended
2.14.0
Legacy API removal. Please clean the project after updating to this version
2.13.0
Fix: build issue with Android Gradle plugin 3.5.0
Add new dependency: 'support-annotations'
2.12.3
Fix for crash while establishing the connection to the Voximplant Cloud with connectivity check option enabled
Update the SDK compileSdkVersion and targetSdkVersion to 28
2.12.2
Improve QualityIssue.PACKET_LOSS issue detection
Bugfix and stability improvements
2.12.1
Fix to enable video receive after answering a video call with audio only
2.12.0
ICall.start now throws CallException if the method is used to answer an incoming call
ICall.sendVideo API works properly in any combinations of the Android SDK versions, but it would not trigger the following events during calls between Voximplant Android SDK 2.12.0 (and higher) and Voximplant Android SDK 2.11.3 (and below). These events will be triggered only if the Android SDK version used is 2.12.0 and higher.
ICall.sendAudio now can enable/disable audio for a call before the call is connected
Remove the following deprecated APIs.
- ICall.answer(String, VideoFlags, Map)
- IClient.callTo(String, VideoFlags, String)
- IClient.callConference(String, VideoFlags, String)
- IAudioDeviceManager.enableLoudspeaker
All methods of ICallListener, IEndpointListener, IQualityIssueListener interfaces are default
Fix: ICallCompletionHandler methods were not invoked on the executor (specified on IClient creation) for Voximplant Android SDK events
Bugfix and stability improvements
2.11.3
Fix for crash on enabling video during a call if camera permission is not granted
2.11.2
Handle possible IllegalArgumentException from android media API while collecting information about supported hardware video codecs.
Fix for crash related to IClientSessionListener events occuring after the listener was removed
Bugfix and stability improvements
2.11.1
Handle possible SecurityException from android Bluetooth API on some devices
2.11.0
Introduce new call stats: CallStats.localCandidateType and CallStats.remoteCandidateType
Bugfix and stability improvements
2.10.0
Voximplant.getMessenger() now always returns IMessenger instance even if the client is not logged in
Small Messaging API refactoring: renaming of getters and setters.
Fix for IMessengerListener.onError() is not invoked sometimes
Update SDK dependency:
- OkHttp version: 3.12.1 (only for non-compat version)
Bugfix and stability improvements
2.9.0
New Messaging API
2.8.1
Fix for no media issues in some specific network conditions
Bugfix and stability improvements
2.8.0
Introduce IConversationEvent.getTimestamp() and IMessageEvent.getTimestamp()
Fix for QualityIssue.NO_AUDIO_SIGNAL issue detection
Fix for call total stats calculation
Fix for crash on establishing the connection with the Voximplant Cloud with connectivity check enabled
Remove MessengerError enum, messenger error code is now available via MessengerException.getErrorCode()
Update SDK dependencies:
- OkHttp version: 3.11.0 (only for non-compat version)
- gson version: 2.8.5
Faster connection establishment to the Voximplant Cloud
Bugfix and stability improvements
2.7.0
Introduce ClientConfig.requestAudioFocusMode option to specify when audio focus request should be performed by SDK.
2.6.1
IEndpointListener.onEndpointInfoUpdated is sometimes invoked when the endpoint information is not updated.
Stability improvements
2.6.0
Improve video call quality
Introduce IQualityIssueListener interface to monitor quality issues during a call
New API to start or answer a call: IClient.call, ICall.start and ICall.answer(CallSettings). The following APIs are deprecated and will be removed in the nearest future:
- IClient.callTo
- ICall.start(Map)
- ICall.answer(String, VideoFlags, Map)
Add ability to set preferred video codec for a particular call via CallSettings.preferredVideoCodec
New stats are available: CallStats.networkType, OutboundVideoStats.fps, OutboundVideoStats.targetBitrate, OutboundVideoStats.encoderBitrate.
Fix for crash on android tablets after disabling speakerphone via IAudioDeviceManager.enableLoudspeaker API
Stability improvements
2.5.4
Fix for Voximplant.getMessenger returns null after login with token or one time key
2.5.3
Fix for crash on call statistics collection
Fix for ICallListener.onCallStatsReceived event invocation in case if ClientConfig.statsCollectionInterval is set to 0.
2.5.2
Introduce ClientConfig.packageName field to specify Android application package name to enable push notifications between different Android applications using a single Voximplant application.
2.5.1
Fix for multiple ICallListener.onLocalVideoStreamRemoved invocation after multiple enabling and disabling video via ICall.sendVideo API
Fix for native crash occurred on connection loss during a call
2.5.0
Remove support for Java 7. If your project does not support Java 8 yet, please follow the instructions
Introduce IClient.callConference API that creates call to a dedicated conference without proxy session.
For video conference calls ICall.sendVideo API will now mute video stream instead of removing it.
Support to receive multiple video streams from the same endpoint (including screen sharing video stream). Introduce VideoStreamType to determine if video stream is of type "screen sharing" or not.
Introduce ICallListener.onCallStatsReceived event that reports new CallStats with configurable interval ClientConfig.statsCollectionInterval. Please note that CallStatistic API is removed.
Fix for camera switch on android devices with dual back camera.
Introduce ICall.getLocalAudioStreams and ICall.getLocalVideoStreams APIs to get all active local streams.
2.4.1
Fix for login fail with access token, if previously login was performed via one time key
Stability improvements for react-native
2.4.0
Video conferences support. Introduce ICallListener.onEndpointAdded, IEndpointListener.onEndpointInfoUpdated and IEndpointListener.onEndpointRemoved events.
Bugfix and stability improvements
2.3.6
Improve error and warning logs collection via ILogListener
Uber conversations are now available via messaging APIs
If the connection to Voximplant Cloud is lost while a call is not started/answered yet, ICallListener.onCallFailed is now invoked instead of ICallListener.onCallDisconnected event
Fix for front facing camera is not mirrored rendered in some case (several camera switches and video renderer changes)
Midcall operations such as ICall.sendVideo, ICall.receiveVideo and ICall.hold will fail with CallError.INCORRECT_OPERATION error in case if a call is not established
Fix for wrong invocation of ICallListener.onICECompleted after enabling video during audio call
Fix for wired headphones detection if it was plugged in before Voximplant Android SDK initialization
Fix for ICall.sendVideo fail in video call with Firefox
Improvements for bluetooth device connection handling
Bugfix and stability improvements
2.3.5
Introduce RejectMode to manage reject call behavior
Fix crashes on emulator
2.3.4
Improve stability of connection to Voximplant Cloud
Introduce new API for audio device management. Please consider the changes in audio device selection described in IAudioDeviceManager documentation
Front facing camera is now mirrored rendering by default. Use ClientConfig.enableCameraMirroring to disable camera mirroring.
ClientConfig.enableHWAcceleration option is split into 2 options: for hardware acceleration for encoding and decoding. Both are true by default.
2.3.3
Fix for invocation IClientLoginListener.onLoginSuccessful after login timeout
IClientSessionListener.onConnectionClosed is invoked instead of IClientSessionListener.onConnectionFailed in case if connection to Voximplant Cloud is lost. IClientSessionListener.onConnectionFailed is now invoked only in case if connection to VoxImplant Cloud could not be established for any reason.
New API: Introduce new login error LoginError.NETWORK_ISSUES for the cases when the connection to Voximplant Cloud is lost during login
Improvements for connect functionality
Improvements for video call on Nexus 7 device
2.3.2
Deprecated API: fix for remote video rendering issues after midcall operations in the call with web sdk
New API: if the call is on hold, using ICall.receiveVideo() will result in the MEDIA_IS_ON_HOLD error that is reported via completion handler callback
New API: introduce new API IClient.getClientState() for checking current client state
New API: introduce new login errors: INVALID_STATE and TIMEOUT reported via IClientLoginListener.onLoginFailed API
IClient.connect API may throw IllegalStateException in case if attempt to connect was performed in invalid state
ICall.start and ICall.answer may throw CallException if RECORD_AUDIO (for audio or video call) and CAMERA (for video call) are not granted
New API: introduce ILogListener interface to collect and handle Voximplant Android SDK logs
Fix for ICallListener.onLocalVideoStreamRemoved event invocation in case if local video stream was not previously added
Calling IClient.disconnect API in disconnected state will invoke IClientSessionListener.onConnectionClosed
2.3.1
New API: It is now possible to explicitly specify if video send/receive is required while initiating an outgoing call or accepting incoming call. You can find related changes in the IClient.callTo and ICall.answer
Bluetooth audio device support is improved. It is now recommended to enable speakerphone after call is connected
New API: Fix for crash on calling ICall.getCallDuration() after the call is disconnected
Fix for IClientSessionListener.onConnectionFailed is not invoked in some cases
ICall.start API now throws CallException if the call has been already started
2.3.0
Messaging API
2.2.6
Fix for onCallDisconnected event that was not invoked on emulators and devices without bluetooth support
2.2.5
Introduce ICustomVideoSource for alternative video frame source for a call
Bluetooth device support
Add ability to set custom data on call answer
New API: introduce onICECompleted and onICETimeout call events
New API: if call is on hold, using ICall.sendVideo() will result in the MEDIA_IS_ON_HOLD error that is reported via the completion handler callback.
Dependency update for the upstream (without the -compat prefix) Android SDK, okhttp is updated to version 3.8.1
2.2.4
Introduce IAudioFocusChangeListener to monitor and handle audio focus change events
2.2.3
Fix for crash on slice height check for texture output
Fix for camera is not switched if camera is opening
Fix for crash on creating EGL context
2.2.2
Deprecated API: fix for video rendering issues, if video renderer is set before video stream is added
2.2.1
Fix for audio focus is not abandoned in some cases
Deprecated API: fix for crash when call is rejected
Fix for crash on adding video renderer
2.2.0
Default audio device is changed from speakerphone to earpiece
Now all SDK logs are printed under the same tag (VOXSDK) in logcat. So it is easier now to grep them and provide to support team in case of any issues
Bugfix and improvements
New backward-compatible API. Please note, that you should not use old and new API simultaneously.
Experimental h.264 support can be enabled via the new API
New -compat version that uses legacy dependencies (like old OKHttp 3.4.1 version)
Fix for crash on fallback to software encoder or decoder
Hold functionality available via new API
2.1.5
Fix for inability to select front camera on call start
2.1.4
Add support for early media
Multiple call management bugfix and improvements
Fix for onCallAudioStarted callback that was not invoked in some case
Fix for crash on start to render local video on Samsung s3
2.1.3
API changes: add the ability to indicate server name for connection. VoxImplantClient.connect(boolean) is changed to VoxImplantClient.connect(boolean, String)
2.1.2
Add the ability for custom video renderer implementation
Fix for changing speakerphone mode issues on some android devices
Fix for crash on cyclic attempts to reconnect when internet is turned off on android device
Improve echo cancellation on Xiaomi Mi Note
onCallDisconnected event is received if internet connection is lost during active call
API changes: VoxImplantClient.enableDebugLogging() method is removed. Use VoxImplantClientConfig to enable debug logging instead
API changes: VoxImplantClient.setAndroidContext(Context, boolean, boolean) is changed to VoxImplantClient.setAndroidContext(Context, VoxImplantClientConfig). All configurations for VoxImplantClient can now be set via VoxImplantClientConfig