React Native Live Streaming, Video Conferencing SDK & Sample App
MIT License
Bot releases are hidden (Show)
Published by ygit over 1 year ago
Added messageId property to HMSMessage class
messageId
allows you to uniquely identify messages sent or received by users within Rooms.
For more information on how to utilize this, please refer to Chat Guide here.
Updated to Android SDK 2.6.4 & iOS SDK 0.9.4
Full Changelog: 1.6.1...1.6.2
Published by ygit over 1 year ago
Resolved an issue where applying Aspect Fit Ratio resulted in an unintended reset to AspectFill before restoring the correct behavior.
For more details, refer to the documentation here.
Updated to Android SDK 2.6.3 & iOS SDK 0.9.4
Full Changelog: 1.6.0...1.6.1
Published by ygit over 1 year ago
Session Store
You can now use Session Store, a shared real-time key-value store accessible by everyone in the Room. This can be used to implement new features such as Pinned Messages and Spotlight Video Tiles, which brings a particular peer to the center stage for everyone in the Room.
Learn more about Session Store here.
Music Mode on iOS
The latest update adds the ability to achieve high-quality audio recordings with full, rich sound, whether you are recording music, podcasts, or any other type of audio.
Learn more about the Music Mode here.
Resolved a compilation error caused by an incorrect import of internal HMSSDK types when used with certain versions of Babel.
Fixed an issue on Android devices where the app was unable to handle null video tracks appropriately.
Updated to Android SDK 2.6.2 & iOS SDK 0.9.3
Full Changelog: 1.5.0...1.6.0
Published by ygit over 1 year ago
Added support for Adaptive Bitrate (Simulcast)
Adaptive Bitrate refers to features that enable dynamic adjustments in video quality to optimize for end-user experience under diverse network conditions.
To learn more about how ABR works & how it enhances your app, refer the guide here.
Using HMSVideoView on Android
HMSVideoView on Android provides a better abstraction to render live video and handles edge cases like managing Release/Init states. It has in-built support to subscribe to video of the correct resolution.
To learn more about Rendering Video, refer the guide here.
Added Simulcast support for RTC Stats
RTC Call Stats are updated to show Simulcast layer data if available for Local Peer's Video Track. This can be used to diagnose user experience with metrics such as Audio/Video Bitrate, Round Trip Time, Packet loss, etc.
To learn more about using RTC Call Stats, refer the guide here.
Camera Control Capabilities
The latest update includes the ability to capture an image from a local peer feed at the maximum resolution supported by the Camera.
Read more about the Camera Controls here.
Updated to Android SDK 2.6.1 & iOS SDK 0.9.2
Full Changelog: 1.4.0...1.5.0
Published by ygit over 1 year ago
Join using Room Codes
getAuthTokenByRoomCode
API, you can easily manage user access with one code per role for each room, without the need for server infrastructureYou can read more about Room Codes here.
Updated to Android SDK 2.6.0 & iOS SDK 0.9.1
Full Changelog: 1.3.0...1.4.0
Published by ygit over 1 year ago
Our latest release comes with major performance enhancements which include -
The introduction of Room and Peer Stores internally to optimize the initial data transfer across the JS Bridge.
This design reduces the time taken to Join a Room.
Post joining the Room, a minimal amount of data is exchanged to enhance performance.
This effect is more evident in Rooms with a large number of Peers.
Updated to Native Android SDK 2.5.9 & Native iOS SDK 0.8.1
Full Changelog: 1.2.0...1.3.0
Published by ygit over 1 year ago
HMSView
for iOS, giving users the ability to extract high-quality images from the video playbackImproved performance for joining large rooms, reducing the time taken.
Implemented internal caching of Role objects to improve performance in large Rooms.
Updated the internal Native Events subscriber to prevent sending unattached event updates.
Fixed an issue where HMSTrack was incorrectly removed from HMSPeer if a RemotePeer un-publishes and re-publishes the HMSTrack.
Enhanced Disconnected State detection on specific networks for better stability.
Updated to Native Android SDK 2.5.7 & Native iOS SDK 0.6.4
Full Changelog: 1.1.1...1.2.0
Published by ygit almost 2 years ago
Full Changelog: 1.1.0...1.1.1
Published by ygit almost 2 years ago
Added support for Bulk Role Change
Bulk Role Change is used when you want to convert all Roles from a list of Roles, to another Role.
For example, if peers join a room with a Waiting Role and now you want to change all these peers to Viewer Role then use the changeRoleOfPeersWithRoles
API.
// fetch all available Roles in the room
const roles = await hmsInstance.getRoles();
// get the Host Role object
const hostRole = roles.find(role => role.name === 'host');
// get list of Roles to be updated - in this case "Waiting" and "Guest" Roles
const rolesToChange = roles.filter(role => role.name === 'waiting' || role.name === 'guest');
// now perform Role Change of all peers in "Waiting" and "Guest" Roles to the "Host" Role
await hmsInstance.changeRoleOfPeersWithRoles(rolesToChange, hostRole);
For More Information, refer: https://www.100ms.live/docs/react-native/v2/features/change-role
Added PIPConfig
to enable Actionable buttons on PIP Window on Android
Actionable buttons like Mute/Unmute Audio/Video, Leave Room for local peers can now be configured while enabling PIP Mode.
await hmsInstance?.enablePipMode({
aspectRatio: [16, 9], // for 16:9 aspect ratio
endButton: true,
videoButton: true,
audioButton: true,
});
For More Information, refer: https://www.100ms.live/docs/react-native/v2/features/pip-mode
Deprecated changeRole
API in favour of changeRoleOfPeer
No change in functionality or method signature.
Updated to Native Android SDK 2.5.4 & Native iOS SDK 0.5.3
Full Changelog: 1.0.0...1.1.0
Published by ygit almost 2 years ago
Added support for Picture in Picture mode on Android.
PIP Mode lets the user watch the room video in a small window pinned to a corner of the screen while navigating between apps or browsing content on the main screen.
Example implementation for checking device support & enabling PIP mode:
const isPIPSupported = await hmsInstance.isPipModeSupported();
const isEnabled = await hmsInstance.enablePipMode();
Added Session Metadata APIs
Session metadata is a shared state that is accessible by everyone in the room. Session metadata can be used to achieve features like pinned text, spotlight(bringing a particular peer into a larger stage), etc.
Example usage of setting & getting Room's Session Metadata:
// set session metadata for the room
hmsInstance.setSessionMetaData(value).then(() => {
// on success, you can send a message to all the peers to fetch metadata
hmsInstance.sendBroadcastMessage('refresh', HMSMessageType.METADATA);
});
// peers in the room can fetch current Session Metadata any time using `getSessionMetaData` method
const metadata = await hmsInstance.getSessionMetaData();
Added accessing of the local peer from the HMSRoom
instance
// you can now directly access local peer from HMSRoom object returned in `ON_JOIN` event listener
const onJoinSuccess = (data: {room: HMSRoom}) => {
console.log('local peer: ', data.room.localPeer);
};
Added HMSMessageType
enum to Message
HMSView
Updated to Native Android SDK 2.5.1 & Native iOS SDK 0.4.7
Full Changelog: 0.9.94...1.0.0
Published by ygit almost 2 years ago
onPeerUpdate
& onTrackUpdate
event listeners.getRemotePeers
& getLocalPeer
functions.HMSSubscribeSettings
's roles which are subscribedUpdated to Native Android SDK 2.5.1 & Native iOS SDK 0.4.6
Full Changelog: 0.9.93...0.9.94
Published by ygit about 2 years ago
HMSSDK
instanceHMSException
class. Added canRetry
attributeFull Changelog: https://github.com/100mslive/react-native-hms/compare/0.9.92...0.9.93
Published by ygit about 2 years ago
Full Changelog: https://github.com/100mslive/react-native-hms/compare/0.9.91...0.9.92
Published by ygit about 2 years ago
HMSException
classminifyEnabled
is set to true
for Android release buildsFull Changelog: 0.9.9...0.9.91
Published by ygit over 2 years ago
leave
functions fails when invoked in Reconnecting (No Internet) statechangeMetadata
& remoteMuteAllAudio
functions is now asyncFull Changelog: https://github.com/100mslive/react-native-hms/compare/0.9.8...0.9.9
Published by ygit over 2 years ago
Full Changelog: https://github.com/100mslive/react-native-hms/compare/0.9.7...0.9.8
Published by ygit over 2 years ago
Full Changelog: https://github.com/100mslive/react-native-hms/compare/0.9.6...0.9.7
Published by ygit over 2 years ago
REQUIRED_KEYS_NOT_FOUND
errorsdestroy
API which will de-initialize all HMSSDK instances, even for multiple instances scenariosPublished by ygit over 2 years ago
sink
& id
keys, made style
optionalserverReceiveTime
param type in HMSMessage
Published by ygit over 2 years ago
setZOrderMediaOverlay
on HmsView
to enable Mini-view type of layouts
screenshot
on HmsView