@100mslive/react-native-hms 0.8.1 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/android/build.gradle +1 -2
  2. package/android/src/main/java/com/reactnativehmssdk/HmsDecoder.kt +198 -254
  3. package/android/src/main/java/com/reactnativehmssdk/HmsHelper.kt +18 -30
  4. package/android/src/main/java/com/reactnativehmssdk/HmsModule.kt +18 -18
  5. package/android/src/main/java/com/reactnativehmssdk/HmsSDK.kt +182 -146
  6. package/android/src/main/java/com/reactnativehmssdk/HmsView.kt +15 -21
  7. package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +1 -2
  8. package/android/src/main/java/com/reactnativehmssdk/HmssdkViewManager.kt +4 -10
  9. package/ios/HmsDecoder.swift +33 -20
  10. package/ios/HmsHelper.swift +13 -3
  11. package/ios/HmsManager.m +8 -8
  12. package/ios/HmsManager.swift +16 -16
  13. package/ios/HmsSDK.swift +97 -29
  14. package/lib/commonjs/classes/HMSEncoder.js +6 -4
  15. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  16. package/lib/commonjs/classes/HMSLocalAudioTrack.js +20 -0
  17. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  18. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  19. package/lib/commonjs/classes/HMSLocalVideoTrack.js +18 -0
  20. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  21. package/lib/commonjs/classes/HMSLogger.js +28 -1
  22. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  23. package/lib/commonjs/classes/HMSRemoteAudioTrack.js +19 -0
  24. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  25. package/lib/commonjs/classes/HMSRemoteVideoTrack.js +19 -0
  26. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  27. package/lib/commonjs/classes/HMSSDK.js +179 -134
  28. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  29. package/lib/commonjs/classes/HMSTrackSettings.js +3 -0
  30. package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
  31. package/lib/commonjs/classes/HMSVideoCodec.js +4 -4
  32. package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
  33. package/lib/commonjs/index.js +14 -0
  34. package/lib/commonjs/index.js.map +1 -1
  35. package/lib/module/classes/HMSEncoder.js +6 -4
  36. package/lib/module/classes/HMSEncoder.js.map +1 -1
  37. package/lib/module/classes/HMSLocalAudioTrack.js +17 -0
  38. package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
  39. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  40. package/lib/module/classes/HMSLocalVideoTrack.js +15 -0
  41. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  42. package/lib/module/classes/HMSLogger.js +28 -1
  43. package/lib/module/classes/HMSLogger.js.map +1 -1
  44. package/lib/module/classes/HMSRemoteAudioTrack.js +16 -0
  45. package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
  46. package/lib/module/classes/HMSRemoteVideoTrack.js +16 -0
  47. package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
  48. package/lib/module/classes/HMSSDK.js +176 -134
  49. package/lib/module/classes/HMSSDK.js.map +1 -1
  50. package/lib/module/classes/HMSTrackSettings.js +3 -0
  51. package/lib/module/classes/HMSTrackSettings.js.map +1 -1
  52. package/lib/module/classes/HMSVideoCodec.js +4 -4
  53. package/lib/module/classes/HMSVideoCodec.js.map +1 -1
  54. package/lib/module/index.js +1 -0
  55. package/lib/module/index.js.map +1 -1
  56. package/lib/typescript/classes/HMSLocalPeer.d.ts +3 -0
  57. package/lib/typescript/classes/HMSLogger.d.ts +7 -0
  58. package/lib/typescript/classes/HMSSDK.d.ts +11 -11
  59. package/lib/typescript/classes/HMSTrackSettings.d.ts +2 -0
  60. package/lib/typescript/classes/HMSVideoCodec.d.ts +4 -4
  61. package/lib/typescript/index.d.ts +1 -0
  62. package/package.json +1 -1
  63. package/src/classes/HMSEncoder.ts +3 -1
  64. package/src/classes/HMSLocalAudioTrack.ts +16 -0
  65. package/src/classes/HMSLocalPeer.ts +3 -0
  66. package/src/classes/HMSLocalVideoTrack.ts +15 -0
  67. package/src/classes/HMSLogger.ts +14 -1
  68. package/src/classes/HMSRemoteAudioTrack.ts +16 -0
  69. package/src/classes/HMSRemoteVideoTrack.ts +16 -0
  70. package/src/classes/HMSSDK.tsx +134 -73
  71. package/src/classes/HMSTrackSettings.ts +3 -0
  72. package/src/classes/HMSVideoCodec.ts +4 -4
  73. package/src/index.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["HMSSDK.tsx"],"names":["React","NativeEventEmitter","NativeModules","HMSUpdateListenerActions","HMSEncoder","HMSMessage","HMSHelper","HmsView","HMSViewComponent","HMSVideoViewMode","HmsManager","HmsEventEmitter","HmsSdk","HMSSDK","constructor","id","removeListeners","addListener","ON_PREVIEW","onPreviewListener","ON_JOIN","onJoinListener","ON_ROOM_UPDATE","onRoomListener","ON_PEER_UPDATE","onPeerListener","ON_TRACK_UPDATE","onTrackListener","ON_ERROR","onErrorListener","ON_MESSAGE","onMessageListener","ON_SPEAKER","onSpeakerListener","RECONNECTING","reconnectingListener","RECONNECTED","reconnectedListener","ON_ROLE_CHANGE_REQUEST","onRoleChangeRequestListener","ON_CHANGE_TRACK_STATE_REQUEST","onChangeTrackStateRequestListener","ON_REMOVED_FROM_ROOM","onRemovedFromRoomListener","removeListener","config","logger","verbose","join","preview","sink","trackId","style","mirror","scaleType","ASPECT_FIT","data","leave","muteStatus","undefined","localPeer","remotePeers","room","knownRoles","message","type","sendBroadcastMessage","roles","sendGroupMessage","getRoleNames","peerId","sendDirectMessage","metadata","changeMetadata","op","startRTMPOrRecording","stopRtmpAndRecording","peer","role","force","peerID","name","changeRole","track","mute","changeTrackState","source","changeTrackStateRoles","reason","removePeer","lock","endRoom","acceptRoleChange","muteAllPeersAudio","roomID","hmsRoom","getRoom","encodedHmsRoom","encodeHmsRoom","volume","setVolume","action","callback","onPreviewDelegate","onJoinDelegate","onRoomDelegate","onPeerDelegate","onTrackDelegate","onErrorDelegate","onMessageDelegate","onSpeakerDelegate","onReconnectingDelegate","onReconnectedDelegate","onRoleChangeRequestDelegate","onChangeTrackStateRequestDelegate","onRemovedFromRoomDelegate","hmsLogger","encodeHmsLocalPeer","previewTracks","encodeHmsPreviewTracks","encodeHmsRemotePeers","encodeHmsRoles","warn","encodedRoleChangeRequest","encodeHmsRoleChangeRequest","encodeHmsChangeTrackStateRequest","requestedBy","encodeHmsPeer","roomEnded","build","params","trackSettings","attachPreviewListener","attachListeners"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { NativeEventEmitter, NativeModules, ViewStyle } from 'react-native';\nimport { HMSUpdateListenerActions } from './HMSUpdateListenerActions';\nimport type { HMSConfig } from './HMSConfig';\nimport type { HMSLocalPeer } from './HMSLocalPeer';\nimport type { HMSRemotePeer } from './HMSRemotePeer';\nimport type { HMSRoom } from './HMSRoom';\nimport type { HMSRole } from './HMSRole';\nimport { HMSEncoder } from './HMSEncoder';\nimport { HMSMessage } from './HMSMessage';\nimport { HMSHelper } from './HMSHelper';\nimport type { HMSTrack } from './HMSTrack';\nimport type { HMSTrackType } from './HMSTrackType';\nimport type { HMSLogger } from './HMSLogger';\nimport type { HMSPeer } from './HMSPeer';\nimport { HmsView as HMSViewComponent } from './HmsView';\nimport { HMSVideoViewMode } from './HMSVideoViewMode';\nimport type { HMSTrackSettings } from './HMSTrackSettings';\nimport type { HMSRTMPConfig } from './HMSRTMPConfig';\n\ninterface HmsComponentProps {\n trackId: string;\n sink: boolean;\n style: ViewStyle;\n mirror?: boolean;\n scaleType: HMSVideoViewMode;\n id?: string | null;\n}\n\nconst {\n /**\n * @ignore\n */\n HmsManager,\n} = NativeModules;\n\nconst HmsEventEmitter = new NativeEventEmitter(HmsManager);\n\nlet HmsSdk: HMSSDK | undefined;\n\nexport class HMSSDK {\n room?: HMSRoom;\n localPeer?: HMSLocalPeer;\n remotePeers?: HMSRemotePeer[];\n knownRoles?: HMSRole[];\n logger?: HMSLogger;\n id: string;\n private muteStatus: boolean | undefined;\n\n onPreviewDelegate?: any;\n onJoinDelegate?: any;\n onRoomDelegate?: any;\n onPeerDelegate?: any;\n onTrackDelegate?: any;\n onErrorDelegate?: any;\n onMessageDelegate?: any;\n onSpeakerDelegate?: any;\n onReconnectingDelegate?: any;\n onReconnectedDelegate?: any;\n onRoleChangeRequestDelegate?: any;\n onChangeTrackStateRequestDelegate?: any;\n onRemovedFromRoomDelegate?: any;\n\n constructor(id: string) {\n this.id = id;\n }\n\n /**\n * - Returns an instance of [HMSSDK]{@link HMSSDK}\n * - This function must be called to get an instance of HMSSDK class and only then user can interact with its methods\n *\n * @static\n * @returns\n * @memberof HMSSDK\n */\n static async build(params?: { trackSettings?: HMSTrackSettings }) {\n let id = await HmsManager.build(params?.trackSettings || {});\n HmsSdk = new HMSSDK(id);\n HmsSdk.attachPreviewListener();\n HmsSdk.attachListeners();\n return HmsSdk;\n }\n\n destroy = () => {\n this.removeListeners();\n };\n\n attachPreviewListener = () => {\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_PREVIEW,\n this.onPreviewListener\n );\n };\n\n attachListeners = () => {\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_JOIN,\n this.onJoinListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_ROOM_UPDATE,\n this.onRoomListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_PEER_UPDATE,\n this.onPeerListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_TRACK_UPDATE,\n this.onTrackListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_ERROR,\n this.onErrorListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_MESSAGE,\n this.onMessageListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_SPEAKER,\n this.onSpeakerListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.RECONNECTING,\n this.reconnectingListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.RECONNECTED,\n this.reconnectedListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST,\n this.onRoleChangeRequestListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_CHANGE_TRACK_STATE_REQUEST,\n this.onChangeTrackStateRequestListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM,\n this.onRemovedFromRoomListener\n );\n };\n\n removeListeners = () => {\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_JOIN,\n this.onJoinListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_ROOM_UPDATE,\n this.onRoomListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_PEER_UPDATE,\n this.onPeerListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_TRACK_UPDATE,\n this.onTrackListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_ERROR,\n this.onErrorListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_MESSAGE,\n this.onMessageListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_SPEAKER,\n this.onSpeakerListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.RECONNECTING,\n this.reconnectingListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.RECONNECTED,\n this.reconnectedListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST,\n this.onRoleChangeRequestListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_CHANGE_TRACK_STATE_REQUEST,\n this.onChangeTrackStateRequestListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM,\n this.onRemovedFromRoomListener\n );\n };\n\n /**\n * takes an instance of [HMSConfig]{@link HMSConfig} and joins the room\n * after joining the room user will start receiving the events and updates of the room\n *\n * @param {HMSConfig} config\n * @memberof HMSSDK\n */\n join = async (config: HMSConfig) => {\n this.logger?.verbose('JOIN', { config });\n await HmsManager.join({ ...config, id: this.id });\n };\n\n preview = (config: HMSConfig) => {\n this.logger?.verbose('PREVIEW', { config });\n HmsManager.preview({ ...config, id: this.id });\n };\n\n HmsView = ({\n sink,\n trackId,\n style,\n mirror,\n scaleType = HMSVideoViewMode.ASPECT_FIT,\n }: HmsComponentProps) => {\n return (\n <HMSViewComponent\n sink={sink}\n trackId={trackId}\n style={style}\n mirror={mirror}\n scaleType={scaleType}\n id={this.id}\n />\n );\n };\n\n /**\n * Calls leave function of native sdk and session of current user is invalidated\n *\n * @memberof HMSSDK\n */\n leave = async () => {\n this.logger?.verbose('LEAVE', {});\n const data = {\n id: this.id,\n };\n\n await HmsManager.leave(data);\n this.muteStatus = undefined;\n this.localPeer = undefined;\n this.remotePeers = undefined;\n this.room = undefined;\n this.knownRoles = undefined;\n };\n\n sendBroadcastMessage = (message: string, type?: string) => {\n this.logger?.verbose('SEND_BROADCAST_MESSAGE', { message });\n HmsManager.sendBroadcastMessage({\n message,\n type: type || null,\n id: this.id,\n });\n };\n\n sendGroupMessage = (message: string, roles: HMSRole[], type?: string) => {\n this.logger?.verbose('SEND_GROUP_MESSAGE', { message, roles });\n HmsManager.sendGroupMessage({\n message,\n roles: HMSHelper.getRoleNames(roles),\n id: this.id,\n type: type || null,\n });\n };\n\n sendDirectMessage = (message: string, peerId: string, type?: string) => {\n this.logger?.verbose('SEND_DIRECT_MESSAGE', { message, peerId });\n HmsManager.sendDirectMessage({\n message,\n peerId,\n id: this.id,\n type: type || null,\n });\n };\n\n changeMetadata = (metadata: string) => {\n this.logger?.verbose('CHANGE_METADATA', { metadata });\n HmsManager.changeMetadata({ metadata, id: this.id });\n };\n\n startRTMPOrRecording = async (data: HMSRTMPConfig) => {\n this.logger?.verbose('START_RTMP_OR_RECORDING', { data });\n\n const op = await HmsManager.startRTMPOrRecording({ ...data, id: this.id });\n return op;\n };\n\n stopRtmpAndRecording = async () => {\n this.logger?.verbose('STOP_RTMP_OR_RECORDING', {});\n const op = await HmsManager.stopRtmpAndRecording({ id: this.id });\n return op;\n };\n\n changeRole = (peer: HMSPeer, role: HMSRole, force: boolean = false) => {\n const data = {\n peerId: peer?.peerID,\n role: role?.name,\n force: force,\n id: this.id,\n };\n this.logger?.verbose('CHANGE_ROLE', data);\n HmsManager.changeRole(data);\n };\n\n changeTrackState = (track: HMSTrack, mute: boolean) => {\n this.logger?.verbose('CHANGE_TRACK_STATE', { track, mute });\n const data = {\n trackId: track.trackId,\n mute,\n id: this.id,\n };\n\n HmsManager.changeTrackState(data);\n };\n\n changeTrackStateRoles = (\n type: HMSTrackType,\n mute: boolean,\n source: string,\n roles: Array<HMSRole>\n ) => {\n this.logger?.verbose('CHANGE_TRACK_STATE_ROLES', {\n source,\n mute,\n type,\n roles,\n });\n const data = {\n source,\n mute,\n type,\n roles: HMSHelper.getRoleNames(roles),\n id: this.id,\n };\n\n HmsManager.changeTrackStateRoles(data);\n };\n\n removePeer = (peerId: string, reason: string) => {\n this.logger?.verbose('REMOVE_PEER', { peerId, reason });\n const data = {\n peerId,\n reason,\n id: this.id,\n };\n\n HmsManager.removePeer(data);\n };\n\n endRoom = (lock: boolean, reason: string) => {\n this.logger?.verbose('END_ROOM', { lock, reason });\n const data = {\n lock,\n reason,\n id: this.id,\n };\n\n HmsManager.endRoom(data);\n };\n\n acceptRoleChange = () => {\n this.logger?.verbose('ACCEPT_ROLE_CHANGE', {});\n HmsManager.acceptRoleChange({ id: this.id });\n };\n\n muteAllPeersAudio = (mute: boolean) => {\n this.logger?.verbose('ON_MUTE_ALL_PEERS', { mute });\n this.muteStatus = mute;\n HmsManager.muteAllPeersAudio({ mute, id: this.id });\n };\n\n getRoom = async () => {\n this.logger?.verbose('GET_ROOM_API_CALL', { roomID: this.id });\n const hmsRoom = await HmsManager.getRoom({ id: this.id });\n\n const encodedHmsRoom = HMSEncoder.encodeHmsRoom(hmsRoom, this.id);\n return encodedHmsRoom;\n };\n\n setVolume = (track: HMSTrack, volume: number) => {\n this.logger?.verbose('SET_VOLUME_CALL', { track, volume });\n HmsManager.setVolume({\n id: this.id,\n trackId: track.trackId,\n volume,\n });\n return;\n };\n\n /**\n * - This is a prototype event listener that takes action and listens for updates related to that particular action\n * - This method will be @deprecated in future and event listener will be passed in join method\n *\n * @param {string} action\n * @param {*} callback\n * @memberof HMSSDK\n */\n addEventListener = (action: HMSUpdateListenerActions, callback: any) => {\n this.logger?.verbose('ON_ATTACH_EVENT_LISTENER', { action });\n switch (action) {\n case HMSUpdateListenerActions.ON_PREVIEW:\n this.onPreviewDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_JOIN:\n this.onJoinDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_ROOM_UPDATE:\n this.onRoomDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_PEER_UPDATE:\n this.onPeerDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_TRACK_UPDATE:\n this.onTrackDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_ERROR:\n this.onErrorDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_MESSAGE:\n this.onMessageDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_SPEAKER:\n this.onSpeakerDelegate = callback;\n break;\n case HMSUpdateListenerActions.RECONNECTING:\n this.onReconnectingDelegate = callback;\n break;\n case HMSUpdateListenerActions.RECONNECTED:\n this.onReconnectedDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST:\n this.onRoleChangeRequestDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_CHANGE_TRACK_STATE_REQUEST:\n this.onChangeTrackStateRequestDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM:\n this.onRemovedFromRoomDelegate = callback;\n break;\n default:\n }\n };\n\n /**\n * - This is a prototype event listener that takes action and listens for updates related to that particular action\n * - This method will be @deprecated in future and event listener will be passed in join method\n *\n * @param {string} action\n * @param {*} callback\n * @memberof HMSSDK\n */\n removeEventListener = (action: HMSUpdateListenerActions) => {\n this.logger?.verbose('ON_REMOVE_LISTENER', { action });\n switch (action) {\n case HMSUpdateListenerActions.ON_PREVIEW:\n this.onPreviewDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_JOIN:\n this.onJoinDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_ROOM_UPDATE:\n this.onRoomDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_PEER_UPDATE:\n this.onPeerDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_TRACK_UPDATE:\n this.onTrackDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_ERROR:\n this.onErrorDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_MESSAGE:\n this.onMessageDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_SPEAKER:\n this.onSpeakerDelegate = null;\n break;\n case HMSUpdateListenerActions.RECONNECTING:\n this.onReconnectingDelegate = null;\n break;\n case HMSUpdateListenerActions.RECONNECTED:\n this.onReconnectedDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST:\n this.onRoleChangeRequestDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_CHANGE_TRACK_STATE_REQUEST:\n this.onChangeTrackStateRequestDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM:\n this.onRemovedFromRoomDelegate = null;\n break;\n default:\n }\n };\n\n /**\n * removes all the listeners\n *\n * @memberof HMSSDK\n */\n removeAllListeners = () => {\n this.onPreviewDelegate = null;\n this.onJoinDelegate = null;\n this.onRoomDelegate = null;\n this.onPeerDelegate = null;\n this.onTrackDelegate = null;\n this.onErrorDelegate = null;\n this.onMessageDelegate = null;\n this.onSpeakerDelegate = null;\n this.onReconnectingDelegate = null;\n this.onReconnectedDelegate = null;\n this.onRoleChangeRequestDelegate = null;\n this.onChangeTrackStateRequestDelegate = null;\n this.onRemovedFromRoomDelegate = null;\n\n this.logger?.verbose('REMOVE_ALL_LISTENER', {});\n };\n\n setLogger = (hmsLogger: HMSLogger) => {\n this.logger = hmsLogger;\n hmsLogger.verbose('UPDATE_LOGGER', { hmsLogger });\n };\n\n onPreviewListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n this.logger?.verbose('ON_PREVIEW', data);\n const room: HMSRoom = HMSEncoder.encodeHmsRoom(data.room, this.id);\n const localPeer: HMSLocalPeer = HMSEncoder.encodeHmsLocalPeer(\n data.localPeer,\n this.id\n );\n\n const previewTracks = HMSEncoder.encodeHmsPreviewTracks(data.previewTracks);\n\n this.localPeer = localPeer;\n this.room = room;\n if (this.onPreviewDelegate) {\n this.logger?.verbose('ON_PREVIEW_LISTENER_CALL', {\n ...data,\n room,\n localPeer,\n previewTracks,\n });\n this.onPreviewDelegate({ ...data, room, localPeer, previewTracks });\n }\n };\n\n onJoinListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n this.logger?.verbose('ON_JOIN', data);\n // Preprocessing\n const room: HMSRoom = HMSEncoder.encodeHmsRoom(data.room, this.id);\n const localPeer: HMSLocalPeer = HMSEncoder.encodeHmsLocalPeer(\n data.localPeer,\n this.id\n );\n const remotePeers: HMSRemotePeer[] = HMSEncoder.encodeHmsRemotePeers(\n data.remotePeers,\n this.id\n );\n const roles: HMSRole[] = HMSEncoder.encodeHmsRoles(data.roles);\n this.room = room;\n this.localPeer = localPeer;\n this.remotePeers = remotePeers;\n this.knownRoles = roles;\n if (this.onJoinDelegate) {\n this.logger?.verbose('ON_JOIN_LISTENER_CALL', {\n ...data,\n room,\n localPeer,\n remotePeers,\n });\n this.onJoinDelegate({ ...data, room, localPeer, remotePeers });\n }\n };\n\n onRoomListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n this.logger?.verbose('ON_ROOM', data);\n const room: HMSRoom = HMSEncoder.encodeHmsRoom(data.room, this.id);\n const localPeer: HMSLocalPeer = HMSEncoder.encodeHmsLocalPeer(\n data.localPeer,\n this.id\n );\n const remotePeers: HMSRemotePeer[] = HMSEncoder.encodeHmsRemotePeers(\n data.remotePeers,\n this.id\n );\n this.room = room;\n this.localPeer = localPeer;\n this.remotePeers = remotePeers;\n if (this.onRoomDelegate) {\n this.logger?.verbose('ON_ROOM_LISTENER_CALL', {\n ...data,\n room,\n localPeer,\n remotePeers,\n });\n this.onRoomDelegate({ ...data, room, localPeer, remotePeers });\n }\n };\n\n onPeerListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n this.logger?.verbose('ON_PEER', data);\n const room: HMSRoom = HMSEncoder.encodeHmsRoom(data.room, this.id);\n const localPeer: HMSLocalPeer = HMSEncoder.encodeHmsLocalPeer(\n data.localPeer,\n this.id\n );\n const remotePeers: HMSRemotePeer[] = HMSEncoder.encodeHmsRemotePeers(\n data.remotePeers,\n this.id\n );\n // this.room = room;\n this.localPeer = localPeer;\n this.remotePeers = remotePeers;\n this.room = room;\n if (this.onPeerDelegate) {\n this.logger?.verbose('ON_PEER_LISTENER_CALL', data);\n this.onPeerDelegate({ ...data, localPeer, remotePeers, room });\n }\n };\n\n onTrackListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n this.logger?.verbose('ON_TRACK', data);\n const room: HMSRoom = HMSEncoder.encodeHmsRoom(data.room, this.id);\n const localPeer: HMSLocalPeer = HMSEncoder.encodeHmsLocalPeer(\n data.localPeer,\n this.id\n );\n const remotePeers: HMSRemotePeer[] = HMSEncoder.encodeHmsRemotePeers(\n data.remotePeers,\n this.id\n );\n if (this.muteStatus && data?.type === 'TRACK_ADDED') {\n this.muteAllPeersAudio(this.muteStatus);\n }\n this.room = room;\n this.localPeer = localPeer;\n this.remotePeers = remotePeers;\n if (this.onTrackDelegate) {\n this.logger?.verbose('ON_TRACK_LISTENER_CALL', data);\n this.onTrackDelegate({ ...data, localPeer, remotePeers, room });\n }\n };\n\n onMessageListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n this.logger?.verbose('ON_MESSAGE', data);\n const message = new HMSMessage(data);\n if (this.onMessageDelegate) {\n this.logger?.verbose('ON_MESSAGE_LISTENER_CALL', message);\n this.onMessageDelegate(message);\n }\n };\n\n onSpeakerListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n this.logger?.verbose('ON_SPEAKER', data);\n if (this.onSpeakerDelegate) {\n this.onSpeakerDelegate(data);\n }\n };\n\n onErrorListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n this.logger?.warn('ON_ERROR', data);\n this.logger?.verbose('ON_ERROR', data);\n if (this.onErrorDelegate) {\n this.logger?.verbose('ON_ERROR_LISTENER_CALL', data);\n this.logger?.warn('ON_ERROR_LISTENER_CALL', data);\n this.onErrorDelegate(data);\n }\n };\n\n onRoleChangeRequestListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n this.logger?.verbose('ON_ROLE_CHANGE_REQUEST', data);\n if (this.onRoleChangeRequestDelegate) {\n const encodedRoleChangeRequest = HMSEncoder.encodeHmsRoleChangeRequest(\n data,\n this.id\n );\n this.logger?.verbose(\n 'ON_ROLE_CHANGE_LISTENER_CALL',\n encodedRoleChangeRequest\n );\n this.onRoleChangeRequestDelegate(encodedRoleChangeRequest);\n }\n };\n\n onChangeTrackStateRequestListener = (data: any) => {\n this.logger?.verbose('ON_CHANGE_TRACK_STATE_REQUEST', data);\n if (this.onChangeTrackStateRequestDelegate) {\n const encodedRoleChangeRequest =\n HMSEncoder.encodeHmsChangeTrackStateRequest(data, this.id);\n this.logger?.verbose(\n 'ON_CHANGE_TRACK_STATE_REQUEST_LISTENER_CALL',\n encodedRoleChangeRequest\n );\n this.onChangeTrackStateRequestDelegate(encodedRoleChangeRequest);\n }\n };\n\n onRemovedFromRoomListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n this.logger?.verbose('ON_REMOVED_FROM_ROOM', data);\n if (this.onRemovedFromRoomDelegate) {\n let requestedBy = null;\n if (data.requestedBy) {\n requestedBy = HMSEncoder.encodeHmsPeer(data.requestedBy, this.id);\n }\n const reason = data.reason;\n const roomEnded = data.roomEnded;\n\n this.logger?.verbose('ON_REMOVED_FROM_ROOM_LISTENER_CALL', {\n requestedBy,\n reason,\n roomEnded,\n });\n this.onRemovedFromRoomDelegate({ requestedBy, reason, roomEnded });\n }\n };\n\n reconnectingListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n this.logger?.verbose('ON_RECONNECTING', data);\n if (this.onReconnectingDelegate) {\n this.onReconnectingDelegate(data);\n }\n };\n\n reconnectedListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n this.logger?.verbose('ON_RECONNECTED', data);\n if (this.onReconnectedDelegate) {\n this.onReconnectedDelegate(data);\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["HMSSDK.tsx"],"names":["React","NativeEventEmitter","NativeModules","HMSUpdateListenerActions","HMSEncoder","HMSMessage","HMSHelper","HmsView","HMSViewComponent","HMSVideoViewMode","HmsManager","HmsEventEmitter","HmsSdk","logger","HMSSDK","constructor","id","hmsLogger","verbose","removeListeners","addListener","ON_PREVIEW","onPreviewListener","ON_JOIN","onJoinListener","ON_ROOM_UPDATE","onRoomListener","ON_PEER_UPDATE","onPeerListener","ON_TRACK_UPDATE","onTrackListener","ON_ERROR","onErrorListener","ON_MESSAGE","onMessageListener","ON_SPEAKER","onSpeakerListener","RECONNECTING","reconnectingListener","RECONNECTED","reconnectedListener","ON_ROLE_CHANGE_REQUEST","onRoleChangeRequestListener","ON_CHANGE_TRACK_STATE_REQUEST","onChangeTrackStateRequestListener","ON_REMOVED_FROM_ROOM","onRemovedFromRoomListener","removeListener","config","join","preview","sink","trackId","style","mirror","scaleType","ASPECT_FIT","data","op","leave","muteStatus","undefined","localPeer","remotePeers","room","knownRoles","message","type","sendBroadcastMessage","roles","sendGroupMessage","getRoleNames","peerId","sendDirectMessage","metadata","changeMetadata","startRTMPOrRecording","stopRtmpAndRecording","peer","role","force","peerID","name","changeRole","track","mute","changeTrackState","source","changeTrackStateRoles","reason","removePeer","lock","endRoom","acceptRoleChange","muteAllPeersAudio","roomID","hmsRoom","getRoom","encodedHmsRoom","encodeHmsRoom","volume","setVolume","action","callback","onPreviewDelegate","onJoinDelegate","onRoomDelegate","onPeerDelegate","onTrackDelegate","onErrorDelegate","onMessageDelegate","onSpeakerDelegate","onReconnectingDelegate","onReconnectedDelegate","onRoleChangeRequestDelegate","onChangeTrackStateRequestDelegate","onRemovedFromRoomDelegate","encodeHmsLocalPeer","previewTracks","encodeHmsPreviewTracks","encodeHmsRemotePeers","encodeHmsRoles","encodeHmsPeer","encodeHmsTrack","warn","encodedRoleChangeRequest","encodeHmsRoleChangeRequest","encodeHmsChangeTrackStateRequest","requestedBy","roomEnded","build","params","trackSettings","attachPreviewListener","attachListeners","getLogger"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { NativeEventEmitter, NativeModules, ViewStyle } from 'react-native';\nimport { HMSUpdateListenerActions } from './HMSUpdateListenerActions';\nimport type { HMSConfig } from './HMSConfig';\nimport type { HMSLocalPeer } from './HMSLocalPeer';\nimport type { HMSRemotePeer } from './HMSRemotePeer';\nimport type { HMSRoom } from './HMSRoom';\nimport type { HMSRole } from './HMSRole';\nimport { HMSEncoder } from './HMSEncoder';\nimport { HMSMessage } from './HMSMessage';\nimport { HMSHelper } from './HMSHelper';\nimport type { HMSTrack } from './HMSTrack';\nimport type { HMSTrackType } from './HMSTrackType';\nimport type { HMSLogger } from './HMSLogger';\nimport type { HMSPeer } from './HMSPeer';\nimport { HmsView as HMSViewComponent } from './HmsView';\nimport { HMSVideoViewMode } from './HMSVideoViewMode';\nimport type { HMSTrackSettings } from './HMSTrackSettings';\nimport type { HMSRTMPConfig } from './HMSRTMPConfig';\n\ninterface HmsComponentProps {\n trackId: string;\n sink: boolean;\n style: ViewStyle;\n mirror?: boolean;\n scaleType: HMSVideoViewMode;\n id?: string | null;\n}\n\nconst {\n /**\n * @ignore\n */\n HmsManager,\n} = NativeModules;\n\nconst HmsEventEmitter = new NativeEventEmitter(HmsManager);\n\nlet HmsSdk: HMSSDK | undefined;\n\nlet logger: HMSLogger | undefined;\n\nexport class HMSSDK {\n room?: HMSRoom;\n localPeer?: HMSLocalPeer;\n remotePeers?: HMSRemotePeer[];\n knownRoles?: HMSRole[];\n id: string;\n private muteStatus: boolean | undefined;\n\n onPreviewDelegate?: any;\n onJoinDelegate?: any;\n onRoomDelegate?: any;\n onPeerDelegate?: any;\n onTrackDelegate?: any;\n onErrorDelegate?: any;\n onMessageDelegate?: any;\n onSpeakerDelegate?: any;\n onReconnectingDelegate?: any;\n onReconnectedDelegate?: any;\n onRoleChangeRequestDelegate?: any;\n onChangeTrackStateRequestDelegate?: any;\n onRemovedFromRoomDelegate?: any;\n\n constructor(id: string) {\n this.id = id;\n }\n\n /**\n * - Returns an instance of [HMSSDK]{@link HMSSDK}\n * - This function must be called to get an instance of HMSSDK class and only then user can interact with its methods\n *\n * @static\n * @returns\n * @memberof HMSSDK\n */\n static async build(params?: { trackSettings?: HMSTrackSettings }) {\n let id = await HmsManager.build(params?.trackSettings || {});\n HmsSdk = new HMSSDK(id);\n HmsSdk.attachPreviewListener();\n HmsSdk.attachListeners();\n return HmsSdk;\n }\n\n static getLogger() {\n return logger;\n }\n\n setLogger = (hmsLogger: HMSLogger) => {\n logger = hmsLogger;\n hmsLogger.verbose('#Function setLogger', { id: this.id });\n };\n\n destroy = () => {\n this.removeListeners();\n };\n\n attachPreviewListener = () => {\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_PREVIEW,\n this.onPreviewListener\n );\n };\n\n attachListeners = () => {\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_JOIN,\n this.onJoinListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_ROOM_UPDATE,\n this.onRoomListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_PEER_UPDATE,\n this.onPeerListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_TRACK_UPDATE,\n this.onTrackListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_ERROR,\n this.onErrorListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_MESSAGE,\n this.onMessageListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_SPEAKER,\n this.onSpeakerListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.RECONNECTING,\n this.reconnectingListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.RECONNECTED,\n this.reconnectedListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST,\n this.onRoleChangeRequestListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_CHANGE_TRACK_STATE_REQUEST,\n this.onChangeTrackStateRequestListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM,\n this.onRemovedFromRoomListener\n );\n };\n\n removeListeners = () => {\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_JOIN,\n this.onJoinListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_ROOM_UPDATE,\n this.onRoomListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_PEER_UPDATE,\n this.onPeerListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_TRACK_UPDATE,\n this.onTrackListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_ERROR,\n this.onErrorListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_MESSAGE,\n this.onMessageListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_SPEAKER,\n this.onSpeakerListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.RECONNECTING,\n this.reconnectingListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.RECONNECTED,\n this.reconnectedListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST,\n this.onRoleChangeRequestListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_CHANGE_TRACK_STATE_REQUEST,\n this.onChangeTrackStateRequestListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM,\n this.onRemovedFromRoomListener\n );\n };\n\n /**\n * takes an instance of [HMSConfig]{@link HMSConfig} and joins the room\n * after joining the room user will start receiving the events and updates of the room\n *\n * @param {HMSConfig} config\n * @memberof HMSSDK\n */\n join = async (config: HMSConfig) => {\n logger?.verbose('#Function join', { config, id: this.id });\n await HmsManager.join({ ...config, id: this.id });\n };\n\n preview = (config: HMSConfig) => {\n logger?.verbose('#Function preview', { config, id: this.id });\n HmsManager.preview({ ...config, id: this.id });\n };\n\n HmsView = ({\n sink,\n trackId,\n style,\n mirror,\n scaleType = HMSVideoViewMode.ASPECT_FIT,\n }: HmsComponentProps) => {\n return (\n <HMSViewComponent\n sink={sink}\n trackId={trackId}\n style={style}\n mirror={mirror}\n scaleType={scaleType}\n id={this.id}\n />\n );\n };\n\n /**\n * Calls leave function of native sdk and session of current user is invalidated\n *\n * @memberof HMSSDK\n */\n leave = async () => {\n logger?.verbose('#Function leave', { id: this.id });\n const data = {\n id: this.id,\n };\n\n const op = await HmsManager.leave(data);\n this.muteStatus = undefined;\n this.localPeer = undefined;\n this.remotePeers = undefined;\n this.room = undefined;\n this.knownRoles = undefined;\n return op;\n };\n\n sendBroadcastMessage = async (message: string, type?: string) => {\n logger?.verbose('#Function sendBroadcastMessage', {\n message,\n type: type || null,\n id: this.id,\n });\n return await HmsManager.sendBroadcastMessage({\n message,\n type: type || null,\n id: this.id,\n });\n };\n\n sendGroupMessage = async (\n message: string,\n roles: HMSRole[],\n type?: string\n ) => {\n logger?.verbose('#Function sendGroupMessage', {\n message,\n roles,\n id: this.id,\n type: type || null,\n });\n return await HmsManager.sendGroupMessage({\n message,\n roles: HMSHelper.getRoleNames(roles),\n id: this.id,\n type: type || null,\n });\n };\n\n sendDirectMessage = async (\n message: string,\n peerId: string,\n type?: string\n ) => {\n logger?.verbose('#Function sendDirectMessage', {\n message,\n peerId,\n id: this.id,\n type: type || null,\n });\n return await HmsManager.sendDirectMessage({\n message,\n peerId,\n id: this.id,\n type: type || null,\n });\n };\n\n changeMetadata = (metadata: string) => {\n logger?.verbose('#Function changeMetadata', { metadata, id: this.id });\n HmsManager.changeMetadata({ metadata, id: this.id });\n };\n\n startRTMPOrRecording = async (data: HMSRTMPConfig) => {\n logger?.verbose('#Function startRTMPOrRecording', {\n ...data,\n id: this.id,\n });\n\n const op = await HmsManager.startRTMPOrRecording({ ...data, id: this.id });\n return op;\n };\n\n stopRtmpAndRecording = async () => {\n logger?.verbose('#Function stopRtmpAndRecording', {});\n const op = await HmsManager.stopRtmpAndRecording({ id: this.id });\n return op;\n };\n\n changeRole = async (peer: HMSPeer, role: HMSRole, force: boolean = false) => {\n const data = {\n peerId: peer?.peerID,\n role: role?.name,\n force: force,\n id: this.id,\n };\n logger?.verbose('#Function changeRole', data);\n return await HmsManager.changeRole(data);\n };\n\n changeTrackState = async (track: HMSTrack, mute: boolean) => {\n logger?.verbose('#Function changeTrackState', {\n track,\n mute,\n id: this.id,\n });\n const data = {\n trackId: track.trackId,\n mute,\n id: this.id,\n };\n\n return await HmsManager.changeTrackState(data);\n };\n\n changeTrackStateRoles = async (\n type: HMSTrackType,\n mute: boolean,\n source: string,\n roles: Array<HMSRole>\n ) => {\n logger?.verbose('#Function changeTrackStateRoles', {\n source,\n mute,\n type,\n roles,\n id: this.id,\n });\n const data = {\n source,\n mute,\n type,\n roles: HMSHelper.getRoleNames(roles),\n id: this.id,\n };\n\n return await HmsManager.changeTrackStateRoles(data);\n };\n\n removePeer = async (peerId: string, reason: string) => {\n logger?.verbose('#Function removePeer', { peerId, reason, id: this.id });\n const data = {\n peerId,\n reason,\n id: this.id,\n };\n\n return await HmsManager.removePeer(data);\n };\n\n endRoom = async (lock: boolean, reason: string) => {\n logger?.verbose('#Function endRoom', { lock, reason, id: this.id });\n const data = {\n lock,\n reason,\n id: this.id,\n };\n\n return await HmsManager.endRoom(data);\n };\n\n acceptRoleChange = () => {\n logger?.verbose('#Function acceptRoleChange', { id: this.id });\n HmsManager.acceptRoleChange({ id: this.id });\n };\n\n muteAllPeersAudio = (mute: boolean) => {\n logger?.verbose('#Function muteAllPeersAudio', { mute, id: this.id });\n this.muteStatus = mute;\n HmsManager.muteAllPeersAudio({ mute, id: this.id });\n };\n\n getRoom = async () => {\n logger?.verbose('#Function getRoom', {\n roomID: this.room?.id,\n id: this.id,\n });\n const hmsRoom = await HmsManager.getRoom({ id: this.id });\n\n const encodedHmsRoom = HMSEncoder.encodeHmsRoom(hmsRoom, this.id);\n return encodedHmsRoom;\n };\n\n setVolume = (track: HMSTrack, volume: number) => {\n logger?.verbose('#Function setVolume', {\n track,\n volume,\n id: this.id,\n });\n HmsManager.setVolume({\n id: this.id,\n trackId: track.trackId,\n volume,\n });\n return;\n };\n\n /**\n * - This is a prototype event listener that takes action and listens for updates related to that particular action\n * - This method will be @deprecated in future and event listener will be passed in join method\n *\n * @param {string} action\n * @param {*} callback\n * @memberof HMSSDK\n */\n addEventListener = (action: HMSUpdateListenerActions, callback: any) => {\n logger?.verbose('#Function addEventListener', {\n action,\n id: this.id,\n });\n switch (action) {\n case HMSUpdateListenerActions.ON_PREVIEW:\n this.onPreviewDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_JOIN:\n this.onJoinDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_ROOM_UPDATE:\n this.onRoomDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_PEER_UPDATE:\n this.onPeerDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_TRACK_UPDATE:\n this.onTrackDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_ERROR:\n this.onErrorDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_MESSAGE:\n this.onMessageDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_SPEAKER:\n this.onSpeakerDelegate = callback;\n break;\n case HMSUpdateListenerActions.RECONNECTING:\n this.onReconnectingDelegate = callback;\n break;\n case HMSUpdateListenerActions.RECONNECTED:\n this.onReconnectedDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST:\n this.onRoleChangeRequestDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_CHANGE_TRACK_STATE_REQUEST:\n this.onChangeTrackStateRequestDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM:\n this.onRemovedFromRoomDelegate = callback;\n break;\n default:\n }\n };\n\n /**\n * - This is a prototype event listener that takes action and listens for updates related to that particular action\n * - This method will be @deprecated in future and event listener will be passed in join method\n *\n * @param {string} action\n * @param {*} callback\n * @memberof HMSSDK\n */\n removeEventListener = (action: HMSUpdateListenerActions) => {\n logger?.verbose('#Function removeEventListener', { action, id: this.id });\n switch (action) {\n case HMSUpdateListenerActions.ON_PREVIEW:\n this.onPreviewDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_JOIN:\n this.onJoinDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_ROOM_UPDATE:\n this.onRoomDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_PEER_UPDATE:\n this.onPeerDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_TRACK_UPDATE:\n this.onTrackDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_ERROR:\n this.onErrorDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_MESSAGE:\n this.onMessageDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_SPEAKER:\n this.onSpeakerDelegate = null;\n break;\n case HMSUpdateListenerActions.RECONNECTING:\n this.onReconnectingDelegate = null;\n break;\n case HMSUpdateListenerActions.RECONNECTED:\n this.onReconnectedDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST:\n this.onRoleChangeRequestDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_CHANGE_TRACK_STATE_REQUEST:\n this.onChangeTrackStateRequestDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM:\n this.onRemovedFromRoomDelegate = null;\n break;\n default:\n }\n };\n\n /**\n * removes all the listeners\n *\n * @memberof HMSSDK\n */\n removeAllListeners = () => {\n this.onPreviewDelegate = null;\n this.onJoinDelegate = null;\n this.onRoomDelegate = null;\n this.onPeerDelegate = null;\n this.onTrackDelegate = null;\n this.onErrorDelegate = null;\n this.onMessageDelegate = null;\n this.onSpeakerDelegate = null;\n this.onReconnectingDelegate = null;\n this.onReconnectedDelegate = null;\n this.onRoleChangeRequestDelegate = null;\n this.onChangeTrackStateRequestDelegate = null;\n this.onRemovedFromRoomDelegate = null;\n\n logger?.verbose('#Function REMOVE_ALL_LISTENER', { id: this.id });\n };\n\n onPreviewListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_PREVIEW', data);\n const room: HMSRoom = HMSEncoder.encodeHmsRoom(data.room, this.id);\n const localPeer: HMSLocalPeer = HMSEncoder.encodeHmsLocalPeer(\n data.localPeer,\n this.id\n );\n\n const previewTracks = HMSEncoder.encodeHmsPreviewTracks(data.previewTracks);\n\n this.localPeer = localPeer;\n this.room = room;\n if (this.onPreviewDelegate) {\n logger?.verbose('#Listener ON_PREVIEW_LISTENER_CALL', {\n ...data,\n room,\n localPeer,\n previewTracks,\n });\n this.onPreviewDelegate({ ...data, room, localPeer, previewTracks });\n }\n };\n\n onJoinListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#LISTENER ON_JOIN', data);\n // Preprocessing\n const room: HMSRoom = HMSEncoder.encodeHmsRoom(data.room, this.id);\n const localPeer: HMSLocalPeer = HMSEncoder.encodeHmsLocalPeer(\n data.localPeer,\n this.id\n );\n const remotePeers: HMSRemotePeer[] = HMSEncoder.encodeHmsRemotePeers(\n data.remotePeers,\n this.id\n );\n const roles: HMSRole[] = HMSEncoder.encodeHmsRoles(data.roles);\n this.room = room;\n this.localPeer = localPeer;\n this.remotePeers = remotePeers;\n this.knownRoles = roles;\n if (this.onJoinDelegate) {\n logger?.verbose('#Listener ON_JOIN_LISTENER_CALL', {\n ...data,\n room,\n localPeer,\n remotePeers,\n });\n this.onJoinDelegate({ ...data, room, localPeer, remotePeers });\n }\n };\n\n onRoomListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_ROOM', data);\n const room: HMSRoom = HMSEncoder.encodeHmsRoom(data.room, this.id);\n const localPeer: HMSLocalPeer = HMSEncoder.encodeHmsLocalPeer(\n data.localPeer,\n this.id\n );\n const remotePeers: HMSRemotePeer[] = HMSEncoder.encodeHmsRemotePeers(\n data.remotePeers,\n this.id\n );\n this.room = room;\n this.localPeer = localPeer;\n this.remotePeers = remotePeers;\n if (this.onRoomDelegate) {\n logger?.verbose('#Listener ON_ROOM_LISTENER_CALL', {\n ...data,\n room,\n localPeer,\n remotePeers,\n });\n this.onRoomDelegate({ ...data, room, localPeer, remotePeers });\n }\n };\n\n onPeerListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_PEER', data);\n const peer: HMSPeer = HMSEncoder.encodeHmsPeer(data.peer, this.id);\n const room: HMSRoom = HMSEncoder.encodeHmsRoom(data.room, this.id);\n const localPeer: HMSLocalPeer = HMSEncoder.encodeHmsLocalPeer(\n data.localPeer,\n this.id\n );\n const remotePeers: HMSRemotePeer[] = HMSEncoder.encodeHmsRemotePeers(\n data.remotePeers,\n this.id\n );\n // this.room = room;\n this.localPeer = localPeer;\n this.remotePeers = remotePeers;\n this.room = room;\n if (this.onPeerDelegate) {\n logger?.verbose('#Listener ON_PEER_LISTENER_CALL', data);\n this.onPeerDelegate({ ...data, localPeer, remotePeers, room, peer });\n }\n };\n\n onTrackListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_TRACK', data);\n const track: HMSTrack = HMSEncoder.encodeHmsTrack(data.track, this.id);\n const peer: HMSPeer = HMSEncoder.encodeHmsPeer(data.peer, this.id);\n const room: HMSRoom = HMSEncoder.encodeHmsRoom(data.room, this.id);\n const localPeer: HMSLocalPeer = HMSEncoder.encodeHmsLocalPeer(\n data.localPeer,\n this.id\n );\n const remotePeers: HMSRemotePeer[] = HMSEncoder.encodeHmsRemotePeers(\n data.remotePeers,\n this.id\n );\n if (this.muteStatus && data?.type === 'TRACK_ADDED') {\n this.muteAllPeersAudio(this.muteStatus);\n }\n this.room = room;\n this.localPeer = localPeer;\n this.remotePeers = remotePeers;\n if (this.onTrackDelegate) {\n logger?.verbose('#Listener ON_TRACK_LISTENER_CALL', data);\n this.onTrackDelegate({\n ...data,\n localPeer,\n remotePeers,\n room,\n peer,\n track,\n });\n }\n };\n\n onMessageListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_MESSAGE', data);\n const message = new HMSMessage(data);\n if (this.onMessageDelegate) {\n logger?.verbose('#Listener ON_MESSAGE_LISTENER_CALL', message);\n this.onMessageDelegate(message);\n }\n };\n\n onSpeakerListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_SPEAKER', data);\n if (this.onSpeakerDelegate) {\n logger?.verbose('#Listener ON_SPEAKER_LISTENER_CALL', data);\n this.onSpeakerDelegate(data);\n }\n };\n\n onErrorListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.warn('#Listener ON_ERROR', data);\n logger?.verbose('#Listener ON_ERROR', data);\n if (this.onErrorDelegate) {\n logger?.verbose('#Listener ON_ERROR_LISTENER_CALL', data);\n logger?.warn('#Listener ON_ERROR_LISTENER_CALL', data);\n this.onErrorDelegate(data);\n }\n };\n\n onRoleChangeRequestListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_ROLE_CHANGE_REQUEST', data);\n if (this.onRoleChangeRequestDelegate) {\n const encodedRoleChangeRequest = HMSEncoder.encodeHmsRoleChangeRequest(\n data,\n this.id\n );\n logger?.verbose(\n '#Listener ON_ROLE_CHANGE_LISTENER_CALL',\n encodedRoleChangeRequest\n );\n this.onRoleChangeRequestDelegate(encodedRoleChangeRequest);\n }\n };\n\n onChangeTrackStateRequestListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_CHANGE_TRACK_STATE_REQUEST', data);\n if (this.onChangeTrackStateRequestDelegate) {\n const encodedRoleChangeRequest =\n HMSEncoder.encodeHmsChangeTrackStateRequest(data, this.id);\n logger?.verbose(\n '#Listener ON_CHANGE_TRACK_STATE_REQUEST_LISTENER_CALL',\n encodedRoleChangeRequest\n );\n this.onChangeTrackStateRequestDelegate(encodedRoleChangeRequest);\n }\n };\n\n onRemovedFromRoomListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_REMOVED_FROM_ROOM', data);\n if (this.onRemovedFromRoomDelegate) {\n let requestedBy = null;\n if (data.requestedBy) {\n requestedBy = HMSEncoder.encodeHmsPeer(data.requestedBy, this.id);\n }\n const reason = data.reason;\n const roomEnded = data.roomEnded;\n\n logger?.verbose('#Listener ON_REMOVED_FROM_ROOM_LISTENER_CALL', {\n requestedBy,\n reason,\n roomEnded,\n id: this.id,\n });\n this.onRemovedFromRoomDelegate({ requestedBy, reason, roomEnded });\n }\n };\n\n reconnectingListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_RECONNECTING', data);\n if (this.onReconnectingDelegate) {\n this.onReconnectingDelegate(data);\n }\n };\n\n reconnectedListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_RECONNECTED', data);\n if (this.onReconnectedDelegate) {\n this.onReconnectedDelegate(data);\n }\n };\n}\n"]}
@@ -6,9 +6,12 @@ export class HMSTrackSettings {
6
6
 
7
7
  _defineProperty(this, "audio", void 0);
8
8
 
9
+ _defineProperty(this, "useHardwareEchoCancellation", void 0);
10
+
9
11
  if (params) {
10
12
  this.video = params.video;
11
13
  this.audio = params.audio;
14
+ this.useHardwareEchoCancellation = params.useHardwareEchoCancellation;
12
15
  }
13
16
  }
14
17
 
@@ -1 +1 @@
1
- {"version":3,"sources":["HMSTrackSettings.ts"],"names":["HMSTrackSettings","constructor","params","video","audio"],"mappings":";;AAGA,OAAO,MAAMA,gBAAN,CAAuB;AAI5BC,EAAAA,WAAW,CAACC,MAAD,EAGR;AAAA;;AAAA;;AACD,QAAIA,MAAJ,EAAY;AACV,WAAKC,KAAL,GAAaD,MAAM,CAACC,KAApB;AACA,WAAKC,KAAL,GAAaF,MAAM,CAACE,KAApB;AACD;AACF;;AAZ2B","sourcesContent":["import type { HMSAudioTrackSettings } from './HMSAudioTrackSettings';\nimport type { HMSVideoTrackSettings } from './HMSVideoTrackSettings';\n\nexport class HMSTrackSettings {\n video?: HMSVideoTrackSettings;\n audio?: HMSAudioTrackSettings;\n\n constructor(params?: {\n video?: HMSVideoTrackSettings;\n audio?: HMSAudioTrackSettings;\n }) {\n if (params) {\n this.video = params.video;\n this.audio = params.audio;\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["HMSTrackSettings.ts"],"names":["HMSTrackSettings","constructor","params","video","audio","useHardwareEchoCancellation"],"mappings":";;AAGA,OAAO,MAAMA,gBAAN,CAAuB;AAK5BC,EAAAA,WAAW,CAACC,MAAD,EAIR;AAAA;;AAAA;;AAAA;;AACD,QAAIA,MAAJ,EAAY;AACV,WAAKC,KAAL,GAAaD,MAAM,CAACC,KAApB;AACA,WAAKC,KAAL,GAAaF,MAAM,CAACE,KAApB;AACA,WAAKC,2BAAL,GAAmCH,MAAM,CAACG,2BAA1C;AACD;AACF;;AAf2B","sourcesContent":["import type { HMSAudioTrackSettings } from './HMSAudioTrackSettings';\nimport type { HMSVideoTrackSettings } from './HMSVideoTrackSettings';\n\nexport class HMSTrackSettings {\n video?: HMSVideoTrackSettings;\n audio?: HMSAudioTrackSettings;\n useHardwareEchoCancellation?: boolean;\n\n constructor(params?: {\n video?: HMSVideoTrackSettings;\n audio?: HMSAudioTrackSettings;\n useHardwareEchoCancellation?: boolean;\n }) {\n if (params) {\n this.video = params.video;\n this.audio = params.audio;\n this.useHardwareEchoCancellation = params.useHardwareEchoCancellation;\n }\n }\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  export let HMSVideoCodec;
2
2
 
3
3
  (function (HMSVideoCodec) {
4
- HMSVideoCodec["h264"] = "h264";
5
- HMSVideoCodec["vp8"] = "vp8";
6
- HMSVideoCodec["vp9"] = "vp9";
7
- HMSVideoCodec["h265"] = "h265";
4
+ HMSVideoCodec["H264"] = "H264";
5
+ HMSVideoCodec["VP8"] = "VP8";
6
+ HMSVideoCodec["VP9"] = "VP9";
7
+ HMSVideoCodec["H265"] = "H265";
8
8
  })(HMSVideoCodec || (HMSVideoCodec = {}));
9
9
  //# sourceMappingURL=HMSVideoCodec.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["HMSVideoCodec.ts"],"names":["HMSVideoCodec"],"mappings":"AAAA,WAAYA,aAAZ;;WAAYA,a;AAAAA,EAAAA,a;AAAAA,EAAAA,a;AAAAA,EAAAA,a;AAAAA,EAAAA,a;GAAAA,a,KAAAA,a","sourcesContent":["export enum HMSVideoCodec {\n h264 = 'h264',\n vp8 = 'vp8',\n vp9 = 'vp9',\n h265 = 'h265',\n}\n"]}
1
+ {"version":3,"sources":["HMSVideoCodec.ts"],"names":["HMSVideoCodec"],"mappings":"AAAA,WAAYA,aAAZ;;WAAYA,a;AAAAA,EAAAA,a;AAAAA,EAAAA,a;AAAAA,EAAAA,a;AAAAA,EAAAA,a;GAAAA,a,KAAAA,a","sourcesContent":["export enum HMSVideoCodec {\n H264 = 'H264',\n VP8 = 'VP8',\n VP9 = 'VP9',\n H265 = 'H265',\n}\n"]}
@@ -46,6 +46,7 @@ export * from './classes/HMSRtmpStreamingState';
46
46
  export * from './classes/HMSServerRecordingState';
47
47
  export * from './classes/HMSBrowserRecordingState';
48
48
  export * from './classes/HMSRTMPConfig';
49
+ export * from './classes/HMSVideoResolution';
49
50
  import { HMSSDK as HmsManager } from './classes/HMSSDK';
50
51
  export default HmsManager;
51
52
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["HMSSDK","HmsManager"],"mappings":"AAAA,cAAc,qBAAd;AACA,cAAc,oCAAd;AACA,cAAc,sBAAd;AACA,cAAc,mBAAd;AACA,cAAc,iCAAd;AACA,cAAc,yBAAd;AACA,cAAc,4BAAd;AACA,cAAc,yBAAd;AACA,cAAc,4BAAd;AACA,cAAc,oBAAd;AACA,cAAc,wBAAd;AACA,cAAc,gCAAd;AACA,cAAc,gCAAd;AACA,cAAc,qCAAd;AACA,cAAc,kBAAd;AACA,cAAc,mBAAd;AACA,cAAc,gCAAd;AACA,cAAc,mBAAd;AACA,cAAc,+BAAd;AACA,cAAc,yBAAd;AACA,cAAc,+BAAd;AACA,cAAc,8BAAd;AACA,cAAc,0BAAd;AACA,cAAc,mBAAd;AACA,cAAc,8BAAd;AACA,cAAc,wBAAd;AACA,cAAc,8BAAd;AACA,cAAc,qBAAd;AACA,cAAc,sBAAd;AACA,cAAc,iCAAd;AACA,cAAc,yBAAd;AACA,cAAc,4BAAd;AACA,cAAc,yBAAd;AACA,cAAc,yBAAd;AACA,cAAc,yBAAd;AACA,cAAc,0BAAd;AACA,cAAc,qBAAd;AACA,cAAc,uBAAd;AACA,cAAc,4BAAd;AACA,cAAc,sCAAd;AACA,cAAc,sBAAd;AACA,cAAc,4BAAd;AACA,cAAc,2BAAd;AACA,cAAc,wBAAd;AACA,cAAc,iCAAd;AACA,cAAc,mCAAd;AACA,cAAc,oCAAd;AACA,cAAc,yBAAd;AAEA,SAASA,MAAM,IAAIC,UAAnB,QAAqC,kBAArC;AACA,eAAeA,UAAf","sourcesContent":["export * from './classes/HMSConfig';\nexport * from './classes/HMSUpdateListenerActions';\nexport * from './classes/HMSMessage';\nexport * from './classes/HmsView';\nexport * from './classes/HMSVideoTrackSettings';\nexport * from './classes/HMSVideoTrack';\nexport * from './classes/HMSVideoSettings';\nexport * from './classes/HMSVideoCodec';\nexport * from './classes/HMSTrackSettings';\nexport * from './classes/HMSTrack';\nexport * from './classes/HMSTrackType';\nexport * from './classes/HMSSubscribeSettings';\nexport * from './classes/HMSSimulcastSettings';\nexport * from './classes/HMSSimulcastLayerSettings';\nexport * from './classes/HMSSDK';\nexport * from './classes/HMSRoom';\nexport * from './classes/HMSRoleChangeRequest';\nexport * from './classes/HMSRole';\nexport * from './classes/HMSRemoteVideoTrack';\nexport * from './classes/HMSRemotePeer';\nexport * from './classes/HMSRemoteAudioTrack';\nexport * from './classes/HMSPublishSettings';\nexport * from './classes/HMSPermissions';\nexport * from './classes/HMSPeer';\nexport * from './classes/HMSLocalVideoTrack';\nexport * from './classes/HMSLocalPeer';\nexport * from './classes/HMSLocalAudioTrack';\nexport * from './classes/HMSHelper';\nexport * from './classes/HMSEncoder';\nexport * from './classes/HMSAudioTrackSettings';\nexport * from './classes/HMSAudioTrack';\nexport * from './classes/HMSAudioSettings';\nexport * from './classes/HMSAudioCodec';\nexport * from './classes/HMSPeerUpdate';\nexport * from './classes/HMSRoomUpdate';\nexport * from './classes/HMSTrackUpdate';\nexport * from './classes/HMSLogger';\nexport * from './classes/HMSLogLevel';\nexport * from './classes/HMSVideoViewMode';\nexport * from './classes/HMSChangeTrackStateRequest';\nexport * from './classes/HMSSpeaker';\nexport * from './classes/HMSSpeakerUpdate';\nexport * from './classes/HMSCameraFacing';\nexport * from './classes/HMSException';\nexport * from './classes/HMSRtmpStreamingState';\nexport * from './classes/HMSServerRecordingState';\nexport * from './classes/HMSBrowserRecordingState';\nexport * from './classes/HMSRTMPConfig';\n\nimport { HMSSDK as HmsManager } from './classes/HMSSDK';\nexport default HmsManager;\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":["HMSSDK","HmsManager"],"mappings":"AAAA,cAAc,qBAAd;AACA,cAAc,oCAAd;AACA,cAAc,sBAAd;AACA,cAAc,mBAAd;AACA,cAAc,iCAAd;AACA,cAAc,yBAAd;AACA,cAAc,4BAAd;AACA,cAAc,yBAAd;AACA,cAAc,4BAAd;AACA,cAAc,oBAAd;AACA,cAAc,wBAAd;AACA,cAAc,gCAAd;AACA,cAAc,gCAAd;AACA,cAAc,qCAAd;AACA,cAAc,kBAAd;AACA,cAAc,mBAAd;AACA,cAAc,gCAAd;AACA,cAAc,mBAAd;AACA,cAAc,+BAAd;AACA,cAAc,yBAAd;AACA,cAAc,+BAAd;AACA,cAAc,8BAAd;AACA,cAAc,0BAAd;AACA,cAAc,mBAAd;AACA,cAAc,8BAAd;AACA,cAAc,wBAAd;AACA,cAAc,8BAAd;AACA,cAAc,qBAAd;AACA,cAAc,sBAAd;AACA,cAAc,iCAAd;AACA,cAAc,yBAAd;AACA,cAAc,4BAAd;AACA,cAAc,yBAAd;AACA,cAAc,yBAAd;AACA,cAAc,yBAAd;AACA,cAAc,0BAAd;AACA,cAAc,qBAAd;AACA,cAAc,uBAAd;AACA,cAAc,4BAAd;AACA,cAAc,sCAAd;AACA,cAAc,sBAAd;AACA,cAAc,4BAAd;AACA,cAAc,2BAAd;AACA,cAAc,wBAAd;AACA,cAAc,iCAAd;AACA,cAAc,mCAAd;AACA,cAAc,oCAAd;AACA,cAAc,yBAAd;AACA,cAAc,8BAAd;AAEA,SAASA,MAAM,IAAIC,UAAnB,QAAqC,kBAArC;AACA,eAAeA,UAAf","sourcesContent":["export * from './classes/HMSConfig';\nexport * from './classes/HMSUpdateListenerActions';\nexport * from './classes/HMSMessage';\nexport * from './classes/HmsView';\nexport * from './classes/HMSVideoTrackSettings';\nexport * from './classes/HMSVideoTrack';\nexport * from './classes/HMSVideoSettings';\nexport * from './classes/HMSVideoCodec';\nexport * from './classes/HMSTrackSettings';\nexport * from './classes/HMSTrack';\nexport * from './classes/HMSTrackType';\nexport * from './classes/HMSSubscribeSettings';\nexport * from './classes/HMSSimulcastSettings';\nexport * from './classes/HMSSimulcastLayerSettings';\nexport * from './classes/HMSSDK';\nexport * from './classes/HMSRoom';\nexport * from './classes/HMSRoleChangeRequest';\nexport * from './classes/HMSRole';\nexport * from './classes/HMSRemoteVideoTrack';\nexport * from './classes/HMSRemotePeer';\nexport * from './classes/HMSRemoteAudioTrack';\nexport * from './classes/HMSPublishSettings';\nexport * from './classes/HMSPermissions';\nexport * from './classes/HMSPeer';\nexport * from './classes/HMSLocalVideoTrack';\nexport * from './classes/HMSLocalPeer';\nexport * from './classes/HMSLocalAudioTrack';\nexport * from './classes/HMSHelper';\nexport * from './classes/HMSEncoder';\nexport * from './classes/HMSAudioTrackSettings';\nexport * from './classes/HMSAudioTrack';\nexport * from './classes/HMSAudioSettings';\nexport * from './classes/HMSAudioCodec';\nexport * from './classes/HMSPeerUpdate';\nexport * from './classes/HMSRoomUpdate';\nexport * from './classes/HMSTrackUpdate';\nexport * from './classes/HMSLogger';\nexport * from './classes/HMSLogLevel';\nexport * from './classes/HMSVideoViewMode';\nexport * from './classes/HMSChangeTrackStateRequest';\nexport * from './classes/HMSSpeaker';\nexport * from './classes/HMSSpeakerUpdate';\nexport * from './classes/HMSCameraFacing';\nexport * from './classes/HMSException';\nexport * from './classes/HMSRtmpStreamingState';\nexport * from './classes/HMSServerRecordingState';\nexport * from './classes/HMSBrowserRecordingState';\nexport * from './classes/HMSRTMPConfig';\nexport * from './classes/HMSVideoResolution';\n\nimport { HMSSDK as HmsManager } from './classes/HMSSDK';\nexport default HmsManager;\n"]}
@@ -7,6 +7,7 @@ import type { HMSAudioTrackSettings } from './HMSAudioTrackSettings';
7
7
  import { HMSLocalAudioTrack } from './HMSLocalAudioTrack';
8
8
  import { HMSLocalVideoTrack } from './HMSLocalVideoTrack';
9
9
  import type { HMSRole } from './HMSRole';
10
+ import type { HMSTrackType } from './HMSTrackType';
10
11
  export declare class HMSLocalPeer extends HMSPeer {
11
12
  private localAudio?;
12
13
  private localVideo?;
@@ -30,6 +31,7 @@ export declare class HMSLocalPeer extends HMSPeer {
30
31
  trackDescription?: string;
31
32
  isMute?: boolean;
32
33
  settings?: HMSAudioTrackSettings;
34
+ type: HMSTrackType;
33
35
  };
34
36
  localVideoTrackData?: {
35
37
  id: string;
@@ -38,6 +40,7 @@ export declare class HMSLocalPeer extends HMSPeer {
38
40
  trackDescription?: string;
39
41
  isMute?: boolean;
40
42
  settings?: HMSVideoTrackSettings;
43
+ type: HMSTrackType;
41
44
  };
42
45
  });
43
46
  }
@@ -3,6 +3,7 @@ export declare class HMSLogger {
3
3
  private _verbose;
4
4
  private _warning;
5
5
  private _error;
6
+ private logs;
6
7
  constructor(params?: {
7
8
  verbose: boolean;
8
9
  warning: boolean;
@@ -11,5 +12,11 @@ export declare class HMSLogger {
11
12
  verbose(message: string, data: any): void;
12
13
  warn(message: string, data: any): void;
13
14
  error(message: string, data: any): void;
15
+ getLogs(): {
16
+ type: "verbose" | "warn" | "error";
17
+ message: string;
18
+ data: any;
19
+ id: string;
20
+ }[];
14
21
  updateLogLevel(level: HMSLogLevel, value: boolean): void;
15
22
  }
@@ -26,7 +26,6 @@ export declare class HMSSDK {
26
26
  localPeer?: HMSLocalPeer;
27
27
  remotePeers?: HMSRemotePeer[];
28
28
  knownRoles?: HMSRole[];
29
- logger?: HMSLogger;
30
29
  id: string;
31
30
  private muteStatus;
32
31
  onPreviewDelegate?: any;
@@ -54,6 +53,8 @@ export declare class HMSSDK {
54
53
  static build(params?: {
55
54
  trackSettings?: HMSTrackSettings;
56
55
  }): Promise<HMSSDK>;
56
+ static getLogger(): HMSLogger | undefined;
57
+ setLogger: (hmsLogger: HMSLogger) => void;
57
58
  destroy: () => void;
58
59
  attachPreviewListener: () => void;
59
60
  attachListeners: () => void;
@@ -73,18 +74,18 @@ export declare class HMSSDK {
73
74
  *
74
75
  * @memberof HMSSDK
75
76
  */
76
- leave: () => Promise<void>;
77
- sendBroadcastMessage: (message: string, type?: string | undefined) => void;
78
- sendGroupMessage: (message: string, roles: HMSRole[], type?: string | undefined) => void;
79
- sendDirectMessage: (message: string, peerId: string, type?: string | undefined) => void;
77
+ leave: () => Promise<any>;
78
+ sendBroadcastMessage: (message: string, type?: string | undefined) => Promise<any>;
79
+ sendGroupMessage: (message: string, roles: HMSRole[], type?: string | undefined) => Promise<any>;
80
+ sendDirectMessage: (message: string, peerId: string, type?: string | undefined) => Promise<any>;
80
81
  changeMetadata: (metadata: string) => void;
81
82
  startRTMPOrRecording: (data: HMSRTMPConfig) => Promise<any>;
82
83
  stopRtmpAndRecording: () => Promise<any>;
83
- changeRole: (peer: HMSPeer, role: HMSRole, force?: boolean) => void;
84
- changeTrackState: (track: HMSTrack, mute: boolean) => void;
85
- changeTrackStateRoles: (type: HMSTrackType, mute: boolean, source: string, roles: Array<HMSRole>) => void;
86
- removePeer: (peerId: string, reason: string) => void;
87
- endRoom: (lock: boolean, reason: string) => void;
84
+ changeRole: (peer: HMSPeer, role: HMSRole, force?: boolean) => Promise<any>;
85
+ changeTrackState: (track: HMSTrack, mute: boolean) => Promise<any>;
86
+ changeTrackStateRoles: (type: HMSTrackType, mute: boolean, source: string, roles: Array<HMSRole>) => Promise<any>;
87
+ removePeer: (peerId: string, reason: string) => Promise<any>;
88
+ endRoom: (lock: boolean, reason: string) => Promise<any>;
88
89
  acceptRoleChange: () => void;
89
90
  muteAllPeersAudio: (mute: boolean) => void;
90
91
  getRoom: () => Promise<HMSRoom>;
@@ -113,7 +114,6 @@ export declare class HMSSDK {
113
114
  * @memberof HMSSDK
114
115
  */
115
116
  removeAllListeners: () => void;
116
- setLogger: (hmsLogger: HMSLogger) => void;
117
117
  onPreviewListener: (data: any) => void;
118
118
  onJoinListener: (data: any) => void;
119
119
  onRoomListener: (data: any) => void;
@@ -3,8 +3,10 @@ import type { HMSVideoTrackSettings } from './HMSVideoTrackSettings';
3
3
  export declare class HMSTrackSettings {
4
4
  video?: HMSVideoTrackSettings;
5
5
  audio?: HMSAudioTrackSettings;
6
+ useHardwareEchoCancellation?: boolean;
6
7
  constructor(params?: {
7
8
  video?: HMSVideoTrackSettings;
8
9
  audio?: HMSAudioTrackSettings;
10
+ useHardwareEchoCancellation?: boolean;
9
11
  });
10
12
  }
@@ -1,6 +1,6 @@
1
1
  export declare enum HMSVideoCodec {
2
- h264 = "h264",
3
- vp8 = "vp8",
4
- vp9 = "vp9",
5
- h265 = "h265"
2
+ H264 = "H264",
3
+ VP8 = "VP8",
4
+ VP9 = "VP9",
5
+ H265 = "H265"
6
6
  }
@@ -46,5 +46,6 @@ export * from './classes/HMSRtmpStreamingState';
46
46
  export * from './classes/HMSServerRecordingState';
47
47
  export * from './classes/HMSBrowserRecordingState';
48
48
  export * from './classes/HMSRTMPConfig';
49
+ export * from './classes/HMSVideoResolution';
49
50
  import { HMSSDK as HmsManager } from './classes/HMSSDK';
50
51
  export default HmsManager;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@100mslive/react-native-hms",
3
- "version": "0.8.1",
3
+ "version": "0.8.2",
4
4
  "description": "The React Native package for 100ms SDK",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -48,7 +48,7 @@ export class HMSEncoder {
48
48
  role: HMSEncoder.encodeHmsRole(peer?.role),
49
49
  customerUserID: peer?.customerUserID,
50
50
  customerDescription: peer?.customerDescription,
51
- metadata: peer.metadata,
51
+ metadata: peer?.metadata,
52
52
  audioTrack: HMSEncoder.encodeHmsAudioTrack(peer?.audioTrack, id),
53
53
  videoTrack: HMSEncoder.encodeHmsVideoTrack(peer?.videoTrack, id),
54
54
  auxiliaryTracks: HMSEncoder.encodeHmsAuxiliaryTracks(
@@ -132,6 +132,7 @@ export class HMSEncoder {
132
132
  settings: HMSEncoder.encodeHmsAudioTrackSettings(
133
133
  peer?.localAudioTrackData?.settings
134
134
  ),
135
+ type: peer?.localAudioTrackData?.type,
135
136
  },
136
137
  localVideoTrackData: {
137
138
  id: id,
@@ -142,6 +143,7 @@ export class HMSEncoder {
142
143
  settings: HMSEncoder.encodeHmsVideoTrackSettings(
143
144
  peer?.localVideoTrackData?.settings
144
145
  ),
146
+ type: peer?.localVideoTrackData?.type,
145
147
  },
146
148
  };
147
149
 
@@ -1,5 +1,6 @@
1
1
  import { NativeModules, Platform } from 'react-native';
2
2
  import { HMSAudioTrack } from './HMSAudioTrack';
3
+ import { HMSSDK } from './HMSSDK';
3
4
  import type { HMSAudioTrackSettings } from './HMSAudioTrackSettings';
4
5
  import type { HMSTrackType } from './HMSTrackType';
5
6
 
@@ -21,10 +22,25 @@ export class HMSLocalAudioTrack extends HMSAudioTrack {
21
22
  * @memberof HMSLocalAudioTrack
22
23
  */
23
24
  setMute(isMute: boolean) {
25
+ const logger = HMSSDK.getLogger();
26
+ logger?.verbose('#Function setMute', {
27
+ trackId: this.trackId,
28
+ id: this.id,
29
+ source: this.source,
30
+ type: this.type,
31
+ isMute,
32
+ });
24
33
  HmsManager.setLocalMute({ isMute, id: this.id });
25
34
  }
26
35
 
27
36
  getVolume = async () => {
37
+ const logger = HMSSDK.getLogger();
38
+ logger?.verbose('#Function getVolume', {
39
+ trackId: this.trackId,
40
+ id: this.id,
41
+ source: this.source,
42
+ type: this.type,
43
+ });
28
44
  if (Platform.OS === 'ios') {
29
45
  return 'This API not available for IOS';
30
46
  }
@@ -7,6 +7,7 @@ import type { HMSAudioTrackSettings } from './HMSAudioTrackSettings';
7
7
  import { HMSLocalAudioTrack } from './HMSLocalAudioTrack';
8
8
  import { HMSLocalVideoTrack } from './HMSLocalVideoTrack';
9
9
  import type { HMSRole } from './HMSRole';
10
+ import type { HMSTrackType } from './HMSTrackType';
10
11
 
11
12
  export class HMSLocalPeer extends HMSPeer {
12
13
  private localAudio?: HMSLocalAudioTrack;
@@ -37,6 +38,7 @@ export class HMSLocalPeer extends HMSPeer {
37
38
  trackDescription?: string;
38
39
  isMute?: boolean;
39
40
  settings?: HMSAudioTrackSettings;
41
+ type: HMSTrackType;
40
42
  };
41
43
  localVideoTrackData?: {
42
44
  id: string;
@@ -45,6 +47,7 @@ export class HMSLocalPeer extends HMSPeer {
45
47
  trackDescription?: string;
46
48
  isMute?: boolean;
47
49
  settings?: HMSVideoTrackSettings;
50
+ type: HMSTrackType;
48
51
  };
49
52
  }) {
50
53
  super(params);
@@ -1,5 +1,6 @@
1
1
  import { NativeModules } from 'react-native';
2
2
  import { HMSVideoTrack } from './HMSVideoTrack';
3
+ import { HMSSDK } from './HMSSDK';
3
4
  import type { HMSVideoTrackSettings } from './HMSVideoTrackSettings';
4
5
  import type { HMSTrackType } from './HMSTrackType';
5
6
 
@@ -22,6 +23,13 @@ export class HMSLocalVideoTrack extends HMSVideoTrack {
22
23
  * @memberof HMSSDK
23
24
  */
24
25
  switchCamera = () => {
26
+ const logger = HMSSDK.getLogger();
27
+ logger?.verbose('#Function switchCamera', {
28
+ trackId: this.trackId,
29
+ source: this.source,
30
+ type: this.type,
31
+ id: this.id,
32
+ });
25
33
  HmsManager.switchCamera({ id: this.id });
26
34
  };
27
35
 
@@ -32,6 +40,13 @@ export class HMSLocalVideoTrack extends HMSVideoTrack {
32
40
  * @memberof HMSLocalVideoTrack
33
41
  */
34
42
  setMute(isMute: boolean) {
43
+ const logger = HMSSDK.getLogger();
44
+ logger?.verbose('#Function setMute', {
45
+ trackId: this.trackId,
46
+ source: this.source,
47
+ type: this.type,
48
+ id: this.id,
49
+ });
35
50
  HmsManager.setLocalVideoMute({ isMute, id: this.id });
36
51
  }
37
52
 
@@ -4,6 +4,12 @@ export class HMSLogger {
4
4
  private _verbose: boolean = false;
5
5
  private _warning: boolean = false;
6
6
  private _error: boolean = false;
7
+ private logs: {
8
+ type: 'verbose' | 'warn' | 'error';
9
+ message: string;
10
+ data: any;
11
+ id: string;
12
+ }[] = [];
7
13
 
8
14
  constructor(params?: { verbose: boolean; warning: boolean; error: boolean }) {
9
15
  if (params) {
@@ -14,21 +20,28 @@ export class HMSLogger {
14
20
  }
15
21
 
16
22
  verbose(message: string, data: any) {
17
- if (this._verbose === true) {
23
+ if (this._verbose) {
18
24
  console.log(message, data);
19
25
  }
26
+ this.logs.push({ type: 'verbose', message, data, id: data?.id });
20
27
  }
21
28
 
22
29
  warn(message: string, data: any) {
23
30
  if (this._warning) {
24
31
  console.warn(message, data);
25
32
  }
33
+ this.logs.push({ type: 'warn', message, data, id: data?.id });
26
34
  }
27
35
 
28
36
  error(message: string, data: any) {
29
37
  if (this._error) {
30
38
  console.error(message, data);
31
39
  }
40
+ this.logs.push({ type: 'error', message, data, id: data?.id });
41
+ }
42
+
43
+ getLogs() {
44
+ return this.logs;
32
45
  }
33
46
 
34
47
  updateLogLevel(level: HMSLogLevel, value: boolean) {
@@ -1,4 +1,5 @@
1
1
  import { NativeModules } from 'react-native';
2
+ import { HMSSDK } from './HMSSDK';
2
3
  import type { HMSTrackType } from './HMSTrackType';
3
4
  import { HMSAudioTrack } from './HMSAudioTrack';
4
5
 
@@ -17,6 +18,14 @@ export class HMSRemoteAudioTrack extends HMSAudioTrack {
17
18
  * @memberof HMSRemoteAudioTrack
18
19
  */
19
20
  setPlaybackAllowed(playbackAllowed: boolean) {
21
+ const logger = HMSSDK.getLogger();
22
+ logger?.verbose('#Function setPlaybackAllowed', {
23
+ trackId: this.trackId,
24
+ id: this.id,
25
+ source: this.source,
26
+ type: this.type,
27
+ playbackAllowed,
28
+ });
20
29
  HmsManager.setPlaybackAllowed({
21
30
  id: this.id,
22
31
  trackId: this.trackId,
@@ -26,6 +35,13 @@ export class HMSRemoteAudioTrack extends HMSAudioTrack {
26
35
 
27
36
  isPlaybackAllowed = async () => {
28
37
  try {
38
+ const logger = HMSSDK.getLogger();
39
+ logger?.verbose('#Function isPlaybackAllowed', {
40
+ trackId: this.trackId,
41
+ id: this.id,
42
+ source: this.source,
43
+ type: this.type,
44
+ });
29
45
  const val = await HmsManager.isPlaybackAllowed({
30
46
  id: this.id,
31
47
  trackId: this.trackId,