@100mslive/react-native-hms 0.9.0 → 0.9.1

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 (130) hide show
  1. package/README.md +10 -2
  2. package/android/.idea/gradle.xml +13 -0
  3. package/android/.idea/misc.xml +9 -0
  4. package/android/.idea/modules/android.iml +18 -0
  5. package/android/.idea/modules.xml +8 -0
  6. package/android/.idea/sonarlint/issuestore/f/0/f07866736216be0ee2aba49e392191aeae700a35 +0 -0
  7. package/android/.idea/sonarlint/issuestore/index.pb +3 -0
  8. package/android/.idea/vcs.xml +6 -0
  9. package/android/build.gradle +2 -2
  10. package/android/local.properties +8 -0
  11. package/android/src/main/java/com/reactnativehmssdk/HmsDecoder.kt +31 -4
  12. package/android/src/main/java/com/reactnativehmssdk/HmsHelper.kt +16 -64
  13. package/android/src/main/java/com/reactnativehmssdk/HmsModule.kt +17 -3
  14. package/android/src/main/java/com/reactnativehmssdk/HmsSDK.kt +97 -32
  15. package/android/src/main/java/com/reactnativehmssdk/HmsView.kt +1 -1
  16. package/ios/HmsDecoder.swift +173 -135
  17. package/ios/HmsHelper.swift +38 -41
  18. package/ios/HmsManager.m +7 -1
  19. package/ios/HmsManager.swift +111 -68
  20. package/ios/HmsSDK.swift +335 -199
  21. package/ios/HmsView.swift +45 -31
  22. package/ios/VideoCollectionViewCell.swift +4 -4
  23. package/lib/commonjs/classes/HMSBrowserRecordingState.js +6 -0
  24. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
  25. package/lib/commonjs/classes/HMSEncoder.js +164 -4
  26. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  27. package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -1
  28. package/lib/commonjs/classes/HMSLocalAudioStats.js +26 -0
  29. package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -0
  30. package/lib/commonjs/classes/HMSLocalVideoStats.js +32 -0
  31. package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -0
  32. package/lib/commonjs/classes/HMSPeerUpdate.js +2 -0
  33. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  34. package/lib/commonjs/classes/HMSPermissions.js +2 -2
  35. package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
  36. package/lib/commonjs/classes/HMSRTCStats.js +38 -0
  37. package/lib/commonjs/classes/HMSRTCStats.js.map +1 -0
  38. package/lib/commonjs/classes/HMSRTCStatsReport.js +26 -0
  39. package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -0
  40. package/lib/commonjs/classes/HMSRemoteAudioStats.js +32 -0
  41. package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -0
  42. package/lib/commonjs/classes/HMSRemoteVideoStats.js +38 -0
  43. package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -0
  44. package/lib/commonjs/classes/HMSRoom.js +3 -0
  45. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  46. package/lib/commonjs/classes/HMSRoomUpdate.js +1 -0
  47. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  48. package/lib/commonjs/classes/HMSRtmpStreamingState.js +6 -0
  49. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
  50. package/lib/commonjs/classes/HMSSDK.js +365 -111
  51. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  52. package/lib/commonjs/classes/HMSServerRecordingState.js +3 -0
  53. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
  54. package/lib/commonjs/classes/HMSUpdateListenerActions.js +5 -0
  55. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  56. package/lib/commonjs/index.js +84 -0
  57. package/lib/commonjs/index.js.map +1 -1
  58. package/lib/module/classes/HMSBrowserRecordingState.js +6 -0
  59. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
  60. package/lib/module/classes/HMSEncoder.js +157 -4
  61. package/lib/module/classes/HMSEncoder.js.map +1 -1
  62. package/lib/module/classes/HMSHLSVariant.js.map +1 -1
  63. package/lib/module/classes/HMSLocalAudioStats.js +17 -0
  64. package/lib/module/classes/HMSLocalAudioStats.js.map +1 -0
  65. package/lib/module/classes/HMSLocalVideoStats.js +23 -0
  66. package/lib/module/classes/HMSLocalVideoStats.js.map +1 -0
  67. package/lib/module/classes/HMSPeerUpdate.js +2 -0
  68. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  69. package/lib/module/classes/HMSPermissions.js +2 -2
  70. package/lib/module/classes/HMSPermissions.js.map +1 -1
  71. package/lib/module/classes/HMSRTCStats.js +29 -0
  72. package/lib/module/classes/HMSRTCStats.js.map +1 -0
  73. package/lib/module/classes/HMSRTCStatsReport.js +17 -0
  74. package/lib/module/classes/HMSRTCStatsReport.js.map +1 -0
  75. package/lib/module/classes/HMSRemoteAudioStats.js +23 -0
  76. package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -0
  77. package/lib/module/classes/HMSRemoteVideoStats.js +29 -0
  78. package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -0
  79. package/lib/module/classes/HMSRoom.js +3 -0
  80. package/lib/module/classes/HMSRoom.js.map +1 -1
  81. package/lib/module/classes/HMSRoomUpdate.js +1 -0
  82. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  83. package/lib/module/classes/HMSRtmpStreamingState.js +6 -0
  84. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
  85. package/lib/module/classes/HMSSDK.js +352 -111
  86. package/lib/module/classes/HMSSDK.js.map +1 -1
  87. package/lib/module/classes/HMSServerRecordingState.js +3 -0
  88. package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
  89. package/lib/module/classes/HMSUpdateListenerActions.js +5 -0
  90. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  91. package/lib/module/index.js +6 -0
  92. package/lib/module/index.js.map +1 -1
  93. package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +4 -0
  94. package/lib/typescript/classes/HMSEncoder.d.ts +21 -0
  95. package/lib/typescript/classes/HMSHLSVariant.d.ts +8 -8
  96. package/lib/typescript/classes/HMSLocalAudioStats.d.ts +10 -0
  97. package/lib/typescript/classes/HMSLocalVideoStats.d.ts +15 -0
  98. package/lib/typescript/classes/HMSPeerUpdate.d.ts +3 -1
  99. package/lib/typescript/classes/HMSPermissions.d.ts +2 -2
  100. package/lib/typescript/classes/HMSRTCStats.d.ts +18 -0
  101. package/lib/typescript/classes/HMSRTCStatsReport.d.ts +11 -0
  102. package/lib/typescript/classes/HMSRemoteAudioStats.d.ts +14 -0
  103. package/lib/typescript/classes/HMSRemoteVideoStats.d.ts +19 -0
  104. package/lib/typescript/classes/HMSRoom.d.ts +2 -0
  105. package/lib/typescript/classes/HMSRoomUpdate.d.ts +2 -1
  106. package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +4 -0
  107. package/lib/typescript/classes/HMSSDK.d.ts +16 -1
  108. package/lib/typescript/classes/HMSServerRecordingState.d.ts +2 -0
  109. package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +6 -1
  110. package/lib/typescript/index.d.ts +6 -0
  111. package/package.json +1 -1
  112. package/react-native-hms.podspec +1 -1
  113. package/src/classes/HMSBrowserRecordingState.ts +10 -1
  114. package/src/classes/HMSEncoder.ts +162 -4
  115. package/src/classes/HMSHLSVariant.ts +8 -8
  116. package/src/classes/HMSLocalAudioStats.ts +15 -0
  117. package/src/classes/HMSLocalVideoStats.ts +23 -0
  118. package/src/classes/HMSPeerUpdate.ts +2 -0
  119. package/src/classes/HMSPermissions.ts +3 -3
  120. package/src/classes/HMSRTCStats.ts +27 -0
  121. package/src/classes/HMSRTCStatsReport.ts +17 -0
  122. package/src/classes/HMSRemoteAudioStats.ts +21 -0
  123. package/src/classes/HMSRemoteVideoStats.ts +29 -0
  124. package/src/classes/HMSRoom.ts +3 -0
  125. package/src/classes/HMSRoomUpdate.ts +1 -0
  126. package/src/classes/HMSRtmpStreamingState.ts +10 -1
  127. package/src/classes/HMSSDK.tsx +233 -10
  128. package/src/classes/HMSServerRecordingState.ts +7 -1
  129. package/src/classes/HMSUpdateListenerActions.ts +5 -0
  130. package/src/index.ts +6 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["HMSSDK.tsx"],"names":["React","NativeEventEmitter","NativeModules","Platform","AppState","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","addAppStateListener","join","preview","sink","trackId","style","mirror","scaleType","ASPECT_FIT","data","op","leave","muteStatus","undefined","localPeer","remotePeers","room","knownRoles","appStateSubscription","remove","message","type","sendBroadcastMessage","roles","sendGroupMessage","getRoleNames","peer","peerId","peerID","sendDirectMessage","metadata","changeMetadata","startRTMPOrRecording","stopRtmpAndRecording","startHLSStreaming","stopHLSStreaming","role","force","name","changeRole","track","mute","changeTrackState","source","roleNames","changeTrackStateForRoles","reason","removePeer","lock","endRoom","acceptRoleChange","muteAllPeersAudio","roomID","hmsRoom","getRoom","encodedHmsRoom","encodeHmsRoom","volume","setVolume","OS","resetVolume","addEventListener","nextAppState","startScreenshare","console","log","isScreenShared","stopScreenshare","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 {\n NativeEventEmitter,\n NativeModules,\n Platform,\n ViewStyle,\n AppState,\n} 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';\nimport type { HMSHLSConfig } from './HMSHLSConfig';\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 appStateSubscription?: any;\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 this.addAppStateListener();\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 this?.appStateSubscription?.remove();\n return op;\n };\n\n sendBroadcastMessage = async (message: string, type: string = 'chat') => {\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 = 'chat'\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 peer: HMSPeer,\n type: string = 'chat'\n ) => {\n logger?.verbose('#Function sendDirectMessage', {\n message,\n peerId: peer.peerID,\n id: this.id,\n type: type || null,\n });\n return await HmsManager.sendDirectMessage({\n message,\n peerId: peer.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 startHLSStreaming = async (data: HMSHLSConfig) => {\n logger?.verbose('#Function startHLSStreaming', {\n ...data,\n id: this.id,\n });\n return await HmsManager.startHLSStreaming({ ...data, id: this.id });\n };\n\n stopHLSStreaming = async () => {\n logger?.verbose('#Function stopHLSStreaming', {});\n return await HmsManager.stopHLSStreaming({ id: this.id });\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 changeTrackStateForRoles = async (\n mute: boolean,\n type?: HMSTrackType,\n source?: string,\n roles?: Array<HMSRole>\n ) => {\n let roleNames = null;\n if (roles) {\n roleNames = HMSHelper.getRoleNames(roles);\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: roleNames,\n id: this.id,\n };\n\n return await HmsManager.changeTrackStateForRoles(data);\n };\n\n removePeer = async (peer: HMSPeer, reason: string) => {\n logger?.verbose('#Function removePeer', {\n peerId: peer.peerID,\n reason,\n id: this.id,\n });\n const data = {\n peerId: peer.peerID,\n reason,\n id: this.id,\n };\n\n return await HmsManager.removePeer(data);\n };\n\n endRoom = async (reason: string, lock: boolean = false) => {\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 = async () => {\n logger?.verbose('#Function acceptRoleChange', { id: this.id });\n return await 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 };\n\n resetVolume = () => {\n logger?.verbose('#Function resetVolume', { id: this.id });\n if (Platform.OS === 'android') HmsManager.resetVolume({ id: this.id });\n };\n\n addAppStateListener = () => {\n logger?.verbose('#Function addAppStateListener', { id: this.id });\n this.appStateSubscription = AppState.addEventListener(\n 'change',\n (nextAppState) => {\n if (nextAppState === 'active' && Platform.OS === 'android') {\n this.resetVolume();\n }\n }\n );\n };\n\n startScreenshare = () => {\n logger?.verbose('#Function startScreenshare', { id: this.id });\n if (Platform.OS === 'android') {\n HmsManager.startScreenshare({ id: this.id });\n } else {\n console.log('API currently not avaialble for iOS');\n }\n };\n\n isScreenShared = async () => {\n logger?.verbose('#Function isScreenShared', { id: this.id });\n if (Platform.OS === 'android') {\n return await HmsManager.isScreenShared({ id: this.id });\n } else {\n console.log('API currently not avaialble for iOS');\n return 'API currently not avaialble for iOS';\n }\n };\n\n stopScreenshare = async () => {\n logger?.verbose('#Function stopScreenshare', { id: this.id });\n if (Platform.OS === 'android') {\n return await HmsManager.stopScreenshare({ id: this.id });\n } else {\n console.log('API currently not avaialble for iOS');\n return 'API currently not avaialble for iOS';\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 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"]}
1
+ {"version":3,"sources":["HMSSDK.tsx"],"names":["React","NativeEventEmitter","NativeModules","Platform","AppState","HMSUpdateListenerActions","HMSEncoder","HMSMessage","HMSHelper","HmsView","HMSViewComponent","HMSVideoViewMode","HMSLocalAudioStats","HMSLocalVideoStats","HMSRemoteVideoStats","HMSRemoteAudioStats","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","ON_RTC_STATS","RTCStatsListener","ON_LOCAL_AUDIO_STATS","onLocalAudioStatsListener","ON_LOCAL_VIDEO_STATS","onLocalVideoStatsListener","ON_REMOTE_AUDIO_STATS","onRemoteAudioStatsListener","ON_REMOTE_VIDEO_STATS","onRemoteVideoStatsListener","removeListener","config","addAppStateListener","join","preview","role","OS","previewForRole","name","console","log","sink","trackId","style","mirror","scaleType","ASPECT_FIT","data","op","leave","muteStatus","undefined","localPeer","remotePeers","room","knownRoles","appStateSubscription","remove","message","type","sendBroadcastMessage","roles","sendGroupMessage","getRoleNames","peer","peerId","peerID","sendDirectMessage","metadata","changeMetadata","startRTMPOrRecording","stopRtmpAndRecording","startHLSStreaming","stopHLSStreaming","force","changeRole","track","mute","changeTrackState","source","roleNames","changeTrackStateForRoles","reason","removePeer","lock","endRoom","changeName","acceptRoleChange","setPlaybackForAllAudio","remoteMuteAllAudio","roomID","hmsRoom","getRoom","encodedHmsRoom","encodeHmsRoom","volume","setVolume","resetVolume","addEventListener","nextAppState","startScreenshare","isScreenShared","stopScreenshare","enableRTCStats","disableRTCStats","action","callback","onPreviewDelegate","onJoinDelegate","onRoomDelegate","onPeerDelegate","onTrackDelegate","onErrorDelegate","onMessageDelegate","onSpeakerDelegate","onReconnectingDelegate","onReconnectedDelegate","onRoleChangeRequestDelegate","onChangeTrackStateRequestDelegate","onRemovedFromRoomDelegate","onRtcStatsDelegate","onLocalAudioStatsDelegate","onLocalVideoStatsDelegate","onRemoteAudioStatsDelegate","onRemoteVideoStatsDelegate","encodeHmsLocalPeer","previewTracks","encodeHmsPreviewTracks","encodeHmsRemotePeers","encodeHmsRoles","encodeHmsPeer","encodeHmsTrack","encodeHmsSpeakerUpdate","warn","encodedRoleChangeRequest","encodeHmsRoleChangeRequest","encodeHmsChangeTrackStateRequest","requestedBy","roomEnded","rtcStats","encodeRTCStats","localAudioStats","encodeHmsLocalAudioTrack","localVideoStats","encodeHmsLocalVideoTrack","remoteAudioStats","encodeHmsRemoteAudioTrack","remoteVideoStats","encodeHmsRemoteVideoTrack","build","params","trackSettings","attachPreviewListener","attachListeners","getLogger"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n NativeEventEmitter,\n NativeModules,\n Platform,\n ViewStyle,\n AppState,\n} 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';\nimport type { HMSHLSConfig } from './HMSHLSConfig';\nimport { HMSLocalAudioStats } from './HMSLocalAudioStats';\nimport { HMSLocalVideoStats } from './HMSLocalVideoStats';\nimport { HMSRemoteVideoStats } from './HMSRemoteVideoStats';\nimport { HMSRemoteAudioStats } from './HMSRemoteAudioStats';\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 appStateSubscription?: any;\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 onRtcStatsDelegate?: any;\n onLocalAudioStatsDelegate?: any;\n onLocalVideoStatsDelegate?: any;\n onRemoteAudioStatsDelegate?: any;\n onRemoteVideoStatsDelegate?: 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 HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_RTC_STATS,\n this.RTCStatsListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_LOCAL_AUDIO_STATS,\n this.onLocalAudioStatsListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_LOCAL_VIDEO_STATS,\n this.onLocalVideoStatsListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_REMOTE_AUDIO_STATS,\n this.onRemoteAudioStatsListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_REMOTE_VIDEO_STATS,\n this.onRemoteVideoStatsListener\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 HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_RTC_STATS,\n this.RTCStatsListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_LOCAL_AUDIO_STATS,\n this.onLocalAudioStatsListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_LOCAL_VIDEO_STATS,\n this.onLocalVideoStatsListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_REMOTE_AUDIO_STATS,\n this.onRemoteAudioStatsListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_REMOTE_VIDEO_STATS,\n this.onRemoteVideoStatsListener\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 this.addAppStateListener();\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 previewForRole = async (role: HMSRole) => {\n logger?.verbose('#Function previewForRole', {\n role,\n id: this.id,\n });\n if (Platform.OS === 'ios') {\n return await HmsManager.previewForRole({ role: role?.name, id: this.id });\n } else {\n console.log('API currently not available for android');\n return 'API currently not available for android';\n }\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 this?.appStateSubscription?.remove();\n return op;\n };\n\n sendBroadcastMessage = async (message: string, type: string = 'chat') => {\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 = 'chat'\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 peer: HMSPeer,\n type: string = 'chat'\n ) => {\n logger?.verbose('#Function sendDirectMessage', {\n message,\n peerId: peer.peerID,\n id: this.id,\n type: type || null,\n });\n return await HmsManager.sendDirectMessage({\n message,\n peerId: peer.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 startHLSStreaming = async (data: HMSHLSConfig) => {\n logger?.verbose('#Function startHLSStreaming', {\n ...data,\n id: this.id,\n });\n return await HmsManager.startHLSStreaming({ ...data, id: this.id });\n };\n\n stopHLSStreaming = async () => {\n logger?.verbose('#Function stopHLSStreaming', {});\n return await HmsManager.stopHLSStreaming({ id: this.id });\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 changeTrackStateForRoles = async (\n mute: boolean,\n type?: HMSTrackType,\n source?: string,\n roles?: Array<HMSRole>\n ) => {\n let roleNames = null;\n if (roles) {\n roleNames = HMSHelper.getRoleNames(roles);\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: roleNames,\n id: this.id,\n };\n\n return await HmsManager.changeTrackStateForRoles(data);\n };\n\n removePeer = async (peer: HMSPeer, reason: string) => {\n logger?.verbose('#Function removePeer', {\n peerId: peer.peerID,\n reason,\n id: this.id,\n });\n const data = {\n peerId: peer.peerID,\n reason,\n id: this.id,\n };\n\n return await HmsManager.removePeer(data);\n };\n\n endRoom = async (reason: string, lock: boolean = false) => {\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 changeName = async (name: string) => {\n logger?.verbose('#Function changeName', { name, id: this.id });\n const data = {\n name,\n id: this.id,\n };\n\n return await HmsManager.changeName(data);\n };\n\n acceptRoleChange = async () => {\n logger?.verbose('#Function acceptRoleChange', { id: this.id });\n return await HmsManager.acceptRoleChange({ id: this.id });\n };\n\n setPlaybackForAllAudio = (mute: boolean) => {\n logger?.verbose('#Function setPlaybackForAllAudio', { mute, id: this.id });\n this.muteStatus = mute;\n HmsManager.setPlaybackForAllAudio({ mute, id: this.id });\n };\n\n remoteMuteAllAudio = () => {\n logger?.verbose('#Function remoteMuteAllAudio', { id: this.id });\n HmsManager.remoteMuteAllAudio({ 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 };\n\n resetVolume = () => {\n logger?.verbose('#Function resetVolume', { id: this.id });\n if (Platform.OS === 'android') HmsManager.resetVolume({ id: this.id });\n };\n\n addAppStateListener = () => {\n logger?.verbose('#Function addAppStateListener', { id: this.id });\n this.appStateSubscription = AppState.addEventListener(\n 'change',\n (nextAppState) => {\n if (nextAppState === 'active' && Platform.OS === 'android') {\n this.resetVolume();\n }\n }\n );\n };\n\n startScreenshare = () => {\n logger?.verbose('#Function startScreenshare', { id: this.id });\n if (Platform.OS === 'android') {\n HmsManager.startScreenshare({ id: this.id });\n } else {\n console.log('API currently not available for iOS');\n }\n };\n\n isScreenShared = async () => {\n logger?.verbose('#Function isScreenShared', { id: this.id });\n if (Platform.OS === 'android') {\n return await HmsManager.isScreenShared({ id: this.id });\n } else {\n console.log('API currently not available for iOS');\n return 'API currently not available for iOS';\n }\n };\n\n stopScreenshare = async () => {\n logger?.verbose('#Function stopScreenshare', { id: this.id });\n if (Platform.OS === 'android') {\n return await HmsManager.stopScreenshare({ id: this.id });\n } else {\n console.log('API currently not available for iOS');\n return 'API currently not available for iOS';\n }\n };\n\n enableRTCStats = () => {\n logger?.verbose('#Function enableRTCStats', { id: this.id });\n if (Platform.OS === 'ios') {\n HmsManager.enableRTCStats({ id: this.id });\n } else {\n console.log('API currently not avaialble for android');\n }\n };\n\n disableRTCStats = () => {\n logger?.verbose('#Function disableRTCStats', { id: this.id });\n if (Platform.OS === 'ios') {\n HmsManager.disableRTCStats({ id: this.id });\n } else {\n console.log('API currently not avaialble for android');\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 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 case HMSUpdateListenerActions.ON_RTC_STATS:\n this.onRtcStatsDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_LOCAL_AUDIO_STATS:\n this.onLocalAudioStatsDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_LOCAL_VIDEO_STATS:\n this.onLocalVideoStatsDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_REMOTE_AUDIO_STATS:\n this.onRemoteAudioStatsDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_REMOTE_VIDEO_STATS:\n this.onRemoteVideoStatsDelegate = 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 case HMSUpdateListenerActions.ON_RTC_STATS:\n this.onRtcStatsDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_LOCAL_AUDIO_STATS:\n this.onLocalAudioStatsDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_LOCAL_VIDEO_STATS:\n this.onLocalVideoStatsDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_REMOTE_AUDIO_STATS:\n this.onRemoteAudioStatsDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_REMOTE_VIDEO_STATS:\n this.onRemoteVideoStatsDelegate = 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.setPlaybackForAllAudio(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(HMSEncoder.encodeHmsSpeakerUpdate(data, this.id));\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 RTCStatsListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n\n logger?.verbose('#Listener RTCStatsListener', data);\n\n let rtcStats = HMSEncoder.encodeRTCStats(data);\n\n if (this.onRtcStatsDelegate) {\n this.onRtcStatsDelegate({ rtcStats });\n }\n };\n\n onLocalAudioStatsListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n\n logger?.verbose('#Listener onLocalAudioStatsListener', data);\n\n let localAudioStats = new HMSLocalAudioStats(data.localAudioStats);\n let peer = HMSEncoder.encodeHmsPeer(data.peer, this.id);\n let track = HMSEncoder.encodeHmsLocalAudioTrack(data.track, this.id);\n\n if (this.onLocalAudioStatsDelegate) {\n this.onLocalAudioStatsDelegate({ ...data, localAudioStats, peer, track });\n }\n };\n\n onLocalVideoStatsListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n\n logger?.verbose('#Listener onLocalVideoStatsListener', data);\n\n let localVideoStats = new HMSLocalVideoStats(data.localVideoStats);\n let peer = HMSEncoder.encodeHmsPeer(data.peer, this.id);\n let track = HMSEncoder.encodeHmsLocalVideoTrack(data.track, this.id);\n\n if (this.onLocalVideoStatsDelegate) {\n this.onLocalVideoStatsDelegate({ ...data, localVideoStats, peer, track });\n }\n };\n\n onRemoteAudioStatsListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n\n logger?.verbose('#Listener onRemoteAudioStatsListener', data);\n\n let remoteAudioStats = new HMSRemoteAudioStats(data.remoteAudioStats);\n let peer = HMSEncoder.encodeHmsPeer(data.peer, this.id);\n let track = HMSEncoder.encodeHmsRemoteAudioTrack(data.track, this.id);\n\n if (this.onRemoteAudioStatsDelegate) {\n this.onRemoteAudioStatsDelegate({\n ...data,\n remoteAudioStats,\n peer,\n track,\n });\n }\n };\n\n onRemoteVideoStatsListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n\n logger?.verbose('#Listener onRemoteVideoStatsListener', data);\n\n let remoteVideoStats = new HMSRemoteVideoStats(data.remoteVideoStats);\n let peer = HMSEncoder.encodeHmsPeer(data.peer, this.id);\n let track = HMSEncoder.encodeHmsRemoteVideoTrack(data.track, this.id);\n\n if (this.onRemoteVideoStatsDelegate) {\n this.onRemoteVideoStatsDelegate({\n ...data,\n remoteVideoStats,\n peer,\n track,\n });\n }\n };\n}\n"]}
@@ -6,8 +6,11 @@ export class HMSServerRecordingState {
6
6
 
7
7
  _defineProperty(this, "error", void 0);
8
8
 
9
+ _defineProperty(this, "startedAt", void 0);
10
+
9
11
  this.running = params.running;
10
12
  this.error = params.error;
13
+ this.startedAt = params.startedAt;
11
14
  }
12
15
 
13
16
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["HMSServerRecordingState.ts"],"names":["HMSServerRecordingState","constructor","params","running","error"],"mappings":";;AAEA,OAAO,MAAMA,uBAAN,CAA8B;AAInCC,EAAAA,WAAW,CAACC,MAAD,EAAmD;AAAA;;AAAA;;AAC5D,SAAKC,OAAL,GAAeD,MAAM,CAACC,OAAtB;AACA,SAAKC,KAAL,GAAaF,MAAM,CAACE,KAApB;AACD;;AAPkC","sourcesContent":["import type { HMSException } from './HMSException';\n\nexport class HMSServerRecordingState {\n running: string;\n error: HMSException;\n\n constructor(params: { running: string; error: HMSException }) {\n this.running = params.running;\n this.error = params.error;\n }\n}\n"]}
1
+ {"version":3,"sources":["HMSServerRecordingState.ts"],"names":["HMSServerRecordingState","constructor","params","running","error","startedAt"],"mappings":";;AAEA,OAAO,MAAMA,uBAAN,CAA8B;AAKnCC,EAAAA,WAAW,CAACC,MAAD,EAIR;AAAA;;AAAA;;AAAA;;AACD,SAAKC,OAAL,GAAeD,MAAM,CAACC,OAAtB;AACA,SAAKC,KAAL,GAAaF,MAAM,CAACE,KAApB;AACA,SAAKC,SAAL,GAAiBH,MAAM,CAACG,SAAxB;AACD;;AAbkC","sourcesContent":["import type { HMSException } from './HMSException';\n\nexport class HMSServerRecordingState {\n running: string;\n error: HMSException;\n startedAt: Date;\n\n constructor(params: {\n running: string;\n error: HMSException;\n startedAt: Date;\n }) {\n this.running = params.running;\n this.error = params.error;\n this.startedAt = params.startedAt;\n }\n}\n"]}
@@ -14,5 +14,10 @@ export let HMSUpdateListenerActions;
14
14
  HMSUpdateListenerActions["ON_ROLE_CHANGE_REQUEST"] = "ON_ROLE_CHANGE_REQUEST";
15
15
  HMSUpdateListenerActions["ON_CHANGE_TRACK_STATE_REQUEST"] = "ON_CHANGE_TRACK_STATE_REQUEST";
16
16
  HMSUpdateListenerActions["ON_REMOVED_FROM_ROOM"] = "ON_REMOVED_FROM_ROOM";
17
+ HMSUpdateListenerActions["ON_RTC_STATS"] = "ON_RTC_STATS";
18
+ HMSUpdateListenerActions["ON_LOCAL_AUDIO_STATS"] = "ON_LOCAL_AUDIO_STATS";
19
+ HMSUpdateListenerActions["ON_LOCAL_VIDEO_STATS"] = "ON_LOCAL_VIDEO_STATS";
20
+ HMSUpdateListenerActions["ON_REMOTE_AUDIO_STATS"] = "ON_REMOTE_AUDIO_STATS";
21
+ HMSUpdateListenerActions["ON_REMOTE_VIDEO_STATS"] = "ON_REMOTE_VIDEO_STATS";
17
22
  })(HMSUpdateListenerActions || (HMSUpdateListenerActions = {}));
18
23
  //# sourceMappingURL=HMSUpdateListenerActions.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["HMSUpdateListenerActions.ts"],"names":["HMSUpdateListenerActions"],"mappings":"AAAA,WAAYA,wBAAZ;;WAAYA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;GAAAA,wB,KAAAA,wB","sourcesContent":["export enum HMSUpdateListenerActions {\n ON_PREVIEW = 'ON_PREVIEW',\n ON_JOIN = 'ON_JOIN',\n ON_ROOM_UPDATE = 'ON_ROOM_UPDATE',\n ON_PEER_UPDATE = 'ON_PEER_UPDATE',\n ON_TRACK_UPDATE = 'ON_TRACK_UPDATE',\n ON_ERROR = 'ON_ERROR',\n ON_MESSAGE = 'ON_MESSAGE',\n ON_SPEAKER = 'ON_SPEAKER',\n RECONNECTING = 'RECONNECTING',\n RECONNECTED = 'RECONNECTED',\n ON_ROLE_CHANGE_REQUEST = 'ON_ROLE_CHANGE_REQUEST',\n ON_CHANGE_TRACK_STATE_REQUEST = 'ON_CHANGE_TRACK_STATE_REQUEST',\n ON_REMOVED_FROM_ROOM = 'ON_REMOVED_FROM_ROOM',\n}\n"]}
1
+ {"version":3,"sources":["HMSUpdateListenerActions.ts"],"names":["HMSUpdateListenerActions"],"mappings":"AAAA,WAAYA,wBAAZ;;WAAYA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;AAAAA,EAAAA,wB;GAAAA,wB,KAAAA,wB","sourcesContent":["export enum HMSUpdateListenerActions {\n ON_PREVIEW = 'ON_PREVIEW',\n ON_JOIN = 'ON_JOIN',\n ON_ROOM_UPDATE = 'ON_ROOM_UPDATE',\n ON_PEER_UPDATE = 'ON_PEER_UPDATE',\n ON_TRACK_UPDATE = 'ON_TRACK_UPDATE',\n ON_ERROR = 'ON_ERROR',\n ON_MESSAGE = 'ON_MESSAGE',\n ON_SPEAKER = 'ON_SPEAKER',\n RECONNECTING = 'RECONNECTING',\n RECONNECTED = 'RECONNECTED',\n ON_ROLE_CHANGE_REQUEST = 'ON_ROLE_CHANGE_REQUEST',\n ON_CHANGE_TRACK_STATE_REQUEST = 'ON_CHANGE_TRACK_STATE_REQUEST',\n ON_REMOVED_FROM_ROOM = 'ON_REMOVED_FROM_ROOM',\n ON_RTC_STATS = 'ON_RTC_STATS',\n ON_LOCAL_AUDIO_STATS = 'ON_LOCAL_AUDIO_STATS',\n ON_LOCAL_VIDEO_STATS = 'ON_LOCAL_VIDEO_STATS',\n ON_REMOTE_AUDIO_STATS = 'ON_REMOTE_AUDIO_STATS',\n ON_REMOTE_VIDEO_STATS = 'ON_REMOTE_VIDEO_STATS',\n}\n"]}
@@ -51,6 +51,12 @@ export * from './classes/HMSHLSMeetingURLVariant';
51
51
  export * from './classes/HMSHLSVariant';
52
52
  export * from './classes/HMSHLSStreamingState';
53
53
  export * from './classes/HMSVideoResolution';
54
+ export * from './classes/HMSLocalAudioStats';
55
+ export * from './classes/HMSLocalVideoStats';
56
+ export * from './classes/HMSRTCStats';
57
+ export * from './classes/HMSRTCStatsReport';
58
+ export * from './classes/HMSRemoteAudioStats';
59
+ export * from './classes/HMSRemoteVideoStats';
54
60
  import { HMSSDK as HmsManager } from './classes/HMSSDK';
55
61
  export default HmsManager;
56
62
  //# 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;AACA,cAAc,wBAAd;AACA,cAAc,mCAAd;AACA,cAAc,yBAAd;AACA,cAAc,gCAAd;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/HMSHLSConfig';\nexport * from './classes/HMSHLSMeetingURLVariant';\nexport * from './classes/HMSHLSVariant';\nexport * from './classes/HMSHLSStreamingState';\nexport * from './classes/HMSVideoResolution';\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,wBAAd;AACA,cAAc,mCAAd;AACA,cAAc,yBAAd;AACA,cAAc,gCAAd;AACA,cAAc,8BAAd;AACA,cAAc,8BAAd;AACA,cAAc,8BAAd;AACA,cAAc,uBAAd;AACA,cAAc,6BAAd;AACA,cAAc,+BAAd;AACA,cAAc,+BAAd;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/HMSHLSConfig';\nexport * from './classes/HMSHLSMeetingURLVariant';\nexport * from './classes/HMSHLSVariant';\nexport * from './classes/HMSHLSStreamingState';\nexport * from './classes/HMSVideoResolution';\nexport * from './classes/HMSLocalAudioStats';\nexport * from './classes/HMSLocalVideoStats';\nexport * from './classes/HMSRTCStats';\nexport * from './classes/HMSRTCStatsReport';\nexport * from './classes/HMSRemoteAudioStats';\nexport * from './classes/HMSRemoteVideoStats';\n\nimport { HMSSDK as HmsManager } from './classes/HMSSDK';\nexport default HmsManager;\n"]}
@@ -2,8 +2,12 @@ import type { HMSException } from './HMSException';
2
2
  export declare class HMSBrowserRecordingState {
3
3
  running: string;
4
4
  error: HMSException;
5
+ startedAt: Date;
6
+ stoppedAt: Date;
5
7
  constructor(params: {
6
8
  running: string;
7
9
  error: HMSException;
10
+ startedAt: Date;
11
+ stoppedAt: Date;
8
12
  });
9
13
  }
@@ -13,6 +13,13 @@ import { HMSRole } from './HMSRole';
13
13
  import { HMSRoleChangeRequest } from './HMSRoleChangeRequest';
14
14
  import { HMSChangeTrackStateRequest } from './HMSChangeTrackStateRequest';
15
15
  import { HMSVideoResolution } from './HMSVideoResolution';
16
+ import { HMSRTCStats } from './HMSRTCStats';
17
+ import { HMSRTCStatsReport } from './HMSRTCStatsReport';
18
+ import { HMSRemoteAudioTrack } from './HMSRemoteAudioTrack';
19
+ import { HMSRemoteVideoTrack } from './HMSRemoteVideoTrack';
20
+ import { HMSSpeaker } from './HMSSpeaker';
21
+ import { HMSSpeakerUpdate } from './HMSSpeakerUpdate';
22
+ import { HMSBrowserRecordingState, HMSHLSStreamingState, HMSHLSVariant, HMSRtmpStreamingState, HMSServerRecordingState } from '..';
16
23
  export declare class HMSEncoder {
17
24
  static encodeHmsRoom(room: HMSRoom, id: string): HMSRoom;
18
25
  static encodeHmsPeers(peers: any, id: string): HMSPeer[];
@@ -25,8 +32,12 @@ export declare class HMSEncoder {
25
32
  static encodeHmsAudioTrackSettings(settings: any): HMSAudioTrackSettings;
26
33
  static encodeHmsVideoTrackSettings(settings: any): HMSVideoTrackSettings;
27
34
  static encodeHmsVideoResolution(resolution: any): HMSVideoResolution;
35
+ static encodeHmsLocalAudioTrack(track: any, id: string): HMSLocalAudioTrack;
36
+ static encodeHmsLocalVideoTrack(track: any, id: string): HMSLocalVideoTrack;
28
37
  static encodeHmsRemotePeers(peers: any, id: string): any[];
29
38
  static encodeHmsRemotePeer(peer: any, id: string): HMSRemotePeer;
39
+ static encodeHmsRemoteAudioTrack(track: any, id: string): HMSRemoteAudioTrack;
40
+ static encodeHmsRemoteVideoTrack(track: any, id: string): HMSRemoteVideoTrack;
30
41
  static encodeHmsPreviewTracks(previewTracks: any): {
31
42
  audioTrack: HMSLocalAudioTrack | null;
32
43
  videoTrack: HMSLocalVideoTrack | null;
@@ -35,4 +46,14 @@ export declare class HMSEncoder {
35
46
  static encodeHmsRole(role: any): HMSRole;
36
47
  static encodeHmsRoleChangeRequest(data: any, id: string): HMSRoleChangeRequest;
37
48
  static encodeHmsChangeTrackStateRequest(data: HMSChangeTrackStateRequest, id: string): HMSChangeTrackStateRequest;
49
+ static encodeRTCStats(data: any): HMSRTCStatsReport;
50
+ static encodeRTCStatsUnit(data: any): HMSRTCStats;
51
+ static encodeHmsSpeakerUpdate(data: any, id: string): HMSSpeakerUpdate;
52
+ static encodeHmsSpeakers(data: any, id: string): HMSSpeaker[];
53
+ static encodeHmsSpeaker(data: any, id: string): HMSSpeaker;
54
+ static encodeBrowserRecordingState(data: any): HMSBrowserRecordingState;
55
+ static encodeServerRecordingState(data: any): HMSServerRecordingState;
56
+ static encodeRTMPStreamingState(data: any): HMSRtmpStreamingState;
57
+ static encodeHLSStreamingState(data: any): HMSHLSStreamingState;
58
+ static encodeHLSVariants(data: any): HMSHLSVariant[];
38
59
  }
@@ -1,12 +1,12 @@
1
1
  export declare class HMSHLSVariant {
2
- hlsStreamUrl: string;
3
- meetingUrl: string;
4
- metadata: string;
5
- startedAt: number;
2
+ hlsStreamUrl?: string;
3
+ meetingUrl?: string;
4
+ metadata?: string;
5
+ startedAt?: Date;
6
6
  constructor(params: {
7
- hlsStreamUrl: string;
8
- meetingUrl: string;
9
- metadata: string;
10
- startedAt: number;
7
+ hlsStreamUrl?: string;
8
+ meetingUrl?: string;
9
+ metadata?: string;
10
+ startedAt?: Date;
11
11
  });
12
12
  }
@@ -0,0 +1,10 @@
1
+ export declare class HMSLocalAudioStats {
2
+ bitrate?: number;
3
+ bytesSent?: number;
4
+ roundTripTime?: number;
5
+ constructor(params: {
6
+ bitrate?: number;
7
+ bytesSent?: number;
8
+ roundTripTime?: number;
9
+ });
10
+ }
@@ -0,0 +1,15 @@
1
+ import type { HMSVideoResolution } from './HMSVideoResolution';
2
+ export declare class HMSLocalVideoStats {
3
+ bitrate?: number;
4
+ bytesSent?: number;
5
+ roundTripTime?: number;
6
+ frameRate?: number;
7
+ resolution?: HMSVideoResolution;
8
+ constructor(params: {
9
+ bitrate?: number;
10
+ bytesSent?: number;
11
+ roundTripTime?: number;
12
+ frameRate?: number;
13
+ resolution?: HMSVideoResolution;
14
+ });
15
+ }
@@ -9,5 +9,7 @@ export declare enum HMSPeerUpdate {
9
9
  RESIGNED_DOMINANT_SPEAKER = "RESIGNED_DOMINANT_SPEAKER",
10
10
  STARTED_SPEAKING = "STARTED_SPEAKING",
11
11
  STOPPED_SPEAKING = "STOPPED_SPEAKING",
12
- ROLE_CHANGED = "ROLE_CHANGED"
12
+ ROLE_CHANGED = "ROLE_CHANGED",
13
+ NAME_CHANGED = "NAME_CHANGED",
14
+ DEFAULT_UPDATE = "DEFAULT_UPDATE"
13
15
  }
@@ -5,7 +5,7 @@ export declare class HMSPermissions {
5
5
  mute?: boolean;
6
6
  changeRole?: boolean;
7
7
  recording?: boolean;
8
- rtmp?: boolean;
8
+ streaming?: boolean;
9
9
  constructor(params?: {
10
10
  endRoom?: boolean;
11
11
  removeOthers?: boolean;
@@ -13,6 +13,6 @@ export declare class HMSPermissions {
13
13
  mute?: boolean;
14
14
  changeRole?: boolean;
15
15
  recording?: boolean;
16
- rtmp?: boolean;
16
+ streaming?: boolean;
17
17
  });
18
18
  }
@@ -0,0 +1,18 @@
1
+ export declare class HMSRTCStats {
2
+ bitrateReceived?: number;
3
+ bitrateSent?: number;
4
+ bytesReceived?: number;
5
+ bytesSent?: number;
6
+ packetsLost?: number;
7
+ packetsReceived?: number;
8
+ roundTripTime?: number;
9
+ constructor(params: {
10
+ bitrateReceived?: number;
11
+ bitrateSent?: number;
12
+ bytesReceived?: number;
13
+ bytesSent?: number;
14
+ packetsLost?: number;
15
+ packetsReceived?: number;
16
+ roundTripTime?: number;
17
+ });
18
+ }
@@ -0,0 +1,11 @@
1
+ import type { HMSRTCStats } from './HMSRTCStats';
2
+ export declare class HMSRTCStatsReport {
3
+ video?: HMSRTCStats;
4
+ audio?: HMSRTCStats;
5
+ combined?: HMSRTCStats;
6
+ constructor(params: {
7
+ video?: HMSRTCStats;
8
+ audio?: HMSRTCStats;
9
+ combined?: HMSRTCStats;
10
+ });
11
+ }
@@ -0,0 +1,14 @@
1
+ export declare class HMSRemoteAudioStats {
2
+ bitrate?: number;
3
+ packetsReceived?: number;
4
+ packetsLost?: number;
5
+ bytesReceived?: number;
6
+ jitter?: number;
7
+ constructor(params: {
8
+ bitrate?: number;
9
+ packetsReceived?: number;
10
+ packetsLost?: number;
11
+ bytesReceived?: number;
12
+ jitter?: number;
13
+ });
14
+ }
@@ -0,0 +1,19 @@
1
+ import type { HMSVideoResolution } from './HMSVideoResolution';
2
+ export declare class HMSRemoteVideoStats {
3
+ bitrate?: number;
4
+ packetsReceived?: number;
5
+ packetsLost?: number;
6
+ bytesReceived?: number;
7
+ jitter?: number;
8
+ resolution?: HMSVideoResolution;
9
+ frameRate?: number;
10
+ constructor(params: {
11
+ bitrate?: number;
12
+ packetsReceived?: number;
13
+ packetsLost?: number;
14
+ bytesReceived?: number;
15
+ jitter?: number;
16
+ resolution?: HMSVideoResolution;
17
+ frameRate?: number;
18
+ });
19
+ }
@@ -12,6 +12,7 @@ export declare class HMSRoom {
12
12
  rtmpHMSRtmpStreamingState: HMSRtmpStreamingState;
13
13
  serverRecordingState: HMSServerRecordingState;
14
14
  hlsStreamingState: HMSHLSStreamingState;
15
+ peerCount: number;
15
16
  constructor(params: {
16
17
  id: string;
17
18
  name: string;
@@ -21,5 +22,6 @@ export declare class HMSRoom {
21
22
  rtmpHMSRtmpStreamingState: HMSRtmpStreamingState;
22
23
  serverRecordingState: HMSServerRecordingState;
23
24
  hlsStreamingState: HMSHLSStreamingState;
25
+ peerCount: number;
24
26
  });
25
27
  }
@@ -6,5 +6,6 @@ export declare enum HMSRoomUpdate {
6
6
  SERVER_RECORDING_STATE_UPDATED = "SERVER_RECORDING_STATE_UPDATED",
7
7
  RTMP_STREAMING_STATE_UPDATED = "RTMP_STREAMING_STATE_UPDATED",
8
8
  BROWSER_RECORDING_STATE_UPDATED = "BROWSER_RECORDING_STATE_UPDATED",
9
- HLS_STREAMING_STATE_UPDATED = "HLS_STREAMING_STATE_UPDATED"
9
+ HLS_STREAMING_STATE_UPDATED = "HLS_STREAMING_STATE_UPDATED",
10
+ ROOM_ID_UPDATED = "ROOM_ID_UPDATED"
10
11
  }
@@ -2,8 +2,12 @@ import type { HMSException } from './HMSException';
2
2
  export declare class HMSRtmpStreamingState {
3
3
  running: string;
4
4
  error: HMSException;
5
+ startedAt: Date;
6
+ stoppedAt: Date;
5
7
  constructor(params: {
6
8
  running: string;
7
9
  error: HMSException;
10
+ startedAt: Date;
11
+ stoppedAt: Date;
8
12
  });
9
13
  }