Android SDK
v2.3.9 - 2022-05-18
Fixed
- Screen Share not starting in highest resolution
- Serverside Subscribe degradation fix - marking track not degrdated after removeSink is called
- IO Exception Crash in Android 12, in the alarm maanager of Log Util
- NPE Crash fix in webrtc stats monitor
- Crash in LogUtils
Changed
serverReceiveTime
data type inHMSMessage
is not of typeLong
instead ofDate
v2.3.7 - 2022-05-09
Fixed
- A crash in some rare cases where analytics events were being sent while the room was ending.
Added
sessionId
is a new parameter in HMSRoom. It is updated with the current sessionId when a room is joined.
2.3.6 - 2022-04-28
Fixed
- Fixed bug: Local peer being null in stats callbacks
- Fixed bug:
onSuccess
callback not called frompreview
/join
if network goes off BEFORE ws-connect and comes back after sometime
Added
- Server Side Subscribe Degradation
2.3.5 - 2022-04-20
Fixed
- Crash fix:
InvalidTokenFormat
exeception. This would be thrown in theonError
callback instead - Fixed bug: Sending
TRACK_DEGRADED
when not required in some cases
Added
- Apps can now add resolution(w*h) when starting
RTMP
Streaming - SDK has the capability to write logs in the filesystem of devices. Apps can enable or disable while initializing the SDK
2.3.4 - 2022-03-28
Fixed
- HLS recording status wasn't always updated when stopped.
- Rare crash when cameras are unavailable and it seemed to the app like none exist.
Added
- Network Quality in preview. Network quality reports can now be requested at the preview screen. Use the returned value to determine if you should suggest people's internet is too slow to join with video etc.
- Network Quality during calls. Peer Network Quality updates are now received during the call. Use this to show how strong any peer's internet is during the call.
2.3.3 - 2022-03-17
Fixed
Leave
not finishing if SDK is in reconnection state. Hence alljoin
calls after that was getting queued up if called on the same HMSSDK instance- Improved subscribe degradation so that new add sinks are handled properly when SDK is already in degraded state
- Crash fix on starting/stopping HLS where
HlsStartRecording
was null
Added
- Added Hls Recording to initial PeerList
- Ignore
room-state
updates after joining
2.3.2 - 2022-03-14
Fixed
- ERROR Analytics events not being sent
2.3.1 - 2022-02-25
Fixed
- NPE in
OnPeerUpdateManager
when sometimesroom-sate
message comes beforepolicy-change
message. Ignoring the firstroom-sate
message in such cases
2.3.0 - 2022-02-23
Added
HlsRecordingConfig
toHMSHLSConfig
objectonPeerUpdate
andonRoomUpdate
callbacks in 'HMSPreviewListener' to get info about the room at Preview screen- Server will send a timeout error if a peer stays on preview page for too along
- Calling
preview
API again without aleave
call would result in an error
Changed
- Synced leave function
- Make
leave
API call to server sync instead of async
Fixed
- Socket is now cancelled instead of close, which was causing queued messages to be processed after
teardown leading to crashes and
Failed to set remote offer sdp: Called in wrong state: closed
error - NPE in
sendMessage
API
2.2.9 - 2022-02-08
Added
- Local track updates like mute/unmute will be send as well via
onTrackUpdate
- Added
startedAt
andstoppedAt
field forBrowser
andSFU
recording
Changed
- Upgraded kotlin version to
1.6.10
- Upgraded webrtc version to
m97
customerUserID
can be null
Fixed
- Crash Fix when joining without mic permission
- Stop screenshare on calling
leave()
API if screenshare is going on - Potential fix for
ClassCastException
on accesinglocalPeer
while publishing - Fix for
HMSException: Network connection lost
crash when connection failed while joining - Improved time taken for YUV conversion for virtual background
- Fixed background image overlay
2.2.8 - 2022-01-24
Added
- Added APIs to support of
Virtual Background
- Use the following dependency along with main 100ms SDK dependency to support VB pluginimplementation 'com.github.100mslive.android-sdk:virtualBackground:2.2.8'
Changed
- Gradle Dependency to add core 100ms SDK features has changed to followingimplementation 'com.github.100mslive.android-sdk:lib:x.x.x'
2.2.7 - 2022-01-18
Changed
- Downgrading
androidx.core:core-ktx
to1.6.0
to support apps with compile sdk version < 31.
2.2.6 - 2022-01-14
Added
- Added analytics to collect whether device is using h/w or s/w AEC
- Added
isTerminal
property inHMSException
- Use this property to determine whether peer can continue in the room or not - Added analytics to collect info about
could not find FRONT camera
issue - Added analytics events for phone call interruptions
- Queue-ing analytics events which maybe getting missed as websocket not present
Fixed
- Bug fix - All Remote peers get muted for local peer if the local peer receives a phone call at a moment when there is no one else in the room
onReconnection
will not be send continuously & will be sent only in the start. It was being sent continously while SDK was retrying.- NPE crash fix in
OnPeerUpdateManager
andSDKStore.getRoom
2.2.5 - 2021-12-29
Fixed
- OOM Crash due to printing of
SDKStore
object inHMSSpeaker
- Clear local track mute status when the sdk is cleared
- Fix for
java.lang.IllegalStateException: No camera device found for FRONT
crash - Now the peer will be able to join the room but with no videoTrack
Added
- An optional
HMSActionResultListener
is added toswitchCamera
API - errors will be sent back to app if some errors come up - Send the local Screenshare Track to app in
onTrackUpdate
- Added new analytics event
videopresence.failed
for cases where SDK cannot find a camera to capture
Changed
- Device permission denied errors are not terminal errors anymore.
Clients will get a
onJoin
oronPreview
callback even if audio or video tracks cannot be created by the SDK due to some issues in the capture device.onError
callbacks will also be called along with the above callbacks
2.2.4 - 2021-12-20
Fixed
- RTMP updates are fired once server notifies
switchCamera
API does not need a Coroutine scope to be called from
Added
- APIs to start/stop HLS Streaming (beta version)
HLS_STREAMING_STATE_UPDATED
enum inHMSRoomUpdate
to notify changes about HLS streaming status inHMSRoom
- Beta version of
getStats()
API startScreenShare
API now take an optionalNotification
from app which can be used to stop the screenshare
2.2.3 - 2021-12-03
Fixed
UninitializedPropertyException
crash while callingacceptChangeRole
due to socket not getting initialized- Permission Errors are non terminal now
Added
- Subscribe Degradation events being sent to analytics
2.2.2 - 2021-11-25
Added
changeMetadata
API to change themetadata
inHMSPeer
. This change will be updated to all and will be persistent
Fixed
HMSRoomUpdate
will be trigerred for the local peer who initiated a start or stop Recording- The room's Recording status will be checked upon reconnection of a peer
- Screenshare cannot be unpublished while in reconnection mode
setVolume()
API onRemoteAudioTrack
can now take in value from 0.0 to 10.0
Fixed
- Analytic fixes
- Fix issue in self role change which was calling
roleChange
twice - Remove token from URL Params
2.2.0 - 2021-11-19
Fixed
- Analytic fixes
- Fix issue in self role change which was calling
roleChange
twice - Remove token from URL Params
Added
- Add Audio Recording errors to Analytics
- Add more instrumentation tests
2.1.9 - 2021-11-11
Added
- Beta version of
screenshare
API Leave
API now takes in an optional parameter to returnsuccess
anderror
callbacks
Fixed
Class cast exception
crash fix if End Room API was called by server whererequested_by
peer is null
2.1.8 - 2021-11-03
Added
getRoom
API toHMSSDK
which will return aHMSRoom
instance that the user has joined,NULL
otherwise
Fixed
- Crash fix -
IllegalArgumentException: Receiver not registered
on calling leave immediately after joining Already JOINED
HMSException will now be coming inonError
ofHMSUpdateListener
instead of a throwing a fatal Exception- RTMP Recording fixes
2.1.7 - 2021-11-01
Changed
The timeouts for all websocket operations on the server have been increased from 5 seconds to 11 seconds.
If a join was failing before for lack of feedback, it has a larger margin within which to succeed now.
2.1.6 - 2021-10-28
Breaking Changes
requestedBy: HMSPeer
in HMSChangeTrackStateRequest
is now nullable.
It could be mute if the person tried to mute or unmute someone and immediately left the room.
Fixed
- Check for Role change of remote peers after reconnection
- Return correct value of isPlaybackAllowed
- HMSTrack is null for local peer in HMSSpeaker
onSuccess
callback for theacceptChangeRequest
method was never being called. This will now be called appropriately. This request can safely be ignored because the SDK already muted the peer but may be helpful in recognizing that the mute came externally. A check like the following is now required in youronChangeTrackStateRequest
:
if (details.track.isMute != details.mute) { // Process ChangeTrackMuteRequest }
Added
- Added
customerId
anddescription
to HMSPeer's tostring(). HMSChangeTrackStateRequest
is now sent even when peers are muted. Previously, if a remote peer requested a peer to mute, there would be no ChangeTrackStateRequest- The way packet loss is measured for track degradation is changed
2.1.5 - 2021-10-27
Fixed
- Crash fix for "MediaStream has been disposed" - that could happen when multiple peers leave and join a large room
2.1.4 - 2021-10-18
Fixed
- Videos send by Pixel 3 device are distorted
- UninitializedPropertyAccessException crash fix on leave
- Using subscribe degradation as set on the local peer's role
Added
HMSTrack
obj inHMSSpeaker
2.1.3 - 2021-10-04
Fixed
- Reconnection improvements - reconnection time has reduced
- Analytics fix
Added
- Ability to start/stop a RTMP Streaming or Recording
- Ability to change the mute status of one or many remote HMSTrack for all peers of a particular role, or all tracks of a particular source, type or source AND type.
- Ability to use either software or hardware acoustic echo cancellation from the application layer
Updated
- Updated to latest m94 release of webrtc
2.1.2 - 2021-09-20
Fixed
- Donot degrade videos on reconnection
- SendTrack updates after reconnection if a new peer joins while SDK is reconnection
- Muting new tracks that are getting added when SDK mutes all remote tracks on interruption
2.1.1 - 2021-09-10
Fixed
- SDK Reconnection on network disconnection improvement
- NPE Crash fix on preview screen in case of SDK reconnection
- Fix: onPreview getting was called twice incase of SDK reconnection
2.1.0 - 2021-09-03
Fixed
- Subscribe Degradation improvements
- sendBroadcast API now accepts any type of HMSMessageType
- Concurrent modification Exception Crash fix
2.0.9 - 2021-08-27
Added
- Support for self role change
Changed
- Updated webrtc lib to latest
- Bug fix(can reuse the same instance of hmsSDK to rejoin a room)
- Few memory leak
- IMP --> With this release no need to add any dependancy to webrtc library. Anyone migrating from previous versions, PLEASE REMOVE the webrtc dependancy from your app's build.gradle
2.0.8 - 2021-08-17
Added
- Sending private and group messages APIs
- Remove peer from a room API
- Remote mute peer API
- End room API
Changed
- send(message:) API renamed to sendBroadcastMessage
2.0.7 - 2021-08-06
Fixed
- Bug fixes in subscribe degradation
- Bug fixes in role change
- Bug fixes in onReconnection handling
- Bug fix in incoming phone call handling
2.0.6 - 2021-07-27
Fixed
- Bugs in change role
Added
- Support for subscribe degradation
2.0.5 - 2021-07-20
Added
- HMSSpeaker contains HMSPeer instead of peerId
- Support for changing of roles
2.0.4 - 2021-07-09
Fixed
- Crash fixes on leave and network change
- Audio Routing to earpiece on interruption
- No audio in BT headset on connecting disconnecting error
- Check if role allows publishing in preview
- Release camera on leave
Added
- SDK will handle all interruptions like incoming voice and VoIP calls
- Pass HMSRole to client via HMSPeer
2.0.2 - 2021-06-30
Fixed
- Made
hmsSDK.getLocalpeer()
nullable - Fix logging bug
- Fix bug where
ontrackUpdate
came before RTCTrack
2.0.1 - 2021-06-29
Added
- Retry when join call returns server error in 5xx or 429
isTerminal
property to analytics
Fixed
- NPE Crash on SDKStore.getLocalPeer()
- Unsupported notification message crash
- Call onError callback in webrtc subscription failure
2.0.0-beta02 - 2021-06-24
Added
- Preview API
- Enabled Opus dtx for audio
- Added retry to INIT api call
2.0.0-beta01 - 2021-06-16
Added
- Proper error messages from client and server
- Handling of bad network conditions by retrying inside SDK
- Audio Manager is part of the SDK
- Callbacks for
onReconnecting
andonReconnected
- Added Analytics to track issues
2.0.0-alpha04 - 2021-06-04
Added
Simplified SDK interfaces that can power a fully-featured video conferencing application
join
leave
listeners
for tracks/peers/other data
Features not covered in this release
- Handling network disconnections (disconnect from wi-fi to 4g ends the call)
- Handling subscription network degradations
- Handling second order publish network degradations
- Detailed analytics
- Recording
Please contact @akash goswami in your Slack channel if you have any questions