@100mslive/react-native-hms 1.8.0 → 1.9.0

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 (152) hide show
  1. package/android/build.gradle +3 -3
  2. package/android/local.properties +8 -1
  3. package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +15 -5
  4. package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +43 -5
  5. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +120 -25
  6. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +220 -26
  7. package/ios/HMSConstants.swift +1 -0
  8. package/ios/HMSDecoder.swift +16 -5
  9. package/ios/HMSHelper.swift +33 -4
  10. package/ios/HMSManager.m +26 -0
  11. package/ios/HMSManager.swift +45 -1
  12. package/ios/HMSRNSDK.swift +158 -15
  13. package/ios/Hmssdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  14. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  15. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/jatinnagar.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  16. package/ios/Hmssdk.xcodeproj/xcuserdata/jatinnagar.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  17. package/lib/commonjs/classes/HMSAudioCodec.js +1 -2
  18. package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
  19. package/lib/commonjs/classes/HMSAudioDevice.js +1 -2
  20. package/lib/commonjs/classes/HMSAudioDevice.js.map +1 -1
  21. package/lib/commonjs/classes/HMSAudioMixingMode.js +1 -2
  22. package/lib/commonjs/classes/HMSAudioMixingMode.js.map +1 -1
  23. package/lib/commonjs/classes/HMSAudioMode.js +1 -2
  24. package/lib/commonjs/classes/HMSAudioMode.js.map +1 -1
  25. package/lib/commonjs/classes/HMSCameraFacing.js +1 -2
  26. package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
  27. package/lib/commonjs/classes/HMSConstants.js +1 -2
  28. package/lib/commonjs/classes/HMSConstants.js.map +1 -1
  29. package/lib/commonjs/classes/HMSEventEmitter.js +1 -2
  30. package/lib/commonjs/classes/HMSEventEmitter.js.map +1 -1
  31. package/lib/commonjs/classes/HMSIOSAudioMode.js +1 -2
  32. package/lib/commonjs/classes/HMSIOSAudioMode.js.map +1 -1
  33. package/lib/commonjs/classes/HMSLayer.js +1 -2
  34. package/lib/commonjs/classes/HMSLayer.js.map +1 -1
  35. package/lib/commonjs/classes/HMSLogAlarmManager.js +1 -2
  36. package/lib/commonjs/classes/HMSLogAlarmManager.js.map +1 -1
  37. package/lib/commonjs/classes/HMSLogLevel.js +1 -2
  38. package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
  39. package/lib/commonjs/classes/HMSLogger.js +1 -2
  40. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  41. package/lib/commonjs/classes/HMSManagerModule.js +1 -2
  42. package/lib/commonjs/classes/HMSManagerModule.js.map +1 -1
  43. package/lib/commonjs/classes/HMSMessageRecipientType.js +1 -2
  44. package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
  45. package/lib/commonjs/classes/HMSNativeEventListener.js +1 -2
  46. package/lib/commonjs/classes/HMSNativeEventListener.js.map +1 -1
  47. package/lib/commonjs/classes/HMSPIPListenerActions.js +2 -2
  48. package/lib/commonjs/classes/HMSPIPListenerActions.js.map +1 -1
  49. package/lib/commonjs/classes/HMSPeer.js +15 -0
  50. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  51. package/lib/commonjs/classes/HMSPeerListIterator.js +64 -0
  52. package/lib/commonjs/classes/HMSPeerListIterator.js.map +1 -0
  53. package/lib/commonjs/classes/HMSPeerListIteratorOptions.js +2 -0
  54. package/lib/commonjs/classes/HMSPeerListIteratorOptions.js.map +1 -0
  55. package/lib/commonjs/classes/HMSPeerUpdate.js +3 -4
  56. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  57. package/lib/commonjs/classes/HMSPeersCache.js +8 -2
  58. package/lib/commonjs/classes/HMSPeersCache.js.map +1 -1
  59. package/lib/commonjs/classes/HMSQualityLimitationReason.js +1 -2
  60. package/lib/commonjs/classes/HMSQualityLimitationReason.js.map +1 -1
  61. package/lib/commonjs/classes/HMSRoomCache.js +1 -2
  62. package/lib/commonjs/classes/HMSRoomCache.js.map +1 -1
  63. package/lib/commonjs/classes/HMSRoomUpdate.js +1 -2
  64. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  65. package/lib/commonjs/classes/HMSSDK.js +152 -6
  66. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  67. package/lib/commonjs/classes/HMSTrackSettingsInitState.js +1 -2
  68. package/lib/commonjs/classes/HMSTrackSettingsInitState.js.map +1 -1
  69. package/lib/commonjs/classes/HMSTrackSource.js +1 -2
  70. package/lib/commonjs/classes/HMSTrackSource.js.map +1 -1
  71. package/lib/commonjs/classes/HMSTrackType.js +1 -2
  72. package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
  73. package/lib/commonjs/classes/HMSTrackUpdate.js +1 -2
  74. package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
  75. package/lib/commonjs/classes/HMSUpdateListenerActions.js +2 -2
  76. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  77. package/lib/commonjs/classes/HMSVideoCodec.js +1 -2
  78. package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
  79. package/lib/commonjs/classes/HMSVideoViewMode.js +1 -2
  80. package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
  81. package/lib/commonjs/classes/HmsView.js +3 -4
  82. package/lib/commonjs/classes/HmsView.js.map +1 -1
  83. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js +3 -4
  84. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  85. package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js +2 -4
  86. package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js.map +1 -1
  87. package/lib/commonjs/components/HMSHLSPlayer/hooks.js +5 -10
  88. package/lib/commonjs/components/HMSHLSPlayer/hooks.js.map +1 -1
  89. package/lib/commonjs/hooks/useHMSPeerUpdates.js +2 -2
  90. package/lib/commonjs/hooks/useHMSPeerUpdates.js.map +1 -1
  91. package/lib/commonjs/index.js +1 -2
  92. package/lib/commonjs/index.js.map +1 -1
  93. package/lib/commonjs/stores/hls-player-stats-store.js +1 -2
  94. package/lib/commonjs/stores/hls-player-stats-store.js.map +1 -1
  95. package/lib/commonjs/stores/hms-store.js +1 -2
  96. package/lib/commonjs/stores/hms-store.js.map +1 -1
  97. package/lib/commonjs/types.js +3 -6
  98. package/lib/commonjs/types.js.map +1 -1
  99. package/lib/module/classes/HMSPIPListenerActions.js +1 -0
  100. package/lib/module/classes/HMSPIPListenerActions.js.map +1 -1
  101. package/lib/module/classes/HMSPeer.js +15 -0
  102. package/lib/module/classes/HMSPeer.js.map +1 -1
  103. package/lib/module/classes/HMSPeerListIterator.js +58 -0
  104. package/lib/module/classes/HMSPeerListIterator.js.map +1 -0
  105. package/lib/module/classes/HMSPeerListIteratorOptions.js +2 -0
  106. package/lib/module/classes/HMSPeerListIteratorOptions.js.map +1 -0
  107. package/lib/module/classes/HMSPeerUpdate.js +2 -1
  108. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  109. package/lib/module/classes/HMSPeersCache.js +7 -0
  110. package/lib/module/classes/HMSPeersCache.js.map +1 -1
  111. package/lib/module/classes/HMSSDK.js +153 -7
  112. package/lib/module/classes/HMSSDK.js.map +1 -1
  113. package/lib/module/classes/HMSUpdateListenerActions.js +1 -0
  114. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  115. package/lib/typescript/classes/HMSPIPListenerActions.d.ts +1 -0
  116. package/lib/typescript/classes/HMSPeer.d.ts +3 -0
  117. package/lib/typescript/classes/HMSPeerListIterator.d.ts +9 -0
  118. package/lib/typescript/classes/HMSPeerListIteratorOptions.d.ts +24 -0
  119. package/lib/typescript/classes/HMSPeerUpdate.d.ts +2 -1
  120. package/lib/typescript/classes/HMSPeersCache.d.ts +1 -0
  121. package/lib/typescript/classes/HMSSDK.d.ts +46 -1
  122. package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +2 -1
  123. package/package.json +1 -1
  124. package/sdk-versions.json +2 -2
  125. package/src/classes/HMSPIPListenerActions.ts +1 -0
  126. package/src/classes/HMSPeer.ts +25 -0
  127. package/src/classes/HMSPeerListIterator.ts +60 -0
  128. package/src/classes/HMSPeerListIteratorOptions.ts +26 -0
  129. package/src/classes/HMSPeerUpdate.ts +2 -0
  130. package/src/classes/HMSPeersCache.ts +7 -0
  131. package/src/classes/HMSSDK.tsx +187 -4
  132. package/src/classes/HMSUpdateListenerActions.ts +1 -0
  133. package/android/.gradle/6.7.1/executionHistory/executionHistory.bin +0 -0
  134. package/android/.gradle/6.7.1/executionHistory/executionHistory.lock +0 -0
  135. package/android/.gradle/6.7.1/fileChanges/last-build.bin +0 -0
  136. package/android/.gradle/6.7.1/fileHashes/fileHashes.bin +0 -0
  137. package/android/.gradle/6.7.1/fileHashes/fileHashes.lock +0 -0
  138. package/android/.gradle/6.7.1/gc.properties +0 -0
  139. package/android/.gradle/6.9/executionHistory/executionHistory.bin +0 -0
  140. package/android/.gradle/6.9/executionHistory/executionHistory.lock +0 -0
  141. package/android/.gradle/6.9/fileChanges/last-build.bin +0 -0
  142. package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
  143. package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
  144. package/android/.gradle/6.9/gc.properties +0 -0
  145. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  146. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  147. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  148. package/android/.gradle/checksums/checksums.lock +0 -0
  149. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  150. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  151. package/android/.gradle/configuration-cache/gc.properties +0 -0
  152. package/android/.gradle/vcs-1/gc.properties +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["HMSManager","HMSEncoder","HMSPeerUpdate","HMSTrackUpdate","HMSTrackType","HMSTrackSource","hmsPeersCache","getHmsPeersCache","setHmsPeersCache","_hmsPeersCache","clearHmsPeersCache","cleanup","undefined","HMSPeersCache","constructor","id","_defineProperty","Map","getProperty","peerId","property","peerObj","_data","get","encodedValue","getPeerPropertyFromNative","set","updatePeerCache","data","updateType","PEER_JOINED","PEER_LEFT","delete","updatedObj","TRACK_ADDED","track","source","REGULAR","type","VIDEO","videoTrack","isDegraded","AUDIO","audioTrack","Array","isArray","auxiliaryTracks","push","TRACK_REMOVED","filter","auxiliaryTrack","trackId","TRACK_MUTED","TRACK_UNMUTED","_updatedObj$videoTrac","oldIsDegraded","map","TRACK_DEGRADED","TRACK_RESTORED","ROLE_CHANGED","role","encodeHmsRole","NETWORK_QUALITY_UPDATED","networkQuality","encodeHMSNetworkQuality","METADATA_CHANGED","metadata","NAME_CHANGED","name","Object","keys","length","clear","getPeerProperty","value","encodeHmsAudioTrack","encodeHmsVideoTrack","encodeHmsAuxiliaryTracks"],"sources":["HMSPeersCache.ts"],"sourcesContent":["import HMSManager from './HMSManagerModule';\n\nimport { HMSEncoder } from './HMSEncoder';\nimport { HMSPeerUpdate } from './HMSPeerUpdate';\nimport { HMSTrackUpdate } from './HMSTrackUpdate';\nimport type { HMSTrack } from './HMSTrack';\nimport { HMSTrackType } from './HMSTrackType';\nimport { HMSTrackSource } from './HMSTrackSource';\nimport type { HMSNetworkQuality } from './HMSNetworkQuality';\nimport type { HMSRole } from './HMSRole';\nimport type { HMSAudioTrack } from './HMSAudioTrack';\nimport type { HMSVideoTrack } from './HMSVideoTrack';\n\nexport let hmsPeersCache: HMSPeersCache | undefined;\n\nexport const getHmsPeersCache = () => {\n return hmsPeersCache;\n};\n\nexport const setHmsPeersCache = (_hmsPeersCache: HMSPeersCache) => {\n hmsPeersCache = _hmsPeersCache;\n};\n\nexport const clearHmsPeersCache = () => {\n if (hmsPeersCache) {\n hmsPeersCache.cleanup();\n }\n hmsPeersCache = undefined;\n};\n\nexport type HMSPeerCacheProps = {\n peerID?: string | undefined;\n name?: string | undefined;\n isLocal?: boolean | undefined;\n networkQuality?: HMSNetworkQuality | undefined;\n customerUserID?: string | undefined;\n metadata?: string | undefined;\n role?: HMSRole | undefined;\n audioTrack?: HMSAudioTrack | undefined;\n videoTrack?: HMSVideoTrack | undefined;\n auxiliaryTracks?: HMSTrack[] | undefined;\n};\n\nexport class HMSPeersCache {\n private _data = new Map<string, HMSPeerCacheProps>();\n private id: string;\n\n constructor(id: string) {\n this.id = id;\n }\n\n getProperty<T extends keyof HMSPeerCacheProps>(\n peerId: string,\n property: T\n ): HMSPeerCacheProps[T] | undefined {\n const peerObj = this._data.get(peerId);\n\n if (peerObj && property in peerObj) {\n return peerObj[property];\n }\n\n const encodedValue = getPeerPropertyFromNative(this.id, peerId, property);\n\n if (!peerObj) {\n this._data.set(peerId, { [property]: encodedValue });\n } else {\n peerObj[property] = encodedValue;\n }\n\n return encodedValue;\n }\n\n updatePeerCache(\n peerId: string,\n data: Partial<Record<keyof HMSPeerCacheProps | 'track', any>>,\n updateType?: HMSPeerUpdate | HMSTrackUpdate\n ) {\n const peerObj = this._data.get(peerId);\n\n if (updateType === HMSPeerUpdate.PEER_JOINED) {\n if (!peerObj) {\n this._data.set(peerId, data);\n }\n return;\n }\n\n if (updateType === HMSPeerUpdate.PEER_LEFT) {\n this._data.delete(peerId);\n return;\n }\n\n let updatedObj = peerObj || {};\n\n switch (updateType) {\n case HMSTrackUpdate.TRACK_ADDED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n updatedObj.videoTrack = track;\n updatedObj.videoTrack.isDegraded = false;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = track;\n }\n } else {\n if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj.auxiliaryTracks.push(track);\n } else {\n updatedObj.auxiliaryTracks = [track];\n }\n }\n break;\n }\n case HMSTrackUpdate.TRACK_REMOVED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n updatedObj.videoTrack = undefined;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = undefined;\n }\n } else if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj.auxiliaryTracks = updatedObj.auxiliaryTracks.filter(\n (auxiliaryTrack) => auxiliaryTrack.trackId !== track.trackId\n );\n }\n break;\n }\n case HMSTrackUpdate.TRACK_MUTED:\n case HMSTrackUpdate.TRACK_UNMUTED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n const oldIsDegraded = updatedObj.videoTrack?.isDegraded || false;\n updatedObj.videoTrack = track;\n updatedObj.videoTrack.isDegraded = oldIsDegraded;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = track;\n }\n } else {\n if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj = {\n ...updatedObj,\n auxiliaryTracks: updatedObj.auxiliaryTracks.map(\n (auxiliaryTrack) =>\n auxiliaryTrack.trackId === track.trackId\n ? track\n : auxiliaryTrack\n ),\n };\n } else {\n updatedObj.auxiliaryTracks = [track];\n }\n }\n break;\n }\n case HMSTrackUpdate.TRACK_DEGRADED:\n case HMSTrackUpdate.TRACK_RESTORED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n updatedObj.videoTrack = track;\n updatedObj.videoTrack.isDegraded =\n updateType === HMSTrackUpdate.TRACK_DEGRADED;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = track;\n }\n } else {\n if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj.auxiliaryTracks = updatedObj.auxiliaryTracks.map(\n (auxiliaryTrack) => {\n if (auxiliaryTrack.trackId === track.trackId) {\n return {\n ...auxiliaryTrack,\n isDegraded: updateType === HMSTrackUpdate.TRACK_DEGRADED,\n };\n }\n\n return auxiliaryTrack;\n }\n );\n } else {\n updatedObj.auxiliaryTracks = [track];\n }\n }\n break;\n }\n case HMSPeerUpdate.ROLE_CHANGED: {\n updatedObj.role = HMSEncoder.encodeHmsRole(data.role);\n break;\n }\n case HMSPeerUpdate.NETWORK_QUALITY_UPDATED: {\n updatedObj.networkQuality = HMSEncoder.encodeHMSNetworkQuality(\n data.networkQuality\n );\n break;\n }\n case HMSPeerUpdate.METADATA_CHANGED: {\n updatedObj.metadata = data.metadata;\n break;\n }\n case HMSPeerUpdate.NAME_CHANGED: {\n updatedObj.name = data.name;\n break;\n }\n default: {\n updatedObj = { ...updatedObj, ...data };\n break;\n }\n }\n\n if (Object.keys(updatedObj).length > 0) {\n this._data.set(peerId, updatedObj);\n }\n }\n\n cleanup() {\n this._data.clear();\n }\n}\n\nexport function getPeerPropertyFromNative<T extends keyof HMSPeerCacheProps>(\n id: string,\n peerId: string,\n property: T\n): HMSPeerCacheProps[T] {\n const data: any = HMSManager.getPeerProperty({\n id,\n peerId,\n property,\n });\n\n let value;\n\n if (property === 'role') {\n value = data ? HMSEncoder.encodeHmsRole(data.role) : undefined;\n } else if (property === 'networkQuality') {\n value = data\n ? HMSEncoder.encodeHMSNetworkQuality(data.networkQuality)\n : undefined;\n } else if (property === 'audioTrack') {\n value = data\n ? HMSEncoder.encodeHmsAudioTrack(data.audioTrack, id)\n : undefined;\n } else if (property === 'videoTrack') {\n value = data\n ? HMSEncoder.encodeHmsVideoTrack(data.videoTrack, id)\n : undefined;\n } else if (property === 'auxiliaryTracks') {\n value =\n data && Array.isArray(data.auxiliaryTracks)\n ? HMSEncoder.encodeHmsAuxiliaryTracks(data.auxiliaryTracks, id)\n : undefined;\n } else if (property === 'name') {\n value = data?.[property];\n } else {\n value = data ? data[property] : undefined;\n }\n\n return value;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["HMSManager","HMSEncoder","HMSPeerUpdate","HMSTrackUpdate","HMSTrackType","HMSTrackSource","hmsPeersCache","getHmsPeersCache","setHmsPeersCache","_hmsPeersCache","clearHmsPeersCache","cleanup","undefined","HMSPeersCache","constructor","id","_defineProperty","Map","getProperty","peerId","property","peerObj","_data","get","encodedValue","getPeerPropertyFromNative","set","updatePeerCache","data","updateType","PEER_JOINED","PEER_LEFT","delete","updatedObj","TRACK_ADDED","track","source","REGULAR","type","VIDEO","videoTrack","isDegraded","AUDIO","audioTrack","Array","isArray","auxiliaryTracks","push","TRACK_REMOVED","filter","auxiliaryTrack","trackId","TRACK_MUTED","TRACK_UNMUTED","_updatedObj$videoTrac","oldIsDegraded","map","TRACK_DEGRADED","TRACK_RESTORED","ROLE_CHANGED","role","encodeHmsRole","NETWORK_QUALITY_UPDATED","networkQuality","encodeHMSNetworkQuality","METADATA_CHANGED","metadata","NAME_CHANGED","name","HAND_RAISED_CHANGED","isHandRaised","Object","keys","length","clear","getPeerProperty","value","encodeHmsAudioTrack","encodeHmsVideoTrack","encodeHmsAuxiliaryTracks"],"sources":["HMSPeersCache.ts"],"sourcesContent":["import HMSManager from './HMSManagerModule';\n\nimport { HMSEncoder } from './HMSEncoder';\nimport { HMSPeerUpdate } from './HMSPeerUpdate';\nimport { HMSTrackUpdate } from './HMSTrackUpdate';\nimport type { HMSTrack } from './HMSTrack';\nimport { HMSTrackType } from './HMSTrackType';\nimport { HMSTrackSource } from './HMSTrackSource';\nimport type { HMSNetworkQuality } from './HMSNetworkQuality';\nimport type { HMSRole } from './HMSRole';\nimport type { HMSAudioTrack } from './HMSAudioTrack';\nimport type { HMSVideoTrack } from './HMSVideoTrack';\n\nexport let hmsPeersCache: HMSPeersCache | undefined;\n\nexport const getHmsPeersCache = () => {\n return hmsPeersCache;\n};\n\nexport const setHmsPeersCache = (_hmsPeersCache: HMSPeersCache) => {\n hmsPeersCache = _hmsPeersCache;\n};\n\nexport const clearHmsPeersCache = () => {\n if (hmsPeersCache) {\n hmsPeersCache.cleanup();\n }\n hmsPeersCache = undefined;\n};\n\nexport type HMSPeerCacheProps = {\n peerID?: string | undefined;\n name?: string | undefined;\n isLocal?: boolean | undefined;\n networkQuality?: HMSNetworkQuality | undefined;\n customerUserID?: string | undefined;\n metadata?: string | undefined;\n role?: HMSRole | undefined;\n audioTrack?: HMSAudioTrack | undefined;\n videoTrack?: HMSVideoTrack | undefined;\n auxiliaryTracks?: HMSTrack[] | undefined;\n isHandRaised?: boolean | undefined;\n};\n\nexport class HMSPeersCache {\n private _data = new Map<string, HMSPeerCacheProps>();\n private id: string;\n\n constructor(id: string) {\n this.id = id;\n }\n\n getProperty<T extends keyof HMSPeerCacheProps>(\n peerId: string,\n property: T\n ): HMSPeerCacheProps[T] | undefined {\n const peerObj = this._data.get(peerId);\n\n if (peerObj && property in peerObj) {\n return peerObj[property];\n }\n\n const encodedValue = getPeerPropertyFromNative(this.id, peerId, property);\n\n if (!peerObj) {\n this._data.set(peerId, { [property]: encodedValue });\n } else {\n peerObj[property] = encodedValue;\n }\n\n return encodedValue;\n }\n\n updatePeerCache(\n peerId: string,\n data: Partial<Record<keyof HMSPeerCacheProps | 'track', any>>,\n updateType?: HMSPeerUpdate | HMSTrackUpdate\n ) {\n const peerObj = this._data.get(peerId);\n\n if (updateType === HMSPeerUpdate.PEER_JOINED) {\n if (!peerObj) {\n this._data.set(peerId, data);\n }\n return;\n }\n\n if (updateType === HMSPeerUpdate.PEER_LEFT) {\n this._data.delete(peerId);\n return;\n }\n\n let updatedObj = peerObj || {};\n\n switch (updateType) {\n case HMSTrackUpdate.TRACK_ADDED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n updatedObj.videoTrack = track;\n updatedObj.videoTrack.isDegraded = false;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = track;\n }\n } else {\n if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj.auxiliaryTracks.push(track);\n } else {\n updatedObj.auxiliaryTracks = [track];\n }\n }\n break;\n }\n case HMSTrackUpdate.TRACK_REMOVED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n updatedObj.videoTrack = undefined;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = undefined;\n }\n } else if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj.auxiliaryTracks = updatedObj.auxiliaryTracks.filter(\n (auxiliaryTrack) => auxiliaryTrack.trackId !== track.trackId\n );\n }\n break;\n }\n case HMSTrackUpdate.TRACK_MUTED:\n case HMSTrackUpdate.TRACK_UNMUTED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n const oldIsDegraded = updatedObj.videoTrack?.isDegraded || false;\n updatedObj.videoTrack = track;\n updatedObj.videoTrack.isDegraded = oldIsDegraded;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = track;\n }\n } else {\n if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj = {\n ...updatedObj,\n auxiliaryTracks: updatedObj.auxiliaryTracks.map(\n (auxiliaryTrack) =>\n auxiliaryTrack.trackId === track.trackId\n ? track\n : auxiliaryTrack\n ),\n };\n } else {\n updatedObj.auxiliaryTracks = [track];\n }\n }\n break;\n }\n case HMSTrackUpdate.TRACK_DEGRADED:\n case HMSTrackUpdate.TRACK_RESTORED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n updatedObj.videoTrack = track;\n updatedObj.videoTrack.isDegraded =\n updateType === HMSTrackUpdate.TRACK_DEGRADED;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = track;\n }\n } else {\n if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj.auxiliaryTracks = updatedObj.auxiliaryTracks.map(\n (auxiliaryTrack) => {\n if (auxiliaryTrack.trackId === track.trackId) {\n return {\n ...auxiliaryTrack,\n isDegraded: updateType === HMSTrackUpdate.TRACK_DEGRADED,\n };\n }\n\n return auxiliaryTrack;\n }\n );\n } else {\n updatedObj.auxiliaryTracks = [track];\n }\n }\n break;\n }\n case HMSPeerUpdate.ROLE_CHANGED: {\n updatedObj.role = HMSEncoder.encodeHmsRole(data.role);\n break;\n }\n case HMSPeerUpdate.NETWORK_QUALITY_UPDATED: {\n updatedObj.networkQuality = HMSEncoder.encodeHMSNetworkQuality(\n data.networkQuality\n );\n break;\n }\n case HMSPeerUpdate.METADATA_CHANGED: {\n updatedObj.metadata = data.metadata;\n break;\n }\n case HMSPeerUpdate.NAME_CHANGED: {\n updatedObj.name = data.name;\n break;\n }\n case HMSPeerUpdate.HAND_RAISED_CHANGED: {\n updatedObj.isHandRaised = data.isHandRaised;\n break;\n }\n default: {\n updatedObj = { ...updatedObj, ...data };\n break;\n }\n }\n\n if (Object.keys(updatedObj).length > 0) {\n this._data.set(peerId, updatedObj);\n }\n }\n\n cleanup() {\n this._data.clear();\n }\n}\n\nexport function getPeerPropertyFromNative<T extends keyof HMSPeerCacheProps>(\n id: string,\n peerId: string,\n property: T\n): HMSPeerCacheProps[T] {\n const data: any = HMSManager.getPeerProperty({\n id,\n peerId,\n property,\n });\n\n let value;\n\n if (property === 'role') {\n value = data ? HMSEncoder.encodeHmsRole(data.role) : undefined;\n } else if (property === 'networkQuality') {\n value = data\n ? HMSEncoder.encodeHMSNetworkQuality(data.networkQuality)\n : undefined;\n } else if (property === 'audioTrack') {\n value = data\n ? HMSEncoder.encodeHmsAudioTrack(data.audioTrack, id)\n : undefined;\n } else if (property === 'videoTrack') {\n value = data\n ? HMSEncoder.encodeHmsVideoTrack(data.videoTrack, id)\n : undefined;\n } else if (property === 'auxiliaryTracks') {\n value =\n data && Array.isArray(data.auxiliaryTracks)\n ? HMSEncoder.encodeHmsAuxiliaryTracks(data.auxiliaryTracks, id)\n : undefined;\n } else if (property === 'name') {\n value = data?.[property];\n } else if (property === 'isHandRaised') {\n value = data ? data[property] : false;\n } else {\n value = data ? data[property] : undefined;\n }\n\n return value;\n}\n"],"mappings":"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"}
@@ -14,8 +14,9 @@ import { HMSPIPListenerActions } from './HMSPIPListenerActions';
14
14
  import HMSNativeEventListener from './HMSNativeEventListener';
15
15
  import { clearHmsPeersCache, getHmsPeersCache, HMSPeersCache, setHmsPeersCache } from './HMSPeersCache';
16
16
  import { clearHmsRoomCache, getHmsRoomCache, HMSRoomCache, setHmsRoomCache } from './HMSRoomCache';
17
- import { HMSPeerUpdateOrdinals } from './HMSPeerUpdate';
17
+ import { HMSPeerUpdate, HMSPeerUpdateOrdinals } from './HMSPeerUpdate';
18
18
  import { HMSSessionStore } from './HMSSessionStore';
19
+ import { HMSPeerListIterator } from './HMSPeerListIterator';
19
20
 
20
21
  // TODO: Rename to HMSPIPConfig & to be moved to a separate file
21
22
 
@@ -31,6 +32,7 @@ export class HMSSDK {
31
32
  _defineProperty(this, "onJoinDelegate", void 0);
32
33
  _defineProperty(this, "onRoomDelegate", void 0);
33
34
  _defineProperty(this, "onPeerDelegate", void 0);
35
+ _defineProperty(this, "onPeerListUpdatedDelegate", void 0);
34
36
  _defineProperty(this, "onTrackDelegate", void 0);
35
37
  _defineProperty(this, "onErrorDelegate", void 0);
36
38
  _defineProperty(this, "onMessageDelegate", void 0);
@@ -48,6 +50,7 @@ export class HMSSDK {
48
50
  _defineProperty(this, "onAudioDeviceChangedDelegate", void 0);
49
51
  _defineProperty(this, "onSessionStoreAvailableDelegate", void 0);
50
52
  _defineProperty(this, "onPIPRoomLeaveDelegate", void 0);
53
+ _defineProperty(this, "onPIPModeChangedDelegate", void 0);
51
54
  _defineProperty(this, "emitterSubscriptions", {});
52
55
  /**
53
56
  * - Calls removeListeners that in turn breaks all connections with native listeners.
@@ -1066,6 +1069,75 @@ export class HMSSDK {
1066
1069
  peerID: peerId
1067
1070
  });
1068
1071
  });
1072
+ /**
1073
+ * - This function is used to raise hand for the local peer
1074
+ * @memberof HMSSDK
1075
+ */
1076
+ _defineProperty(this, "raiseLocalPeerHand", async () => {
1077
+ const data = {
1078
+ id: this.id
1079
+ };
1080
+ logger === null || logger === void 0 || logger.verbose('#Function raiseLocalPeerHand', data);
1081
+ return HMSManager.raiseLocalPeerHand(data);
1082
+ });
1083
+ /**
1084
+ * - This function is used to lower hand for the local peer
1085
+ * @memberof HMSSDK
1086
+ */
1087
+ _defineProperty(this, "lowerLocalPeerHand", async () => {
1088
+ const data = {
1089
+ id: this.id
1090
+ };
1091
+ logger === null || logger === void 0 || logger.verbose('#Function lowerLocalPeerHand', data);
1092
+ return HMSManager.lowerLocalPeerHand(data);
1093
+ });
1094
+ /**
1095
+ * - This function is used to lower hand for the remote peer
1096
+ * @param peer
1097
+ */
1098
+ _defineProperty(this, "lowerRemotePeerHand", async peer => {
1099
+ const data = {
1100
+ peerId: peer.peerID,
1101
+ id: this.id
1102
+ };
1103
+ logger === null || logger === void 0 || logger.verbose('#Function lowerRemotePeerHand', data);
1104
+ return HMSManager.lowerRemotePeerHand(data);
1105
+ });
1106
+ /**
1107
+ * `getPeerListIterator` method returns an instance of `HMSPeerListIterator` class
1108
+ *
1109
+ * @param options options for configuring iterator
1110
+ * @returns instance of HMSPeerListIterator class
1111
+ *
1112
+ * Example usage:
1113
+ * ```
1114
+ * const peerListIterator = hmsInstance.getPeerListIterator();
1115
+ * ```
1116
+ * OR
1117
+ * ```
1118
+ * const peerListIterator = hmsInstance.getPeerListIterator({
1119
+ * limit: 10,
1120
+ * byRoleName: 'viewer-realtime',
1121
+ * });
1122
+ * ```
1123
+ */
1124
+ _defineProperty(this, "getPeerListIterator", options => {
1125
+ logger === null || logger === void 0 || logger.verbose('#Function getPeerListIterator', {
1126
+ id: this.id,
1127
+ options
1128
+ });
1129
+ const uniqueId = Math.random().toString(16).slice(2);
1130
+ const data = HMSManager.getPeerListIterator({
1131
+ id: this.id,
1132
+ ...options,
1133
+ limit: (options === null || options === void 0 ? void 0 : options.limit) ?? 10,
1134
+ uniqueId
1135
+ });
1136
+ if (!data) {
1137
+ throw new Error('Unable to create PeerListIterator');
1138
+ }
1139
+ return new HMSPeerListIterator(data.uniqueId, data.totalCount);
1140
+ });
1069
1141
  /**
1070
1142
  * - This is a prototype event listener that takes action and listens for updates related to that particular action
1071
1143
  *
@@ -1127,6 +1199,18 @@ export class HMSSDK {
1127
1199
  this.onPeerDelegate = callback;
1128
1200
  break;
1129
1201
  }
1202
+ case HMSUpdateListenerActions.ON_PEER_LIST_UPDATED:
1203
+ {
1204
+ // Checking if we already have ON_PEER_LIST_UPDATED subscription
1205
+ if (!this.emitterSubscriptions[HMSUpdateListenerActions.ON_PEER_LIST_UPDATED]) {
1206
+ // Adding ON_PEER_LIST_UPDATED native listener
1207
+ const peerListUpdatedSubscription = HMSNativeEventListener.addListener(this.id, HMSUpdateListenerActions.ON_PEER_LIST_UPDATED, this.onPeerListUpdatedListener);
1208
+ this.emitterSubscriptions[HMSUpdateListenerActions.ON_PEER_LIST_UPDATED] = peerListUpdatedSubscription;
1209
+ }
1210
+ // Adding App Delegate listener
1211
+ this.onPeerListUpdatedDelegate = callback;
1212
+ break;
1213
+ }
1130
1214
  case HMSUpdateListenerActions.ON_TRACK_UPDATE:
1131
1215
  {
1132
1216
  // Checking if we already have ON_TRACK_UPDATE subscription
@@ -1333,6 +1417,19 @@ export class HMSSDK {
1333
1417
  }
1334
1418
  break;
1335
1419
  }
1420
+ case HMSPIPListenerActions.ON_PIP_MODE_CHANGED:
1421
+ {
1422
+ if (Platform.OS === 'android') {
1423
+ // Checking if we already have ON_PIP_MODE_CHANGED subscription
1424
+ if (!this.emitterSubscriptions[HMSPIPListenerActions.ON_PIP_MODE_CHANGED]) {
1425
+ const pipModeChangedSubscription = HMSNativeEventListener.addListener(this.id, HMSPIPListenerActions.ON_PIP_MODE_CHANGED, this.onPIPModeChangedListener);
1426
+ this.emitterSubscriptions[HMSPIPListenerActions.ON_PIP_MODE_CHANGED] = pipModeChangedSubscription;
1427
+ }
1428
+ // Adding PIP mode changed Delegate listener
1429
+ this.onPIPModeChangedDelegate = callback;
1430
+ }
1431
+ break;
1432
+ }
1336
1433
  default:
1337
1434
  }
1338
1435
  });
@@ -1603,6 +1700,20 @@ export class HMSSDK {
1603
1700
  }
1604
1701
  break;
1605
1702
  }
1703
+ case HMSPIPListenerActions.ON_PIP_MODE_CHANGED:
1704
+ {
1705
+ if (Platform.OS === 'android') {
1706
+ const subscription = this.emitterSubscriptions[HMSPIPListenerActions.ON_PIP_MODE_CHANGED];
1707
+ // Removing ON_PIP_MODE_CHANGED native listener
1708
+ if (subscription) {
1709
+ subscription.remove();
1710
+ this.emitterSubscriptions[HMSPIPListenerActions.ON_PIP_MODE_CHANGED] = undefined;
1711
+ }
1712
+ // Removing App Delegate listener
1713
+ this.onPIPModeChangedDelegate = null;
1714
+ }
1715
+ break;
1716
+ }
1606
1717
  default:
1607
1718
  }
1608
1719
  });
@@ -1703,7 +1814,6 @@ export class HMSSDK {
1703
1814
  }
1704
1815
  });
1705
1816
  _defineProperty(this, "onPeerListener", peerData => {
1706
- var _getHmsPeersCache;
1707
1817
  const data = {
1708
1818
  peer: peerData,
1709
1819
  type: null
@@ -1717,7 +1827,15 @@ export class HMSSDK {
1717
1827
  }
1718
1828
  const peer = HMSEncoder.encodeHmsPeer(data.peer);
1719
1829
  const type = HMSEncoder.encodeHmsPeerUpdate(data.type) || data.type;
1720
- (_getHmsPeersCache = getHmsPeersCache()) === null || _getHmsPeersCache === void 0 || _getHmsPeersCache.updatePeerCache(data.peer.peerID, data.peer, type);
1830
+ if (type === HMSPeerUpdate.PEER_LEFT) {
1831
+ this.sendPeerUpdateWhenPeerLeaves(data, peer, type);
1832
+ } else {
1833
+ var _getHmsPeersCache;
1834
+ (_getHmsPeersCache = getHmsPeersCache()) === null || _getHmsPeersCache === void 0 || _getHmsPeersCache.updatePeerCache(data.peer.peerID, data.peer, type);
1835
+ this.sendPeerUpdate(peer, type);
1836
+ }
1837
+ });
1838
+ _defineProperty(this, "sendPeerUpdate", (peer, type) => {
1721
1839
  if (this.onPeerDelegate) {
1722
1840
  logger === null || logger === void 0 || logger.verbose('#Listener ON_PEER_LISTENER_CALL', {
1723
1841
  peer,
@@ -1729,15 +1847,37 @@ export class HMSSDK {
1729
1847
  });
1730
1848
  }
1731
1849
  });
1732
- _defineProperty(this, "onTrackListener", data => {
1850
+ _defineProperty(this, "sendPeerUpdateWhenPeerLeaves", (data, peer, type) => {
1733
1851
  var _getHmsPeersCache2;
1852
+ this.sendPeerUpdate(peer, type);
1853
+ (_getHmsPeersCache2 = getHmsPeersCache()) === null || _getHmsPeersCache2 === void 0 || _getHmsPeersCache2.updatePeerCache(data.peer.peerID, data.peer, type);
1854
+ });
1855
+ _defineProperty(this, "onPeerListUpdatedListener", data => {
1856
+ if (data.id !== this.id) {
1857
+ return;
1858
+ }
1859
+ const addedPeers = HMSEncoder.encodeHmsPeers(data.addedPeers);
1860
+ const removedPeers = HMSEncoder.encodeHmsPeers(data.removedPeers);
1861
+ if (this.onPeerListUpdatedDelegate) {
1862
+ logger === null || logger === void 0 || logger.verbose('#Listener ON_PEER_LIST_UPDATED_LISTENER_CALL', {
1863
+ totalAddedPeers: addedPeers.length,
1864
+ totalRemovedPeers: removedPeers.length
1865
+ });
1866
+ this.onPeerListUpdatedDelegate({
1867
+ addedPeers,
1868
+ removedPeers
1869
+ });
1870
+ }
1871
+ });
1872
+ _defineProperty(this, "onTrackListener", data => {
1873
+ var _getHmsPeersCache3;
1734
1874
  if (data.id !== this.id) {
1735
1875
  return;
1736
1876
  }
1737
1877
  const track = HMSEncoder.encodeHmsTrack(data.track, this.id);
1738
1878
  const peer = HMSEncoder.encodeHmsPeer(data.peer);
1739
1879
  const type = data.type;
1740
- (_getHmsPeersCache2 = getHmsPeersCache()) === null || _getHmsPeersCache2 === void 0 || _getHmsPeersCache2.updatePeerCache(data.peer.peerID, {
1880
+ (_getHmsPeersCache3 = getHmsPeersCache()) === null || _getHmsPeersCache3 === void 0 || _getHmsPeersCache3.updatePeerCache(data.peer.peerID, {
1741
1881
  track
1742
1882
  }, data.type);
1743
1883
  if (this.muteStatus && (data === null || data === void 0 ? void 0 : data.type) === 'TRACK_ADDED' && track.type === HMSTrackType.AUDIO) {
@@ -1985,6 +2125,12 @@ export class HMSSDK {
1985
2125
  });
1986
2126
  }
1987
2127
  });
2128
+ _defineProperty(this, "onPIPModeChangedListener", data => {
2129
+ if (this.onPIPModeChangedDelegate) {
2130
+ logger === null || logger === void 0 || logger.verbose('#Listener onPIPModeChanged_CALL', data);
2131
+ this.onPIPModeChangedDelegate(data);
2132
+ }
2133
+ });
1988
2134
  /**
1989
2135
  * - Updates the logger for this instance of HMSSDK
1990
2136
  * @param {HMSLogger} hmsLogger
@@ -2043,8 +2189,8 @@ export class HMSSDK {
2043
2189
  id: this.id
2044
2190
  });
2045
2191
  }
2046
- async enablePipMode(data) {
2047
- return HMSManager.handlePipActions('enablePipMode', {
2192
+ async enterPipMode(data) {
2193
+ return HMSManager.handlePipActions('enterPipMode', {
2048
2194
  ...data,
2049
2195
  id: this.id
2050
2196
  });