@100mslive/react-native-hms 2.0.0-alpha.0 → 2.0.0-alpha.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 (960) hide show
  1. package/README.md +21 -15
  2. package/android/build.gradle +95 -48
  3. package/android/src/main/java/com/reactnativehmssdk/HMSAudioshareActivity.kt +8 -10
  4. package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +177 -3
  5. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayer.kt +149 -29
  6. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayerManagerImpl.kt +185 -0
  7. package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +80 -20
  8. package/android/src/main/java/com/reactnativehmssdk/{HMSManager.kt → HMSManagerImpl.kt} +517 -145
  9. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +503 -312
  10. package/android/src/main/java/com/reactnativehmssdk/HMSReactNativeEvent.kt +29 -0
  11. package/android/src/main/java/com/reactnativehmssdk/HMSSDKViewManagerImpl.kt +119 -0
  12. package/android/src/main/java/com/reactnativehmssdk/HMSView.kt +64 -12
  13. package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +9 -9
  14. package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +44 -8
  15. package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSInteractivityDecoder.kt +435 -0
  16. package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSInteractivityHelper.kt +353 -0
  17. package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSRNInteractivityCenter.kt +245 -0
  18. package/android/src/main/java/com/reactnativehmssdk/PipActionReceiver.kt +13 -3
  19. package/android/src/newarch/java/com/reactnativehmssdk/HMSHLSPlayerManager.kt +128 -0
  20. package/android/src/newarch/java/com/reactnativehmssdk/HMSManager.kt +332 -0
  21. package/android/src/newarch/java/com/reactnativehmssdk/HMSSDKViewManager.kt +102 -0
  22. package/android/src/oldarch/java/com/reactnativehmssdk/HMSHLSPlayerManager.kt +61 -0
  23. package/android/src/oldarch/java/com/reactnativehmssdk/HMSManager.kt +351 -0
  24. package/android/src/oldarch/java/com/reactnativehmssdk/HMSSDKViewManager.kt +87 -0
  25. package/ios/HMSConstants.swift +4 -0
  26. package/ios/HMSDecoder.swift +154 -18
  27. package/ios/HMSHLSPlayerComponentView.mm +325 -0
  28. package/ios/HMSHLSPlayerManager.m +16 -0
  29. package/ios/HMSHLSPlayerManager.swift +236 -70
  30. package/ios/HMSHelper.swift +126 -14
  31. package/ios/HMSInteractivityDecoder.swift +314 -0
  32. package/ios/HMSInteractivityHelper.swift +169 -0
  33. package/ios/HMSManager.m +203 -10
  34. package/ios/HMSManager.mm +365 -0
  35. package/ios/HMSManager.swift +431 -87
  36. package/ios/HMSRNInteractivityCenter.swift +161 -0
  37. package/ios/HMSRNSDK.swift +961 -134
  38. package/ios/HMSView.m +9 -0
  39. package/ios/HMSView.swift +45 -16
  40. package/ios/HMSViewComponentView.mm +229 -0
  41. package/ios/PIPMode/HMSPipModel.swift +18 -0
  42. package/ios/PIPMode/HMSPipView.swift +36 -0
  43. package/ios/PIPMode/HMSSampleBufferSwiftUIView.swift +45 -0
  44. package/lib/commonjs/classes/HMSAudioCodec.js +1 -2
  45. package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
  46. package/lib/commonjs/classes/HMSAudioDevice.js +10 -2
  47. package/lib/commonjs/classes/HMSAudioDevice.js.map +1 -1
  48. package/lib/commonjs/classes/HMSAudioFilePlayerNode.js.map +1 -1
  49. package/lib/commonjs/classes/HMSAudioMixerSource.js +3 -3
  50. package/lib/commonjs/classes/HMSAudioMixerSource.js.map +1 -1
  51. package/lib/commonjs/classes/HMSAudioMixingMode.js +12 -2
  52. package/lib/commonjs/classes/HMSAudioMixingMode.js.map +1 -1
  53. package/lib/commonjs/classes/HMSAudioMode.js +1 -2
  54. package/lib/commonjs/classes/HMSAudioMode.js.map +1 -1
  55. package/lib/commonjs/classes/HMSAudioNode.js +3 -3
  56. package/lib/commonjs/classes/HMSAudioNode.js.map +1 -1
  57. package/lib/commonjs/classes/HMSAudioSettings.js +3 -3
  58. package/lib/commonjs/classes/HMSAudioSettings.js.map +1 -1
  59. package/lib/commonjs/classes/HMSAudioTrack.js +9 -0
  60. package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
  61. package/lib/commonjs/classes/HMSAudioTrackSettings.js +12 -5
  62. package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
  63. package/lib/commonjs/classes/HMSBrowserRecordingState.js +5 -3
  64. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
  65. package/lib/commonjs/classes/HMSCameraControl.js +3 -4
  66. package/lib/commonjs/classes/HMSCameraControl.js.map +1 -1
  67. package/lib/commonjs/classes/HMSCameraFacing.js +10 -2
  68. package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
  69. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js +3 -3
  70. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
  71. package/lib/commonjs/classes/HMSConfig.js +30 -3
  72. package/lib/commonjs/classes/HMSConfig.js.map +1 -1
  73. package/lib/commonjs/classes/HMSConstants.js +1 -2
  74. package/lib/commonjs/classes/HMSConstants.js.map +1 -1
  75. package/lib/commonjs/classes/HMSEncoder.js +57 -14
  76. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  77. package/lib/commonjs/classes/HMSEventEmitter.js +1 -2
  78. package/lib/commonjs/classes/HMSEventEmitter.js.map +1 -1
  79. package/lib/commonjs/classes/HMSException.js +21 -3
  80. package/lib/commonjs/classes/HMSException.js.map +1 -1
  81. package/lib/commonjs/classes/HMSHLSConfig.js +3 -3
  82. package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -1
  83. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js +3 -3
  84. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  85. package/lib/commonjs/classes/HMSHLSPlaylistType.js +12 -0
  86. package/lib/commonjs/classes/HMSHLSPlaylistType.js.map +1 -0
  87. package/lib/commonjs/classes/HMSHLSRecordingConfig.js +3 -3
  88. package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -1
  89. package/lib/commonjs/classes/HMSHLSRecordingState.js +7 -7
  90. package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -1
  91. package/lib/commonjs/classes/HMSHLSStreamingState.js +9 -3
  92. package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -1
  93. package/lib/commonjs/classes/HMSHLSTimedMetadata.js +2 -0
  94. package/lib/commonjs/classes/HMSHLSTimedMetadata.js.map +1 -0
  95. package/lib/commonjs/classes/HMSHLSVariant.js +5 -3
  96. package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -1
  97. package/lib/commonjs/classes/HMSHelper.js.map +1 -1
  98. package/lib/commonjs/classes/HMSIOSAudioMode.js +16 -2
  99. package/lib/commonjs/classes/HMSIOSAudioMode.js.map +1 -1
  100. package/lib/commonjs/classes/HMSInteractivityCenter.js +174 -0
  101. package/lib/commonjs/classes/HMSInteractivityCenter.js.map +1 -0
  102. package/lib/commonjs/classes/HMSInteractivityEncoder.js +83 -0
  103. package/lib/commonjs/classes/HMSInteractivityEncoder.js.map +1 -0
  104. package/lib/commonjs/classes/HMSLayer.js +1 -2
  105. package/lib/commonjs/classes/HMSLayer.js.map +1 -1
  106. package/lib/commonjs/classes/HMSLocalAudioStats.js +3 -3
  107. package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -1
  108. package/lib/commonjs/classes/HMSLocalAudioTrack.js +3 -3
  109. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  110. package/lib/commonjs/classes/HMSLocalPeer.js +3 -3
  111. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  112. package/lib/commonjs/classes/HMSLocalVideoStats.js +3 -3
  113. package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -1
  114. package/lib/commonjs/classes/HMSLocalVideoTrack.js +3 -3
  115. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  116. package/lib/commonjs/classes/HMSLogAlarmManager.js +13 -2
  117. package/lib/commonjs/classes/HMSLogAlarmManager.js.map +1 -1
  118. package/lib/commonjs/classes/HMSLogLevel.js +13 -2
  119. package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
  120. package/lib/commonjs/classes/HMSLogSettings.js +17 -3
  121. package/lib/commonjs/classes/HMSLogSettings.js.map +1 -1
  122. package/lib/commonjs/classes/HMSLogger.js +4 -5
  123. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  124. package/lib/commonjs/classes/HMSMessage.js +3 -3
  125. package/lib/commonjs/classes/HMSMessage.js.map +1 -1
  126. package/lib/commonjs/classes/HMSMessageRecipient.js +3 -3
  127. package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -1
  128. package/lib/commonjs/classes/HMSMessageRecipientType.js +1 -2
  129. package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
  130. package/lib/commonjs/classes/HMSMicNode.js.map +1 -1
  131. package/lib/commonjs/classes/HMSNativeEventEmitter.js +4 -6
  132. package/lib/commonjs/classes/HMSNativeEventEmitter.js.map +1 -1
  133. package/lib/commonjs/classes/HMSNativeEventListener.js +3 -4
  134. package/lib/commonjs/classes/HMSNativeEventListener.js.map +1 -1
  135. package/lib/commonjs/classes/HMSNetworkQuality.js +14 -3
  136. package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -1
  137. package/lib/commonjs/classes/HMSNoiseCancellationPlugin.js +158 -0
  138. package/lib/commonjs/classes/HMSNoiseCancellationPlugin.js.map +1 -0
  139. package/lib/commonjs/classes/HMSPIPConfig.js +6 -0
  140. package/lib/commonjs/classes/HMSPIPConfig.js.map +1 -0
  141. package/lib/commonjs/classes/HMSPIPListenerActions.js +10 -2
  142. package/lib/commonjs/classes/HMSPIPListenerActions.js.map +1 -1
  143. package/lib/commonjs/classes/HMSPeer.js +186 -5
  144. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  145. package/lib/commonjs/classes/HMSPeerListIterator.js +25 -7
  146. package/lib/commonjs/classes/HMSPeerListIterator.js.map +1 -1
  147. package/lib/commonjs/classes/HMSPeerListIteratorOptions.js.map +1 -1
  148. package/lib/commonjs/classes/HMSPeerType.js +24 -0
  149. package/lib/commonjs/classes/HMSPeerType.js.map +1 -0
  150. package/lib/commonjs/classes/HMSPeerUpdate.js +2 -4
  151. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  152. package/lib/commonjs/classes/HMSPeersCache.js +6 -7
  153. package/lib/commonjs/classes/HMSPeersCache.js.map +1 -1
  154. package/lib/commonjs/classes/HMSPermissions.js +11 -3
  155. package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
  156. package/lib/commonjs/classes/HMSPollsListenerActions.js +11 -0
  157. package/lib/commonjs/classes/HMSPollsListenerActions.js.map +1 -0
  158. package/lib/commonjs/classes/HMSPublishSettings.js +3 -3
  159. package/lib/commonjs/classes/HMSPublishSettings.js.map +1 -1
  160. package/lib/commonjs/classes/HMSQualityLimitationReason.js +1 -2
  161. package/lib/commonjs/classes/HMSQualityLimitationReason.js.map +1 -1
  162. package/lib/commonjs/classes/HMSQualityLimitationReasons.js +3 -3
  163. package/lib/commonjs/classes/HMSQualityLimitationReasons.js.map +1 -1
  164. package/lib/commonjs/classes/HMSRTCStats.js +3 -3
  165. package/lib/commonjs/classes/HMSRTCStats.js.map +1 -1
  166. package/lib/commonjs/classes/HMSRTCStatsReport.js +3 -3
  167. package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -1
  168. package/lib/commonjs/classes/HMSRTMPConfig.js +17 -3
  169. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  170. package/lib/commonjs/classes/HMSRecordingState.js +17 -0
  171. package/lib/commonjs/classes/HMSRecordingState.js.map +1 -0
  172. package/lib/commonjs/classes/HMSRemoteAudioStats.js +3 -3
  173. package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -1
  174. package/lib/commonjs/classes/HMSRemoteAudioTrack.js +3 -3
  175. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  176. package/lib/commonjs/classes/HMSRemotePeer.js +3 -3
  177. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  178. package/lib/commonjs/classes/HMSRemoteVideoStats.js +3 -3
  179. package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -1
  180. package/lib/commonjs/classes/HMSRemoteVideoTrack.js +3 -3
  181. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  182. package/lib/commonjs/classes/HMSRole.js +20 -3
  183. package/lib/commonjs/classes/HMSRole.js.map +1 -1
  184. package/lib/commonjs/classes/HMSRoleChangeRequest.js +3 -3
  185. package/lib/commonjs/classes/HMSRoleChangeRequest.js.map +1 -1
  186. package/lib/commonjs/classes/HMSRoom.js +17 -4
  187. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  188. package/lib/commonjs/classes/HMSRoomCache.js +13 -7
  189. package/lib/commonjs/classes/HMSRoomCache.js.map +1 -1
  190. package/lib/commonjs/classes/HMSRoomUpdate.js +2 -2
  191. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  192. package/lib/commonjs/classes/HMSRtmpStreamingState.js +5 -5
  193. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
  194. package/lib/commonjs/classes/HMSRtmpVideoResolution.js +16 -3
  195. package/lib/commonjs/classes/HMSRtmpVideoResolution.js.map +1 -1
  196. package/lib/commonjs/classes/HMSSDK.js +1313 -327
  197. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  198. package/lib/commonjs/classes/HMSScreenBroadcastAudioReceiverNode.js.map +1 -1
  199. package/lib/commonjs/classes/HMSServerRecordingState.js +5 -3
  200. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
  201. package/lib/commonjs/classes/HMSSessionStore.js +20 -23
  202. package/lib/commonjs/classes/HMSSessionStore.js.map +1 -1
  203. package/lib/commonjs/classes/HMSSimulcastLayerDefinition.js +3 -3
  204. package/lib/commonjs/classes/HMSSimulcastLayerDefinition.js.map +1 -1
  205. package/lib/commonjs/classes/HMSSimulcastLayerSettings.js +3 -3
  206. package/lib/commonjs/classes/HMSSimulcastLayerSettings.js.map +1 -1
  207. package/lib/commonjs/classes/HMSSimulcastLayerSettingsPolicy.js +3 -3
  208. package/lib/commonjs/classes/HMSSimulcastLayerSettingsPolicy.js.map +1 -1
  209. package/lib/commonjs/classes/HMSSimulcastSettings.js +3 -3
  210. package/lib/commonjs/classes/HMSSimulcastSettings.js.map +1 -1
  211. package/lib/commonjs/classes/HMSSimulcastSettingsPolicy.js +3 -3
  212. package/lib/commonjs/classes/HMSSimulcastSettingsPolicy.js.map +1 -1
  213. package/lib/commonjs/classes/HMSSpeaker.js +3 -3
  214. package/lib/commonjs/classes/HMSSpeaker.js.map +1 -1
  215. package/lib/commonjs/classes/HMSStreamingState.js +15 -0
  216. package/lib/commonjs/classes/HMSStreamingState.js.map +1 -0
  217. package/lib/commonjs/classes/HMSSubscribeDegradationPolicy.js +3 -3
  218. package/lib/commonjs/classes/HMSSubscribeDegradationPolicy.js.map +1 -1
  219. package/lib/commonjs/classes/HMSSubscribeSettings.js +3 -3
  220. package/lib/commonjs/classes/HMSSubscribeSettings.js.map +1 -1
  221. package/lib/commonjs/classes/HMSTrack.js +16 -3
  222. package/lib/commonjs/classes/HMSTrack.js.map +1 -1
  223. package/lib/commonjs/classes/HMSTrackSettings.js +13 -3
  224. package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
  225. package/lib/commonjs/classes/HMSTrackSettingsInitState.js +10 -2
  226. package/lib/commonjs/classes/HMSTrackSettingsInitState.js.map +1 -1
  227. package/lib/commonjs/classes/HMSTrackSource.js +11 -2
  228. package/lib/commonjs/classes/HMSTrackSource.js.map +1 -1
  229. package/lib/commonjs/classes/HMSTrackType.js +8 -2
  230. package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
  231. package/lib/commonjs/classes/HMSTrackUpdate.js +1 -2
  232. package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
  233. package/lib/commonjs/classes/HMSUpdateListenerActions.js +44 -5
  234. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  235. package/lib/commonjs/classes/HMSVideoCodec.js +1 -2
  236. package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
  237. package/lib/commonjs/classes/HMSVideoResolution.js +3 -3
  238. package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -1
  239. package/lib/commonjs/classes/HMSVideoSettings.js +3 -3
  240. package/lib/commonjs/classes/HMSVideoSettings.js.map +1 -1
  241. package/lib/commonjs/classes/HMSVideoTrack.js +20 -3
  242. package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
  243. package/lib/commonjs/classes/HMSVideoTrackSettings.js +18 -7
  244. package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
  245. package/lib/commonjs/classes/HMSVideoViewMode.js +1 -2
  246. package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
  247. package/lib/commonjs/classes/HmsView.js +77 -28
  248. package/lib/commonjs/classes/HmsView.js.map +1 -1
  249. package/lib/commonjs/classes/polls/DecodedPollLeaderboardResponse.js +6 -0
  250. package/lib/commonjs/classes/polls/DecodedPollLeaderboardResponse.js.map +1 -0
  251. package/lib/commonjs/classes/polls/HMSPoll.js +6 -0
  252. package/lib/commonjs/classes/polls/HMSPoll.js.map +1 -0
  253. package/lib/commonjs/classes/polls/HMSPollCategory.js +12 -0
  254. package/lib/commonjs/classes/polls/HMSPollCategory.js.map +1 -0
  255. package/lib/commonjs/classes/polls/HMSPollCreateParams.js +6 -0
  256. package/lib/commonjs/classes/polls/HMSPollCreateParams.js.map +1 -0
  257. package/lib/commonjs/classes/polls/HMSPollLeaderboardEntry.js +6 -0
  258. package/lib/commonjs/classes/polls/HMSPollLeaderboardEntry.js.map +1 -0
  259. package/lib/commonjs/classes/polls/HMSPollLeaderboardSummary.js +2 -0
  260. package/lib/commonjs/classes/polls/HMSPollLeaderboardSummary.js.map +1 -0
  261. package/lib/commonjs/classes/polls/HMSPollQuestion.js +6 -0
  262. package/lib/commonjs/classes/polls/HMSPollQuestion.js.map +1 -0
  263. package/lib/commonjs/classes/polls/HMSPollQuestionAnswer.js +2 -0
  264. package/lib/commonjs/classes/polls/HMSPollQuestionAnswer.js.map +1 -0
  265. package/lib/commonjs/classes/polls/HMSPollQuestionCreateParams.js +6 -0
  266. package/lib/commonjs/classes/polls/HMSPollQuestionCreateParams.js.map +1 -0
  267. package/lib/commonjs/classes/polls/HMSPollQuestionOption.js +2 -0
  268. package/lib/commonjs/classes/polls/HMSPollQuestionOption.js.map +1 -0
  269. package/lib/commonjs/classes/polls/HMSPollQuestionOptionCreateParams.js +6 -0
  270. package/lib/commonjs/classes/polls/HMSPollQuestionOptionCreateParams.js.map +1 -0
  271. package/lib/commonjs/classes/polls/HMSPollQuestionQuizOptionCreateParams.js +6 -0
  272. package/lib/commonjs/classes/polls/HMSPollQuestionQuizOptionCreateParams.js.map +1 -0
  273. package/lib/commonjs/classes/polls/HMSPollQuestionResponse.js +6 -0
  274. package/lib/commonjs/classes/polls/HMSPollQuestionResponse.js.map +1 -0
  275. package/lib/commonjs/classes/polls/HMSPollQuestionResponseCreateParams.js +6 -0
  276. package/lib/commonjs/classes/polls/HMSPollQuestionResponseCreateParams.js.map +1 -0
  277. package/lib/commonjs/classes/polls/HMSPollQuestionResponseResult.js +2 -0
  278. package/lib/commonjs/classes/polls/HMSPollQuestionResponseResult.js.map +1 -0
  279. package/lib/commonjs/classes/polls/HMSPollQuestionResult.js +2 -0
  280. package/lib/commonjs/classes/polls/HMSPollQuestionResult.js.map +1 -0
  281. package/lib/commonjs/classes/polls/HMSPollQuestionType.js +14 -0
  282. package/lib/commonjs/classes/polls/HMSPollQuestionType.js.map +1 -0
  283. package/lib/commonjs/classes/polls/HMSPollResponsePeerInfo.js +2 -0
  284. package/lib/commonjs/classes/polls/HMSPollResponsePeerInfo.js.map +1 -0
  285. package/lib/commonjs/classes/polls/HMSPollResult.js +6 -0
  286. package/lib/commonjs/classes/polls/HMSPollResult.js.map +1 -0
  287. package/lib/commonjs/classes/polls/HMSPollState.js +13 -0
  288. package/lib/commonjs/classes/polls/HMSPollState.js.map +1 -0
  289. package/lib/commonjs/classes/polls/HMSPollType.js +12 -0
  290. package/lib/commonjs/classes/polls/HMSPollType.js.map +1 -0
  291. package/lib/commonjs/classes/polls/HMSPollUpdateType.js +13 -0
  292. package/lib/commonjs/classes/polls/HMSPollUpdateType.js.map +1 -0
  293. package/lib/commonjs/classes/polls/HMSPollUserTrackingMode.js +13 -0
  294. package/lib/commonjs/classes/polls/HMSPollUserTrackingMode.js.map +1 -0
  295. package/lib/commonjs/classes/polls/PollLeaderboardResponse.js +6 -0
  296. package/lib/commonjs/classes/polls/PollLeaderboardResponse.js.map +1 -0
  297. package/lib/commonjs/classes/transcriptions/HMSTranscript.js +6 -0
  298. package/lib/commonjs/classes/transcriptions/HMSTranscript.js.map +1 -0
  299. package/lib/commonjs/classes/transcriptions/OnTranscriptionError.js +2 -0
  300. package/lib/commonjs/classes/transcriptions/OnTranscriptionError.js.map +1 -0
  301. package/lib/commonjs/classes/transcriptions/TranscriptionState.js +14 -0
  302. package/lib/commonjs/classes/transcriptions/TranscriptionState.js.map +1 -0
  303. package/lib/commonjs/classes/transcriptions/Transcriptions.js +6 -0
  304. package/lib/commonjs/classes/transcriptions/Transcriptions.js.map +1 -0
  305. package/lib/commonjs/classes/transcriptions/TranscriptionsMode.js +12 -0
  306. package/lib/commonjs/classes/transcriptions/TranscriptionsMode.js.map +1 -0
  307. package/lib/commonjs/classes/transcriptions/index.js +61 -0
  308. package/lib/commonjs/classes/transcriptions/index.js.map +1 -0
  309. package/lib/commonjs/classes/whiteboard/HMSWhiteboard.js +6 -0
  310. package/lib/commonjs/classes/whiteboard/HMSWhiteboard.js.map +1 -0
  311. package/lib/commonjs/classes/whiteboard/HMSWhiteboardListenerActions.js +11 -0
  312. package/lib/commonjs/classes/whiteboard/HMSWhiteboardListenerActions.js.map +1 -0
  313. package/lib/commonjs/classes/whiteboard/HMSWhiteboardState.js +12 -0
  314. package/lib/commonjs/classes/whiteboard/HMSWhiteboardState.js.map +1 -0
  315. package/lib/commonjs/classes/whiteboard/HMSWhiteboardUpdateType.js +12 -0
  316. package/lib/commonjs/classes/whiteboard/HMSWhiteboardUpdateType.js.map +1 -0
  317. package/lib/commonjs/classes/whiteboard/index.js +39 -0
  318. package/lib/commonjs/classes/whiteboard/index.js.map +1 -0
  319. package/lib/commonjs/classes/whiteboard/registerCallbacks.js +26 -0
  320. package/lib/commonjs/classes/whiteboard/registerCallbacks.js.map +1 -0
  321. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js +155 -49
  322. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  323. package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js +5 -6
  324. package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js.map +1 -1
  325. package/lib/commonjs/components/HMSHLSPlayer/hooks.js +26 -16
  326. package/lib/commonjs/components/HMSHLSPlayer/hooks.js.map +1 -1
  327. package/lib/commonjs/components/HMSHLSPlayer/index.js +22 -1
  328. package/lib/commonjs/components/HMSHLSPlayer/index.js.map +1 -1
  329. package/lib/commonjs/hooks/hmsviews.js +17 -0
  330. package/lib/commonjs/hooks/hmsviews.js.map +1 -0
  331. package/lib/commonjs/hooks/polls.js +17 -0
  332. package/lib/commonjs/hooks/polls.js.map +1 -0
  333. package/lib/commonjs/hooks/useHMSPeerUpdates.js +3 -5
  334. package/lib/commonjs/hooks/useHMSPeerUpdates.js.map +1 -1
  335. package/lib/commonjs/index.js +233 -6
  336. package/lib/commonjs/index.js.map +1 -1
  337. package/lib/commonjs/modules/HMSManagerModule.js +10 -0
  338. package/lib/commonjs/modules/HMSManagerModule.js.map +1 -0
  339. package/lib/commonjs/specs/HMSHLSPlayerNativeComponent.js +75 -0
  340. package/lib/commonjs/specs/HMSHLSPlayerNativeComponent.js.map +1 -0
  341. package/lib/commonjs/specs/HMSViewNativeComponent.js +55 -0
  342. package/lib/commonjs/specs/HMSViewNativeComponent.js.map +1 -0
  343. package/lib/commonjs/specs/NativeHMSManager.js +38 -0
  344. package/lib/commonjs/specs/NativeHMSManager.js.map +1 -0
  345. package/lib/commonjs/stores/hls-player-playback-slice.js +10 -0
  346. package/lib/commonjs/stores/hls-player-playback-slice.js.map +1 -1
  347. package/lib/commonjs/stores/hls-player-stats-store.js +28 -17
  348. package/lib/commonjs/stores/hls-player-stats-store.js.map +1 -1
  349. package/lib/commonjs/stores/hms-interactivity-store.js +21 -0
  350. package/lib/commonjs/stores/hms-interactivity-store.js.map +1 -0
  351. package/lib/commonjs/stores/hms-polls-slice.js +19 -0
  352. package/lib/commonjs/stores/hms-polls-slice.js.map +1 -0
  353. package/lib/commonjs/stores/hms-store.js +5 -6
  354. package/lib/commonjs/stores/hms-store.js.map +1 -1
  355. package/lib/commonjs/stores/hmsviews-slice.js +19 -0
  356. package/lib/commonjs/stores/hmsviews-slice.js.map +1 -0
  357. package/lib/commonjs/stores/types.js.map +1 -1
  358. package/lib/commonjs/types.js +4 -7
  359. package/lib/commonjs/types.js.map +1 -1
  360. package/lib/commonjs/utils/emitter/EventEmitter.js +23 -7
  361. package/lib/commonjs/utils/emitter/EventEmitter.js.map +1 -1
  362. package/lib/commonjs/utils/emitter/_EmitterSubscription.js +3 -3
  363. package/lib/commonjs/utils/emitter/_EmitterSubscription.js.map +1 -1
  364. package/lib/commonjs/utils/emitter/_EventSubscription.js +3 -3
  365. package/lib/commonjs/utils/emitter/_EventSubscription.js.map +1 -1
  366. package/lib/commonjs/utils/emitter/_EventSubscriptionVendor.js +3 -4
  367. package/lib/commonjs/utils/emitter/_EventSubscriptionVendor.js.map +1 -1
  368. package/lib/commonjs/utils/index.js.map +1 -1
  369. package/lib/commonjs/utils/keyboard.js +46 -0
  370. package/lib/commonjs/utils/keyboard.js.map +1 -0
  371. package/lib/commonjs/utils/notification.js +13 -0
  372. package/lib/commonjs/utils/notification.js.map +1 -0
  373. package/lib/commonjs/utils/windowController.js +30 -0
  374. package/lib/commonjs/utils/windowController.js.map +1 -0
  375. package/lib/module/classes/HMSAudioCodec.js.map +1 -1
  376. package/lib/module/classes/HMSAudioDevice.js +9 -0
  377. package/lib/module/classes/HMSAudioDevice.js.map +1 -1
  378. package/lib/module/classes/HMSAudioFilePlayerNode.js.map +1 -1
  379. package/lib/module/classes/HMSAudioMixerSource.js +3 -3
  380. package/lib/module/classes/HMSAudioMixerSource.js.map +1 -1
  381. package/lib/module/classes/HMSAudioMixingMode.js +11 -0
  382. package/lib/module/classes/HMSAudioMixingMode.js.map +1 -1
  383. package/lib/module/classes/HMSAudioMode.js.map +1 -1
  384. package/lib/module/classes/HMSAudioNode.js +3 -3
  385. package/lib/module/classes/HMSAudioNode.js.map +1 -1
  386. package/lib/module/classes/HMSAudioSettings.js +3 -3
  387. package/lib/module/classes/HMSAudioSettings.js.map +1 -1
  388. package/lib/module/classes/HMSAudioTrack.js +9 -0
  389. package/lib/module/classes/HMSAudioTrack.js.map +1 -1
  390. package/lib/module/classes/HMSAudioTrackSettings.js +12 -5
  391. package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
  392. package/lib/module/classes/HMSBrowserRecordingState.js +5 -3
  393. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
  394. package/lib/module/classes/HMSCameraControl.js +2 -3
  395. package/lib/module/classes/HMSCameraControl.js.map +1 -1
  396. package/lib/module/classes/HMSCameraFacing.js +9 -0
  397. package/lib/module/classes/HMSCameraFacing.js.map +1 -1
  398. package/lib/module/classes/HMSChangeTrackStateRequest.js +3 -3
  399. package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
  400. package/lib/module/classes/HMSConfig.js +30 -3
  401. package/lib/module/classes/HMSConfig.js.map +1 -1
  402. package/lib/module/classes/HMSConstants.js.map +1 -1
  403. package/lib/module/classes/HMSEncoder.js +56 -13
  404. package/lib/module/classes/HMSEncoder.js.map +1 -1
  405. package/lib/module/classes/HMSEventEmitter.js.map +1 -1
  406. package/lib/module/classes/HMSException.js +21 -3
  407. package/lib/module/classes/HMSException.js.map +1 -1
  408. package/lib/module/classes/HMSHLSConfig.js +3 -3
  409. package/lib/module/classes/HMSHLSConfig.js.map +1 -1
  410. package/lib/module/classes/HMSHLSMeetingURLVariant.js +3 -3
  411. package/lib/module/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  412. package/lib/module/classes/HMSHLSPlaylistType.js +6 -0
  413. package/lib/module/classes/HMSHLSPlaylistType.js.map +1 -0
  414. package/lib/module/classes/HMSHLSRecordingConfig.js +3 -3
  415. package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -1
  416. package/lib/module/classes/HMSHLSRecordingState.js +7 -7
  417. package/lib/module/classes/HMSHLSRecordingState.js.map +1 -1
  418. package/lib/module/classes/HMSHLSStreamingState.js +9 -3
  419. package/lib/module/classes/HMSHLSStreamingState.js.map +1 -1
  420. package/lib/module/classes/HMSHLSTimedMetadata.js +2 -0
  421. package/lib/module/classes/HMSHLSTimedMetadata.js.map +1 -0
  422. package/lib/module/classes/HMSHLSVariant.js +5 -3
  423. package/lib/module/classes/HMSHLSVariant.js.map +1 -1
  424. package/lib/module/classes/HMSHelper.js.map +1 -1
  425. package/lib/module/classes/HMSIOSAudioMode.js +15 -0
  426. package/lib/module/classes/HMSIOSAudioMode.js.map +1 -1
  427. package/lib/module/classes/HMSInteractivityCenter.js +166 -0
  428. package/lib/module/classes/HMSInteractivityCenter.js.map +1 -0
  429. package/lib/module/classes/HMSInteractivityEncoder.js +76 -0
  430. package/lib/module/classes/HMSInteractivityEncoder.js.map +1 -0
  431. package/lib/module/classes/HMSLayer.js.map +1 -1
  432. package/lib/module/classes/HMSLocalAudioStats.js +3 -3
  433. package/lib/module/classes/HMSLocalAudioStats.js.map +1 -1
  434. package/lib/module/classes/HMSLocalAudioTrack.js +3 -3
  435. package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
  436. package/lib/module/classes/HMSLocalPeer.js +3 -3
  437. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  438. package/lib/module/classes/HMSLocalVideoStats.js +3 -3
  439. package/lib/module/classes/HMSLocalVideoStats.js.map +1 -1
  440. package/lib/module/classes/HMSLocalVideoTrack.js +3 -3
  441. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  442. package/lib/module/classes/HMSLogAlarmManager.js +12 -0
  443. package/lib/module/classes/HMSLogAlarmManager.js.map +1 -1
  444. package/lib/module/classes/HMSLogLevel.js +12 -0
  445. package/lib/module/classes/HMSLogLevel.js.map +1 -1
  446. package/lib/module/classes/HMSLogSettings.js +17 -3
  447. package/lib/module/classes/HMSLogSettings.js.map +1 -1
  448. package/lib/module/classes/HMSLogger.js +3 -3
  449. package/lib/module/classes/HMSLogger.js.map +1 -1
  450. package/lib/module/classes/HMSMessage.js +3 -3
  451. package/lib/module/classes/HMSMessage.js.map +1 -1
  452. package/lib/module/classes/HMSMessageRecipient.js +3 -3
  453. package/lib/module/classes/HMSMessageRecipient.js.map +1 -1
  454. package/lib/module/classes/HMSMessageRecipientType.js.map +1 -1
  455. package/lib/module/classes/HMSMicNode.js.map +1 -1
  456. package/lib/module/classes/HMSNativeEventEmitter.js +4 -6
  457. package/lib/module/classes/HMSNativeEventEmitter.js.map +1 -1
  458. package/lib/module/classes/HMSNativeEventListener.js +1 -1
  459. package/lib/module/classes/HMSNativeEventListener.js.map +1 -1
  460. package/lib/module/classes/HMSNetworkQuality.js +14 -3
  461. package/lib/module/classes/HMSNetworkQuality.js.map +1 -1
  462. package/lib/module/classes/HMSNoiseCancellationPlugin.js +152 -0
  463. package/lib/module/classes/HMSNoiseCancellationPlugin.js.map +1 -0
  464. package/lib/module/classes/HMSPIPConfig.js +2 -0
  465. package/lib/module/classes/HMSPIPConfig.js.map +1 -0
  466. package/lib/module/classes/HMSPIPListenerActions.js +9 -0
  467. package/lib/module/classes/HMSPIPListenerActions.js.map +1 -1
  468. package/lib/module/classes/HMSPeer.js +187 -5
  469. package/lib/module/classes/HMSPeer.js.map +1 -1
  470. package/lib/module/classes/HMSPeerListIterator.js +24 -6
  471. package/lib/module/classes/HMSPeerListIterator.js.map +1 -1
  472. package/lib/module/classes/HMSPeerListIteratorOptions.js.map +1 -1
  473. package/lib/module/classes/HMSPeerType.js +18 -0
  474. package/lib/module/classes/HMSPeerType.js.map +1 -0
  475. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  476. package/lib/module/classes/HMSPeersCache.js +4 -4
  477. package/lib/module/classes/HMSPeersCache.js.map +1 -1
  478. package/lib/module/classes/HMSPermissions.js +11 -3
  479. package/lib/module/classes/HMSPermissions.js.map +1 -1
  480. package/lib/module/classes/HMSPollsListenerActions.js +5 -0
  481. package/lib/module/classes/HMSPollsListenerActions.js.map +1 -0
  482. package/lib/module/classes/HMSPublishSettings.js +3 -3
  483. package/lib/module/classes/HMSPublishSettings.js.map +1 -1
  484. package/lib/module/classes/HMSQualityLimitationReason.js.map +1 -1
  485. package/lib/module/classes/HMSQualityLimitationReasons.js +3 -3
  486. package/lib/module/classes/HMSQualityLimitationReasons.js.map +1 -1
  487. package/lib/module/classes/HMSRTCStats.js +3 -3
  488. package/lib/module/classes/HMSRTCStats.js.map +1 -1
  489. package/lib/module/classes/HMSRTCStatsReport.js +3 -3
  490. package/lib/module/classes/HMSRTCStatsReport.js.map +1 -1
  491. package/lib/module/classes/HMSRTMPConfig.js +17 -3
  492. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  493. package/lib/module/classes/HMSRecordingState.js +11 -0
  494. package/lib/module/classes/HMSRecordingState.js.map +1 -0
  495. package/lib/module/classes/HMSRemoteAudioStats.js +3 -3
  496. package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -1
  497. package/lib/module/classes/HMSRemoteAudioTrack.js +3 -3
  498. package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
  499. package/lib/module/classes/HMSRemotePeer.js +3 -3
  500. package/lib/module/classes/HMSRemotePeer.js.map +1 -1
  501. package/lib/module/classes/HMSRemoteVideoStats.js +3 -3
  502. package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -1
  503. package/lib/module/classes/HMSRemoteVideoTrack.js +3 -3
  504. package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
  505. package/lib/module/classes/HMSRole.js +20 -3
  506. package/lib/module/classes/HMSRole.js.map +1 -1
  507. package/lib/module/classes/HMSRoleChangeRequest.js +3 -3
  508. package/lib/module/classes/HMSRoleChangeRequest.js.map +1 -1
  509. package/lib/module/classes/HMSRoom.js +17 -4
  510. package/lib/module/classes/HMSRoom.js.map +1 -1
  511. package/lib/module/classes/HMSRoomCache.js +11 -4
  512. package/lib/module/classes/HMSRoomCache.js.map +1 -1
  513. package/lib/module/classes/HMSRoomUpdate.js +1 -0
  514. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  515. package/lib/module/classes/HMSRtmpStreamingState.js +5 -5
  516. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
  517. package/lib/module/classes/HMSRtmpVideoResolution.js +16 -3
  518. package/lib/module/classes/HMSRtmpVideoResolution.js.map +1 -1
  519. package/lib/module/classes/HMSSDK.js +1314 -328
  520. package/lib/module/classes/HMSSDK.js.map +1 -1
  521. package/lib/module/classes/HMSScreenBroadcastAudioReceiverNode.js.map +1 -1
  522. package/lib/module/classes/HMSServerRecordingState.js +5 -3
  523. package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
  524. package/lib/module/classes/HMSSessionStore.js +19 -22
  525. package/lib/module/classes/HMSSessionStore.js.map +1 -1
  526. package/lib/module/classes/HMSSimulcastLayerDefinition.js +3 -3
  527. package/lib/module/classes/HMSSimulcastLayerDefinition.js.map +1 -1
  528. package/lib/module/classes/HMSSimulcastLayerSettings.js +3 -3
  529. package/lib/module/classes/HMSSimulcastLayerSettings.js.map +1 -1
  530. package/lib/module/classes/HMSSimulcastLayerSettingsPolicy.js +3 -3
  531. package/lib/module/classes/HMSSimulcastLayerSettingsPolicy.js.map +1 -1
  532. package/lib/module/classes/HMSSimulcastSettings.js +3 -3
  533. package/lib/module/classes/HMSSimulcastSettings.js.map +1 -1
  534. package/lib/module/classes/HMSSimulcastSettingsPolicy.js +3 -3
  535. package/lib/module/classes/HMSSimulcastSettingsPolicy.js.map +1 -1
  536. package/lib/module/classes/HMSSpeaker.js +3 -3
  537. package/lib/module/classes/HMSSpeaker.js.map +1 -1
  538. package/lib/module/classes/HMSStreamingState.js +9 -0
  539. package/lib/module/classes/HMSStreamingState.js.map +1 -0
  540. package/lib/module/classes/HMSSubscribeDegradationPolicy.js +3 -3
  541. package/lib/module/classes/HMSSubscribeDegradationPolicy.js.map +1 -1
  542. package/lib/module/classes/HMSSubscribeSettings.js +3 -3
  543. package/lib/module/classes/HMSSubscribeSettings.js.map +1 -1
  544. package/lib/module/classes/HMSTrack.js +16 -3
  545. package/lib/module/classes/HMSTrack.js.map +1 -1
  546. package/lib/module/classes/HMSTrackSettings.js +13 -3
  547. package/lib/module/classes/HMSTrackSettings.js.map +1 -1
  548. package/lib/module/classes/HMSTrackSettingsInitState.js +9 -0
  549. package/lib/module/classes/HMSTrackSettingsInitState.js.map +1 -1
  550. package/lib/module/classes/HMSTrackSource.js +10 -0
  551. package/lib/module/classes/HMSTrackSource.js.map +1 -1
  552. package/lib/module/classes/HMSTrackType.js +7 -0
  553. package/lib/module/classes/HMSTrackType.js.map +1 -1
  554. package/lib/module/classes/HMSTrackUpdate.js.map +1 -1
  555. package/lib/module/classes/HMSUpdateListenerActions.js +43 -3
  556. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  557. package/lib/module/classes/HMSVideoCodec.js.map +1 -1
  558. package/lib/module/classes/HMSVideoResolution.js +3 -3
  559. package/lib/module/classes/HMSVideoResolution.js.map +1 -1
  560. package/lib/module/classes/HMSVideoSettings.js +3 -3
  561. package/lib/module/classes/HMSVideoSettings.js.map +1 -1
  562. package/lib/module/classes/HMSVideoTrack.js +20 -3
  563. package/lib/module/classes/HMSVideoTrack.js.map +1 -1
  564. package/lib/module/classes/HMSVideoTrackSettings.js +18 -7
  565. package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
  566. package/lib/module/classes/HMSVideoViewMode.js.map +1 -1
  567. package/lib/module/classes/HmsView.js +77 -25
  568. package/lib/module/classes/HmsView.js.map +1 -1
  569. package/lib/module/classes/polls/DecodedPollLeaderboardResponse.js +2 -0
  570. package/lib/module/classes/polls/DecodedPollLeaderboardResponse.js.map +1 -0
  571. package/lib/module/classes/polls/HMSPoll.js +2 -0
  572. package/lib/module/classes/polls/HMSPoll.js.map +1 -0
  573. package/lib/module/classes/polls/HMSPollCategory.js +6 -0
  574. package/lib/module/classes/polls/HMSPollCategory.js.map +1 -0
  575. package/lib/module/classes/polls/HMSPollCreateParams.js +2 -0
  576. package/lib/module/classes/polls/HMSPollCreateParams.js.map +1 -0
  577. package/lib/module/classes/polls/HMSPollLeaderboardEntry.js +2 -0
  578. package/lib/module/classes/polls/HMSPollLeaderboardEntry.js.map +1 -0
  579. package/lib/module/classes/polls/HMSPollLeaderboardSummary.js +2 -0
  580. package/lib/module/classes/polls/HMSPollLeaderboardSummary.js.map +1 -0
  581. package/lib/module/classes/polls/HMSPollQuestion.js +2 -0
  582. package/lib/module/classes/polls/HMSPollQuestion.js.map +1 -0
  583. package/lib/module/classes/polls/HMSPollQuestionAnswer.js +2 -0
  584. package/lib/module/classes/polls/HMSPollQuestionAnswer.js.map +1 -0
  585. package/lib/module/classes/polls/HMSPollQuestionCreateParams.js +2 -0
  586. package/lib/module/classes/polls/HMSPollQuestionCreateParams.js.map +1 -0
  587. package/lib/module/classes/polls/HMSPollQuestionOption.js +2 -0
  588. package/lib/module/classes/polls/HMSPollQuestionOption.js.map +1 -0
  589. package/lib/module/classes/polls/HMSPollQuestionOptionCreateParams.js +2 -0
  590. package/lib/module/classes/polls/HMSPollQuestionOptionCreateParams.js.map +1 -0
  591. package/lib/module/classes/polls/HMSPollQuestionQuizOptionCreateParams.js +2 -0
  592. package/lib/module/classes/polls/HMSPollQuestionQuizOptionCreateParams.js.map +1 -0
  593. package/lib/module/classes/polls/HMSPollQuestionResponse.js +2 -0
  594. package/lib/module/classes/polls/HMSPollQuestionResponse.js.map +1 -0
  595. package/lib/module/classes/polls/HMSPollQuestionResponseCreateParams.js +2 -0
  596. package/lib/module/classes/polls/HMSPollQuestionResponseCreateParams.js.map +1 -0
  597. package/lib/module/classes/polls/HMSPollQuestionResponseResult.js +2 -0
  598. package/lib/module/classes/polls/HMSPollQuestionResponseResult.js.map +1 -0
  599. package/lib/module/classes/polls/HMSPollQuestionResult.js +2 -0
  600. package/lib/module/classes/polls/HMSPollQuestionResult.js.map +1 -0
  601. package/lib/module/classes/polls/HMSPollQuestionType.js +8 -0
  602. package/lib/module/classes/polls/HMSPollQuestionType.js.map +1 -0
  603. package/lib/module/classes/polls/HMSPollResponsePeerInfo.js +2 -0
  604. package/lib/module/classes/polls/HMSPollResponsePeerInfo.js.map +1 -0
  605. package/lib/module/classes/polls/HMSPollResult.js +2 -0
  606. package/lib/module/classes/polls/HMSPollResult.js.map +1 -0
  607. package/lib/module/classes/polls/HMSPollState.js +7 -0
  608. package/lib/module/classes/polls/HMSPollState.js.map +1 -0
  609. package/lib/module/classes/polls/HMSPollType.js +6 -0
  610. package/lib/module/classes/polls/HMSPollType.js.map +1 -0
  611. package/lib/module/classes/polls/HMSPollUpdateType.js +7 -0
  612. package/lib/module/classes/polls/HMSPollUpdateType.js.map +1 -0
  613. package/lib/module/classes/polls/HMSPollUserTrackingMode.js +7 -0
  614. package/lib/module/classes/polls/HMSPollUserTrackingMode.js.map +1 -0
  615. package/lib/module/classes/polls/PollLeaderboardResponse.js +2 -0
  616. package/lib/module/classes/polls/PollLeaderboardResponse.js.map +1 -0
  617. package/lib/module/classes/transcriptions/HMSTranscript.js +2 -0
  618. package/lib/module/classes/transcriptions/HMSTranscript.js.map +1 -0
  619. package/lib/module/classes/transcriptions/OnTranscriptionError.js +2 -0
  620. package/lib/module/classes/transcriptions/OnTranscriptionError.js.map +1 -0
  621. package/lib/module/classes/transcriptions/TranscriptionState.js +8 -0
  622. package/lib/module/classes/transcriptions/TranscriptionState.js.map +1 -0
  623. package/lib/module/classes/transcriptions/Transcriptions.js +2 -0
  624. package/lib/module/classes/transcriptions/Transcriptions.js.map +1 -0
  625. package/lib/module/classes/transcriptions/TranscriptionsMode.js +6 -0
  626. package/lib/module/classes/transcriptions/TranscriptionsMode.js.map +1 -0
  627. package/lib/module/classes/transcriptions/index.js +6 -0
  628. package/lib/module/classes/transcriptions/index.js.map +1 -0
  629. package/lib/module/classes/whiteboard/HMSWhiteboard.js +2 -0
  630. package/lib/module/classes/whiteboard/HMSWhiteboard.js.map +1 -0
  631. package/lib/module/classes/whiteboard/HMSWhiteboardListenerActions.js +5 -0
  632. package/lib/module/classes/whiteboard/HMSWhiteboardListenerActions.js.map +1 -0
  633. package/lib/module/classes/whiteboard/HMSWhiteboardState.js +6 -0
  634. package/lib/module/classes/whiteboard/HMSWhiteboardState.js.map +1 -0
  635. package/lib/module/classes/whiteboard/HMSWhiteboardUpdateType.js +6 -0
  636. package/lib/module/classes/whiteboard/HMSWhiteboardUpdateType.js.map +1 -0
  637. package/lib/module/classes/whiteboard/index.js +4 -0
  638. package/lib/module/classes/whiteboard/index.js.map +1 -0
  639. package/lib/module/classes/whiteboard/registerCallbacks.js +18 -0
  640. package/lib/module/classes/whiteboard/registerCallbacks.js.map +1 -0
  641. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js +157 -49
  642. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  643. package/lib/module/components/HMSHLSPlayer/RCTHMSHLSPlayer.js +3 -3
  644. package/lib/module/components/HMSHLSPlayer/RCTHMSHLSPlayer.js.map +1 -1
  645. package/lib/module/components/HMSHLSPlayer/hooks.js +16 -4
  646. package/lib/module/components/HMSHLSPlayer/hooks.js.map +1 -1
  647. package/lib/module/components/HMSHLSPlayer/index.js +1 -1
  648. package/lib/module/components/HMSHLSPlayer/index.js.map +1 -1
  649. package/lib/module/hooks/hmsviews.js +12 -0
  650. package/lib/module/hooks/hmsviews.js.map +1 -0
  651. package/lib/module/hooks/polls.js +12 -0
  652. package/lib/module/hooks/polls.js.map +1 -0
  653. package/lib/module/hooks/useHMSPeerUpdates.js +1 -2
  654. package/lib/module/hooks/useHMSPeerUpdates.js.map +1 -1
  655. package/lib/module/index.js +29 -2
  656. package/lib/module/index.js.map +1 -1
  657. package/lib/module/modules/HMSManagerModule.js +3 -0
  658. package/lib/module/modules/HMSManagerModule.js.map +1 -0
  659. package/lib/module/specs/HMSHLSPlayerNativeComponent.js +69 -0
  660. package/lib/module/specs/HMSHLSPlayerNativeComponent.js.map +1 -0
  661. package/lib/module/specs/HMSViewNativeComponent.js +49 -0
  662. package/lib/module/specs/HMSViewNativeComponent.js.map +1 -0
  663. package/lib/module/specs/NativeHMSManager.js +33 -0
  664. package/lib/module/specs/NativeHMSManager.js.map +1 -0
  665. package/lib/module/stores/hls-player-playback-slice.js +10 -0
  666. package/lib/module/stores/hls-player-playback-slice.js.map +1 -1
  667. package/lib/module/stores/hls-player-stats-store.js +27 -15
  668. package/lib/module/stores/hls-player-stats-store.js.map +1 -1
  669. package/lib/module/stores/hms-interactivity-store.js +15 -0
  670. package/lib/module/stores/hms-interactivity-store.js.map +1 -0
  671. package/lib/module/stores/hms-polls-slice.js +12 -0
  672. package/lib/module/stores/hms-polls-slice.js.map +1 -0
  673. package/lib/module/stores/hms-store.js +5 -5
  674. package/lib/module/stores/hms-store.js.map +1 -1
  675. package/lib/module/stores/hmsviews-slice.js +12 -0
  676. package/lib/module/stores/hmsviews-slice.js.map +1 -0
  677. package/lib/module/stores/types.js.map +1 -1
  678. package/lib/module/types.js +3 -1
  679. package/lib/module/types.js.map +1 -1
  680. package/lib/module/utils/emitter/EventEmitter.js +23 -7
  681. package/lib/module/utils/emitter/EventEmitter.js.map +1 -1
  682. package/lib/module/utils/emitter/_EmitterSubscription.js +3 -3
  683. package/lib/module/utils/emitter/_EmitterSubscription.js.map +1 -1
  684. package/lib/module/utils/emitter/_EventSubscription.js +3 -3
  685. package/lib/module/utils/emitter/_EventSubscription.js.map +1 -1
  686. package/lib/module/utils/emitter/_EventSubscriptionVendor.js +3 -4
  687. package/lib/module/utils/emitter/_EventSubscriptionVendor.js.map +1 -1
  688. package/lib/module/utils/index.js.map +1 -1
  689. package/lib/module/utils/keyboard.js +38 -0
  690. package/lib/module/utils/keyboard.js.map +1 -0
  691. package/lib/module/utils/notification.js +5 -0
  692. package/lib/module/utils/notification.js.map +1 -0
  693. package/lib/module/utils/windowController.js +22 -0
  694. package/lib/module/utils/windowController.js.map +1 -0
  695. package/lib/typescript/classes/HMSAudioDevice.d.ts +14 -0
  696. package/lib/typescript/classes/HMSAudioMixingMode.d.ts +11 -0
  697. package/lib/typescript/classes/HMSAudioTrack.d.ts +9 -0
  698. package/lib/typescript/classes/HMSAudioTrackSettings.d.ts +9 -0
  699. package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +3 -0
  700. package/lib/typescript/classes/HMSCameraFacing.d.ts +11 -0
  701. package/lib/typescript/classes/HMSConfig.d.ts +27 -0
  702. package/lib/typescript/classes/HMSEncoder.d.ts +5 -0
  703. package/lib/typescript/classes/HMSException.d.ts +18 -0
  704. package/lib/typescript/classes/HMSHLSPlaylistType.d.ts +4 -0
  705. package/lib/typescript/classes/HMSHLSRecordingState.d.ts +6 -4
  706. package/lib/typescript/classes/HMSHLSStreamingState.d.ts +8 -0
  707. package/lib/typescript/classes/HMSHLSTimedMetadata.d.ts +16 -0
  708. package/lib/typescript/classes/HMSHLSVariant.d.ts +3 -0
  709. package/lib/typescript/classes/HMSIOSAudioMode.d.ts +15 -0
  710. package/lib/typescript/classes/HMSInteractivityCenter.d.ts +62 -0
  711. package/lib/typescript/classes/HMSInteractivityEncoder.d.ts +9 -0
  712. package/lib/typescript/classes/HMSLogAlarmManager.d.ts +12 -0
  713. package/lib/typescript/classes/HMSLogLevel.d.ts +12 -0
  714. package/lib/typescript/classes/HMSLogSettings.d.ts +14 -0
  715. package/lib/typescript/classes/HMSNetworkQuality.d.ts +11 -0
  716. package/lib/typescript/classes/HMSNoiseCancellationPlugin.d.ts +87 -0
  717. package/lib/typescript/classes/HMSPIPConfig.d.ts +47 -0
  718. package/lib/typescript/classes/HMSPIPListenerActions.d.ts +17 -0
  719. package/lib/typescript/classes/HMSPeer.d.ts +144 -1
  720. package/lib/typescript/classes/HMSPeerListIterator.d.ts +3 -1
  721. package/lib/typescript/classes/HMSPeerListIteratorOptions.d.ts +19 -0
  722. package/lib/typescript/classes/HMSPeerType.d.ts +16 -0
  723. package/lib/typescript/classes/HMSPeersCache.d.ts +2 -0
  724. package/lib/typescript/classes/HMSPermissions.d.ts +18 -0
  725. package/lib/typescript/classes/HMSPollsListenerActions.d.ts +3 -0
  726. package/lib/typescript/classes/HMSRTMPConfig.d.ts +14 -0
  727. package/lib/typescript/classes/HMSRecordingState.d.ts +9 -0
  728. package/lib/typescript/classes/HMSRole.d.ts +17 -0
  729. package/lib/typescript/classes/HMSRoom.d.ts +3 -0
  730. package/lib/typescript/classes/HMSRoomUpdate.d.ts +2 -1
  731. package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +3 -2
  732. package/lib/typescript/classes/HMSRtmpVideoResolution.d.ts +13 -0
  733. package/lib/typescript/classes/HMSSDK.d.ts +1123 -249
  734. package/lib/typescript/classes/HMSServerRecordingState.d.ts +3 -0
  735. package/lib/typescript/classes/HMSSessionStore.d.ts +23 -22
  736. package/lib/typescript/classes/HMSStreamingState.d.ts +7 -0
  737. package/lib/typescript/classes/HMSTrack.d.ts +13 -0
  738. package/lib/typescript/classes/HMSTrackSettings.d.ts +10 -0
  739. package/lib/typescript/classes/HMSTrackSettingsInitState.d.ts +11 -0
  740. package/lib/typescript/classes/HMSTrackSource.d.ts +10 -0
  741. package/lib/typescript/classes/HMSTrackType.d.ts +7 -0
  742. package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +290 -3
  743. package/lib/typescript/classes/HMSVideoTrack.d.ts +17 -0
  744. package/lib/typescript/classes/HMSVideoTrackSettings.d.ts +23 -2
  745. package/lib/typescript/classes/HmsView.d.ts +16 -0
  746. package/lib/typescript/classes/polls/DecodedPollLeaderboardResponse.d.ts +37 -0
  747. package/lib/typescript/classes/polls/HMSPoll.d.ts +73 -0
  748. package/lib/typescript/classes/polls/HMSPollCategory.d.ts +10 -0
  749. package/lib/typescript/classes/polls/HMSPollCreateParams.d.ts +6 -0
  750. package/lib/typescript/classes/polls/HMSPollLeaderboardEntry.d.ts +9 -0
  751. package/lib/typescript/classes/polls/HMSPollLeaderboardSummary.d.ts +7 -0
  752. package/lib/typescript/classes/polls/HMSPollQuestion.d.ts +61 -0
  753. package/lib/typescript/classes/polls/HMSPollQuestionAnswer.d.ts +17 -0
  754. package/lib/typescript/classes/polls/HMSPollQuestionCreateParams.d.ts +25 -0
  755. package/lib/typescript/classes/polls/HMSPollQuestionOption.d.ts +21 -0
  756. package/lib/typescript/classes/polls/HMSPollQuestionOptionCreateParams.d.ts +3 -0
  757. package/lib/typescript/classes/polls/HMSPollQuestionQuizOptionCreateParams.d.ts +4 -0
  758. package/lib/typescript/classes/polls/HMSPollQuestionResponse.d.ts +47 -0
  759. package/lib/typescript/classes/polls/HMSPollQuestionResponseCreateParams.d.ts +2 -0
  760. package/lib/typescript/classes/polls/HMSPollQuestionResponseResult.d.ts +17 -0
  761. package/lib/typescript/classes/polls/HMSPollQuestionResult.d.ts +29 -0
  762. package/lib/typescript/classes/polls/HMSPollQuestionType.d.ts +18 -0
  763. package/lib/typescript/classes/polls/HMSPollResponsePeerInfo.d.ts +21 -0
  764. package/lib/typescript/classes/polls/HMSPollResult.d.ts +22 -0
  765. package/lib/typescript/classes/polls/HMSPollState.d.ts +14 -0
  766. package/lib/typescript/classes/polls/HMSPollType.d.ts +4 -0
  767. package/lib/typescript/classes/polls/HMSPollUpdateType.d.ts +5 -0
  768. package/lib/typescript/classes/polls/HMSPollUserTrackingMode.d.ts +14 -0
  769. package/lib/typescript/classes/polls/PollLeaderboardResponse.d.ts +7 -0
  770. package/lib/typescript/classes/transcriptions/HMSTranscript.d.ts +8 -0
  771. package/lib/typescript/classes/transcriptions/OnTranscriptionError.d.ts +4 -0
  772. package/lib/typescript/classes/transcriptions/TranscriptionState.d.ts +6 -0
  773. package/lib/typescript/classes/transcriptions/Transcriptions.d.ts +12 -0
  774. package/lib/typescript/classes/transcriptions/TranscriptionsMode.d.ts +4 -0
  775. package/lib/typescript/classes/transcriptions/index.d.ts +5 -0
  776. package/lib/typescript/classes/whiteboard/HMSWhiteboard.d.ts +10 -0
  777. package/lib/typescript/classes/whiteboard/HMSWhiteboardListenerActions.d.ts +3 -0
  778. package/lib/typescript/classes/whiteboard/HMSWhiteboardState.d.ts +4 -0
  779. package/lib/typescript/classes/whiteboard/HMSWhiteboardUpdateType.d.ts +4 -0
  780. package/lib/typescript/classes/whiteboard/index.d.ts +3 -0
  781. package/lib/typescript/classes/whiteboard/registerCallbacks.d.ts +8 -0
  782. package/lib/typescript/components/HMSHLSPlayer/HMSHLSPlayer.d.ts +6 -0
  783. package/lib/typescript/components/HMSHLSPlayer/RCTHMSHLSPlayer.d.ts +11 -9
  784. package/lib/typescript/components/HMSHLSPlayer/hooks.d.ts +5 -0
  785. package/lib/typescript/components/HMSHLSPlayer/index.d.ts +1 -1
  786. package/lib/typescript/hooks/hmsviews.d.ts +3 -0
  787. package/lib/typescript/hooks/polls.d.ts +3 -0
  788. package/lib/typescript/index.d.ts +29 -2
  789. package/lib/typescript/specs/HMSHLSPlayerNativeComponent.d.ts +115 -0
  790. package/lib/typescript/specs/HMSViewNativeComponent.d.ts +97 -0
  791. package/lib/typescript/specs/NativeHMSManager.d.ts +147 -0
  792. package/lib/typescript/stores/hls-player-stats-store.d.ts +4 -3
  793. package/lib/typescript/stores/hms-interactivity-store.d.ts +9 -0
  794. package/lib/typescript/stores/hms-polls-slice.d.ts +5 -0
  795. package/lib/typescript/stores/hms-store.d.ts +4 -3
  796. package/lib/typescript/stores/hmsviews-slice.d.ts +5 -0
  797. package/lib/typescript/stores/types.d.ts +27 -3
  798. package/lib/typescript/types.d.ts +18 -5
  799. package/lib/typescript/utils/emitter/EventEmitter.d.ts +7 -0
  800. package/lib/typescript/utils/keyboard.d.ts +16 -0
  801. package/lib/typescript/utils/notification.d.ts +5 -0
  802. package/lib/typescript/utils/windowController.d.ts +10 -0
  803. package/package.json +49 -7
  804. package/react-native-hms.podspec +56 -2
  805. package/sdk-versions.json +4 -3
  806. package/src/classes/HMSAudioDevice.ts +18 -0
  807. package/src/classes/HMSAudioMixingMode.ts +11 -0
  808. package/src/classes/HMSAudioTrack.ts +9 -0
  809. package/src/classes/HMSAudioTrackSettings.ts +11 -0
  810. package/src/classes/HMSBrowserRecordingState.ts +4 -0
  811. package/src/classes/HMSCameraControl.ts +1 -1
  812. package/src/classes/HMSCameraFacing.ts +11 -0
  813. package/src/classes/HMSConfig.ts +27 -0
  814. package/src/classes/HMSEncoder.ts +57 -4
  815. package/src/classes/HMSException.ts +18 -0
  816. package/src/classes/HMSHLSPlaylistType.ts +4 -0
  817. package/src/classes/HMSHLSRecordingState.ts +9 -7
  818. package/src/classes/HMSHLSStreamingState.ts +15 -1
  819. package/src/classes/HMSHLSTimedMetadata.ts +16 -0
  820. package/src/classes/HMSHLSVariant.ts +5 -0
  821. package/src/classes/HMSIOSAudioMode.ts +15 -0
  822. package/src/classes/HMSInteractivityCenter.ts +246 -0
  823. package/src/classes/HMSInteractivityEncoder.ts +92 -0
  824. package/src/classes/HMSLogAlarmManager.ts +12 -0
  825. package/src/classes/HMSLogLevel.ts +12 -0
  826. package/src/classes/HMSLogSettings.ts +14 -0
  827. package/src/classes/HMSNativeEventEmitter.ts +1 -7
  828. package/src/classes/HMSNativeEventListener.ts +1 -1
  829. package/src/classes/HMSNetworkQuality.ts +11 -0
  830. package/src/classes/HMSNoiseCancellationPlugin.ts +162 -0
  831. package/src/classes/HMSPIPConfig.ts +54 -0
  832. package/src/classes/HMSPIPListenerActions.ts +18 -0
  833. package/src/classes/HMSPeer.ts +193 -3
  834. package/src/classes/HMSPeerListIterator.ts +29 -7
  835. package/src/classes/HMSPeerListIteratorOptions.ts +21 -0
  836. package/src/classes/HMSPeerType.ts +20 -0
  837. package/src/classes/HMSPeersCache.ts +3 -1
  838. package/src/classes/HMSPermissions.ts +25 -0
  839. package/src/classes/HMSPollsListenerActions.ts +3 -0
  840. package/src/classes/HMSRTMPConfig.ts +14 -0
  841. package/src/classes/HMSRecordingState.ts +9 -0
  842. package/src/classes/HMSRole.ts +17 -0
  843. package/src/classes/HMSRoom.ts +27 -0
  844. package/src/classes/HMSRoomCache.ts +10 -1
  845. package/src/classes/HMSRoomUpdate.ts +1 -0
  846. package/src/classes/HMSRtmpStreamingState.ts +4 -3
  847. package/src/classes/HMSRtmpVideoResolution.ts +13 -0
  848. package/src/classes/HMSSDK.tsx +1379 -345
  849. package/src/classes/HMSServerRecordingState.ts +4 -0
  850. package/src/classes/HMSSessionStore.ts +34 -45
  851. package/src/classes/HMSStreamingState.ts +7 -0
  852. package/src/classes/HMSTrack.ts +13 -0
  853. package/src/classes/HMSTrackSettings.ts +10 -0
  854. package/src/classes/HMSTrackSettingsInitState.ts +11 -0
  855. package/src/classes/HMSTrackSource.ts +10 -0
  856. package/src/classes/HMSTrackType.ts +7 -0
  857. package/src/classes/HMSUpdateListenerActions.ts +313 -3
  858. package/src/classes/HMSVideoTrack.ts +17 -0
  859. package/src/classes/HMSVideoTrackSettings.ts +27 -2
  860. package/src/classes/HmsView.tsx +92 -57
  861. package/src/classes/polls/DecodedPollLeaderboardResponse.ts +43 -0
  862. package/src/classes/polls/HMSPoll.ts +99 -0
  863. package/src/classes/polls/HMSPollCategory.ts +11 -0
  864. package/src/classes/polls/HMSPollCreateParams.ts +19 -0
  865. package/src/classes/polls/HMSPollLeaderboardEntry.ts +10 -0
  866. package/src/classes/polls/HMSPollLeaderboardSummary.ts +7 -0
  867. package/src/classes/polls/HMSPollQuestion.ts +92 -0
  868. package/src/classes/polls/HMSPollQuestionAnswer.ts +29 -0
  869. package/src/classes/polls/HMSPollQuestionCreateParams.ts +36 -0
  870. package/src/classes/polls/HMSPollQuestionOption.ts +24 -0
  871. package/src/classes/polls/HMSPollQuestionOptionCreateParams.ts +8 -0
  872. package/src/classes/polls/HMSPollQuestionQuizOptionCreateParams.ts +6 -0
  873. package/src/classes/polls/HMSPollQuestionResponse.ts +72 -0
  874. package/src/classes/polls/HMSPollQuestionResponseCreateParams.ts +6 -0
  875. package/src/classes/polls/HMSPollQuestionResponseResult.ts +19 -0
  876. package/src/classes/polls/HMSPollQuestionResult.ts +41 -0
  877. package/src/classes/polls/HMSPollQuestionType.ts +21 -0
  878. package/src/classes/polls/HMSPollResponsePeerInfo.ts +24 -0
  879. package/src/classes/polls/HMSPollResult.ts +26 -0
  880. package/src/classes/polls/HMSPollState.ts +16 -0
  881. package/src/classes/polls/HMSPollType.ts +4 -0
  882. package/src/classes/polls/HMSPollUpdateType.ts +5 -0
  883. package/src/classes/polls/HMSPollUserTrackingMode.ts +16 -0
  884. package/src/classes/polls/PollLeaderboardResponse.ts +8 -0
  885. package/src/classes/transcriptions/HMSTranscript.ts +13 -0
  886. package/src/classes/transcriptions/OnTranscriptionError.ts +5 -0
  887. package/src/classes/transcriptions/TranscriptionState.ts +6 -0
  888. package/src/classes/transcriptions/Transcriptions.ts +19 -0
  889. package/src/classes/transcriptions/TranscriptionsMode.ts +4 -0
  890. package/src/classes/transcriptions/index.ts +5 -0
  891. package/src/classes/whiteboard/HMSWhiteboard.tsx +16 -0
  892. package/src/classes/whiteboard/HMSWhiteboardListenerActions.ts +3 -0
  893. package/src/classes/whiteboard/HMSWhiteboardState.tsx +4 -0
  894. package/src/classes/whiteboard/HMSWhiteboardUpdateType.tsx +4 -0
  895. package/src/classes/whiteboard/index.ts +3 -0
  896. package/src/classes/whiteboard/registerCallbacks.ts +34 -0
  897. package/src/components/HMSHLSPlayer/HMSHLSPlayer.tsx +176 -92
  898. package/src/components/HMSHLSPlayer/RCTHMSHLSPlayer.ts +20 -13
  899. package/src/components/HMSHLSPlayer/hooks.ts +22 -4
  900. package/src/components/HMSHLSPlayer/index.ts +3 -0
  901. package/src/hooks/hmsviews.ts +15 -0
  902. package/src/hooks/polls.ts +14 -0
  903. package/src/index.ts +38 -3
  904. package/src/modules/HMSManagerModule.ts +5 -0
  905. package/src/specs/HMSHLSPlayerNativeComponent.ts +203 -0
  906. package/src/specs/HMSViewNativeComponent.ts +119 -0
  907. package/src/specs/NativeHMSManager.ts +307 -0
  908. package/src/stores/hls-player-playback-slice.ts +11 -0
  909. package/src/stores/hls-player-stats-store.ts +28 -18
  910. package/src/stores/hms-interactivity-store.ts +18 -0
  911. package/src/stores/hms-polls-slice.ts +20 -0
  912. package/src/stores/hms-store.ts +2 -0
  913. package/src/stores/hmsviews-slice.ts +20 -0
  914. package/src/stores/types.ts +50 -4
  915. package/src/types.ts +28 -3
  916. package/src/utils/emitter/EventEmitter.ts +26 -0
  917. package/src/utils/keyboard.ts +37 -0
  918. package/src/utils/notification.ts +10 -0
  919. package/src/utils/windowController.ts +23 -0
  920. package/android/.gradle/6.7.1/executionHistory/executionHistory.lock +0 -0
  921. package/android/.gradle/6.7.1/fileChanges/last-build.bin +0 -0
  922. package/android/.gradle/6.7.1/fileHashes/fileHashes.lock +0 -0
  923. package/android/.gradle/6.7.1/gc.properties +0 -0
  924. package/android/.gradle/6.9/executionHistory/executionHistory.bin +0 -0
  925. package/android/.gradle/6.9/executionHistory/executionHistory.lock +0 -0
  926. package/android/.gradle/6.9/fileChanges/last-build.bin +0 -0
  927. package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
  928. package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
  929. package/android/.gradle/6.9/fileHashes/resourceHashesCache.bin +0 -0
  930. package/android/.gradle/6.9/gc.properties +0 -0
  931. package/android/.gradle/6.9/javaCompile/classAnalysis.bin +0 -0
  932. package/android/.gradle/6.9/javaCompile/jarAnalysis.bin +0 -0
  933. package/android/.gradle/6.9/javaCompile/javaCompile.lock +0 -0
  934. package/android/.gradle/6.9/javaCompile/taskHistory.bin +0 -0
  935. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  936. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  937. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  938. package/android/.gradle/checksums/checksums.lock +0 -0
  939. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  940. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  941. package/android/.gradle/configuration-cache/gc.properties +0 -0
  942. package/android/.gradle/vcs-1/gc.properties +0 -0
  943. package/android/.idea/compiler.xml +0 -6
  944. package/android/.idea/gradle.xml +0 -18
  945. package/android/.idea/jarRepositories.xml +0 -45
  946. package/android/.idea/misc.xml +0 -10
  947. package/android/.idea/vcs.xml +0 -6
  948. package/android/local.properties +0 -8
  949. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayerManager.kt +0 -114
  950. package/android/src/main/java/com/reactnativehmssdk/HMSSDKViewManager.kt +0 -115
  951. package/ios/Hmssdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  952. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  953. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/jatinnagar.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  954. package/ios/Hmssdk.xcodeproj/xcuserdata/jatinnagar.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  955. package/lib/commonjs/classes/HMSManagerModule.js +0 -18
  956. package/lib/commonjs/classes/HMSManagerModule.js.map +0 -1
  957. package/lib/module/classes/HMSManagerModule.js +0 -11
  958. package/lib/module/classes/HMSManagerModule.js.map +0 -1
  959. package/src/classes/HMSManagerModule.ts +0 -18
  960. /package/lib/typescript/{classes → modules}/HMSManagerModule.d.ts +0 -0
@@ -2,6 +2,7 @@ package com.reactnativehmssdk
2
2
 
3
3
  import android.content.Intent
4
4
  import android.content.Intent.FLAG_ACTIVITY_NEW_TASK
5
+ import android.os.Build
5
6
  import com.facebook.react.bridge.*
6
7
  import com.facebook.react.bridge.UiThreadUtil.runOnUiThread
7
8
  import com.google.gson.JsonElement
@@ -19,6 +20,7 @@ import live.hms.video.sdk.models.enums.HMSPeerUpdate
19
20
  import live.hms.video.sdk.models.enums.HMSRoomUpdate
20
21
  import live.hms.video.sdk.models.enums.HMSTrackUpdate
21
22
  import live.hms.video.sdk.models.trackchangerequest.HMSChangeTrackStateRequest
23
+ import live.hms.video.sdk.transcripts.HmsTranscripts
22
24
  import live.hms.video.sessionstore.HMSKeyChangeListener
23
25
  import live.hms.video.sessionstore.HmsSessionStore
24
26
  import live.hms.video.signal.init.*
@@ -29,7 +31,7 @@ import java.util.Date
29
31
 
30
32
  class HMSRNSDK(
31
33
  data: ReadableMap?,
32
- HmsDelegate: HMSManager,
34
+ HmsDelegate: HMSManagerImpl,
33
35
  sdkId: String,
34
36
  reactApplicationContext: ReactApplicationContext,
35
37
  ) {
@@ -37,7 +39,7 @@ class HMSRNSDK(
37
39
  var screenshareCallback: Promise? = null
38
40
  var audioshareCallback: Promise? = null
39
41
  var isAudioSharing: Boolean = false
40
- var delegate: HMSManager = HmsDelegate
42
+ var delegate: HMSManagerImpl = HmsDelegate
41
43
  var previewForRoleVideoTrack: HMSLocalVideoTrack? = null
42
44
  var previewForRoleAudioTrack: HMSLocalAudioTrack? = null
43
45
  private var recentRoleChangeRequest: HMSRoleChangeRequest? = null
@@ -48,10 +50,13 @@ class HMSRNSDK(
48
50
  private var audioMixingMode: AudioMixingMode = AudioMixingMode.TALK_AND_MUSIC
49
51
  private var id: String = sdkId
50
52
  private var self = this
51
- private var eventsEnableStatus = mutableMapOf<String, Boolean>()
53
+ var eventsEnableStatus = mutableMapOf<String, Boolean>()
52
54
  private var sessionStore: HmsSessionStore? = null
53
55
  private val keyChangeObservers = mutableMapOf<String, HMSKeyChangeListener?>()
54
- private val peerListIterators = mutableMapOf<Int, PeerListIterator>()
56
+ private val peerListIterators = mutableMapOf<String, PeerListIterator>()
57
+ private var roomMutedLocally = false
58
+
59
+ var interactivityCenter: HMSRNInteractivityCenter? = null
55
60
 
56
61
  init {
57
62
  val builder = HMSSDK.Builder(reactApplicationContext)
@@ -67,10 +72,12 @@ class HMSRNSDK(
67
72
  if (frameworkInfo != null) {
68
73
  builder.setFrameworkInfo(frameworkInfo)
69
74
  } else {
70
- emitCustomError("Unable to decode framework info")
75
+ val errorMessage = "Unable to decode framework info"
76
+ throw HMSException(6002, errorMessage, errorMessage, errorMessage, errorMessage, null, false)
71
77
  }
72
78
  } else {
73
- emitCustomError("Framework info not sent in build function")
79
+ val errorMessage = "Framework info not sent in build function"
80
+ throw HMSException(6002, errorMessage, errorMessage, errorMessage, errorMessage, null, false)
74
81
  }
75
82
 
76
83
  if (HMSHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("logSettings", "Map")))) {
@@ -80,7 +87,18 @@ class HMSRNSDK(
80
87
  }
81
88
  }
82
89
 
90
+ if (data?.hasKey("haltPreviewJoinForPermissionsRequest") == true) {
91
+ val halt = data?.getBoolean("haltPreviewJoinForPermissionsRequest")
92
+ if (halt != null) {
93
+ builder.haltPreviewJoinForPermissionsRequest(halt)
94
+ }
95
+ }
96
+
83
97
  this.hmsSDK = builder.build()
98
+
99
+ hmsSDK?.let {
100
+ interactivityCenter = HMSRNInteractivityCenter(it, this)
101
+ }
84
102
  }
85
103
 
86
104
  private fun emitCustomError(message: String) {
@@ -134,6 +152,7 @@ class HMSRNSDK(
134
152
  sessionStore = null
135
153
  keyChangeObservers.clear()
136
154
  peerListIterators.clear()
155
+ roomMutedLocally = false
137
156
  HMSDecoder.clearRestrictDataStates()
138
157
  }
139
158
 
@@ -147,7 +166,7 @@ class HMSRNSDK(
147
166
  delegate.emitEvent("ON_ERROR", data)
148
167
  }
149
168
 
150
- fun emitHMSSuccess(message: HMSMessage? = null): ReadableMap {
169
+ fun getPromiseResolveData(message: HMSMessage? = null): ReadableMap {
151
170
  val hmsMessage =
152
171
  if (message !== null) message.message else "function call executed successfully"
153
172
  val data: WritableMap = Arguments.createMap()
@@ -156,7 +175,7 @@ class HMSRNSDK(
156
175
  return data
157
176
  }
158
177
 
159
- fun emitHMSMessageSuccess(hmsMessage: HMSMessage): ReadableMap {
178
+ fun getPromiseResolveMessageData(hmsMessage: HMSMessage): ReadableMap {
160
179
  val data: WritableMap = Arguments.createMap()
161
180
  data.putString("message", hmsMessage.message)
162
181
  data.putString("messageId", hmsMessage.messageId)
@@ -245,9 +264,11 @@ class HMSRNSDK(
245
264
  delegate.emitEvent("ON_PREVIEW", data)
246
265
  }
247
266
 
248
- /*
249
- override fun peerListUpdated(addedPeers: ArrayList<HMSPeer>?, removedPeers: ArrayList<HMSPeer>?) {
250
-
267
+ override fun peerListUpdated(
268
+ addedPeers: ArrayList<HMSPeer>?,
269
+ removedPeers: ArrayList<HMSPeer>?,
270
+ ) {
271
+ super.peerListUpdated(addedPeers, removedPeers)
251
272
  if (eventsEnableStatus["ON_PEER_LIST_UPDATED"] != true) {
252
273
  return
253
274
  }
@@ -267,11 +288,22 @@ class HMSRNSDK(
267
288
  }
268
289
  }
269
290
 
291
+ data.putString("id", id)
270
292
  data.putArray("addedPeers", addedPeersArray)
271
293
  data.putArray("removedPeers", removedPeersArray)
272
294
  delegate.emitEvent("ON_PEER_LIST_UPDATED", data)
273
295
  }
274
- */
296
+
297
+ override fun onPermissionsRequested(permissions: List<String>) {
298
+ if (eventsEnableStatus["ON_PERMISSIONS_REQUESTED"] != true) {
299
+ return
300
+ }
301
+ val data: WritableMap = Arguments.createMap()
302
+
303
+ data.putArray("permissions", Arguments.fromList(permissions))
304
+ data.putString("id", id)
305
+ delegate.emitEvent("ON_PERMISSIONS_REQUESTED", data)
306
+ }
275
307
  },
276
308
  )
277
309
  } else {
@@ -295,216 +327,267 @@ class HMSRNSDK(
295
327
  val config = HMSHelper.getHmsConfig(credentials)
296
328
 
297
329
  HMSCoroutineScope.launch {
298
- try {
299
- hmsSDK?.join(
300
- config,
301
- object : HMSUpdateListener {
302
- override fun onChangeTrackStateRequest(details: HMSChangeTrackStateRequest) {
303
- if (eventsEnableStatus["ON_CHANGE_TRACK_STATE_REQUEST"] != true) {
304
- return
305
- }
306
- val decodedChangeTrackStateRequest =
307
- HMSDecoder.getHmsChangeTrackStateRequest(details, id)
308
- delegate.emitEvent(
309
- "ON_CHANGE_TRACK_STATE_REQUEST",
310
- decodedChangeTrackStateRequest,
311
- )
330
+ hmsSDK?.join(
331
+ config,
332
+ object : HMSUpdateListener {
333
+ override fun onChangeTrackStateRequest(details: HMSChangeTrackStateRequest) {
334
+ if (eventsEnableStatus["ON_CHANGE_TRACK_STATE_REQUEST"] != true) {
335
+ return
312
336
  }
337
+ val decodedChangeTrackStateRequest =
338
+ HMSDecoder.getHmsChangeTrackStateRequest(details, id)
339
+ delegate.emitEvent(
340
+ "ON_CHANGE_TRACK_STATE_REQUEST",
341
+ decodedChangeTrackStateRequest,
342
+ )
343
+ }
313
344
 
314
- override fun onRemovedFromRoom(notification: HMSRemovedFromRoom) {
315
- super.onRemovedFromRoom(notification)
316
- if (eventsEnableStatus["ON_REMOVED_FROM_ROOM"] != true) {
317
- cleanup() // resetting states and doing data cleanup
318
- return
345
+ override fun onRemovedFromRoom(notification: HMSRemovedFromRoom) {
346
+ super.onRemovedFromRoom(notification)
347
+
348
+ context.currentActivity?.let {
349
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && it.isInPictureInPictureMode) {
350
+ it.moveTaskToBack(false)
319
351
  }
320
- val data: WritableMap = Arguments.createMap()
321
- val requestedBy =
322
- HMSDecoder.getHmsRemotePeer(notification.peerWhoRemoved as HMSRemotePeer?)
323
- val roomEnded = notification.roomWasEnded
324
- val reason = notification.reason
325
-
326
- data.putMap("requestedBy", requestedBy)
327
- data.putBoolean("roomEnded", roomEnded)
328
- data.putString("reason", reason)
329
- data.putString("id", id)
330
-
331
- delegate.emitEvent("ON_REMOVED_FROM_ROOM", data)
332
- cleanup() // resetting states and doing data cleanup
333
352
  }
334
353
 
335
- override fun onError(error: HMSException) {
336
- if (eventsEnableStatus["ON_ERROR"] != true) {
337
- return
338
- }
339
- self.emitHMSError(error)
354
+ if (eventsEnableStatus["ON_REMOVED_FROM_ROOM"] != true) {
355
+ cleanup() // resetting states and doing data cleanup
356
+ return
340
357
  }
358
+ val data: WritableMap = Arguments.createMap()
359
+ val requestedBy =
360
+ HMSDecoder.getHmsRemotePeer(notification.peerWhoRemoved as HMSRemotePeer?)
361
+ val roomEnded = notification.roomWasEnded
362
+ val reason = notification.reason
363
+
364
+ data.putMap("requestedBy", requestedBy)
365
+ data.putBoolean("roomEnded", roomEnded)
366
+ data.putString("reason", reason)
367
+ data.putString("id", id)
341
368
 
342
- override fun onJoin(room: HMSRoom) {
343
- if (eventsEnableStatus["ON_JOIN"] != true) {
344
- return
345
- }
346
- val roomData = HMSDecoder.getHmsRoomSubset(room)
369
+ delegate.emitEvent("ON_REMOVED_FROM_ROOM", data)
370
+ cleanup() // resetting states and doing data cleanup
371
+ }
347
372
 
348
- val data: WritableMap = Arguments.createMap()
373
+ override fun onError(error: HMSException) {
374
+ if (eventsEnableStatus["ON_ERROR"] != true) {
375
+ return
376
+ }
377
+ self.emitHMSError(error)
378
+ }
349
379
 
350
- data.putMap("room", roomData)
351
- data.putString("id", id)
352
- delegate.emitEvent("ON_JOIN", data)
380
+ override fun onJoin(room: HMSRoom) {
381
+ if (eventsEnableStatus["ON_JOIN"] != true) {
382
+ return
353
383
  }
384
+ val roomData = HMSDecoder.getHmsRoomSubset(room)
354
385
 
355
- override fun onPeerUpdate(
356
- type: HMSPeerUpdate,
357
- peer: HMSPeer,
386
+ val data: WritableMap = Arguments.createMap()
387
+
388
+ data.putMap("room", roomData)
389
+ data.putString("id", id)
390
+ delegate.emitEvent("ON_JOIN", data)
391
+ }
392
+
393
+ override fun onPeerUpdate(
394
+ type: HMSPeerUpdate,
395
+ peer: HMSPeer,
396
+ ) {
397
+ if (eventsEnableStatus["3"] != true) {
398
+ return
399
+ }
400
+ if (type === HMSPeerUpdate.BECAME_DOMINANT_SPEAKER ||
401
+ type === HMSPeerUpdate.NO_DOMINANT_SPEAKER
358
402
  ) {
359
- if (eventsEnableStatus["3"] != true) {
360
- return
361
- }
362
- if (type === HMSPeerUpdate.BECAME_DOMINANT_SPEAKER ||
363
- type === HMSPeerUpdate.NO_DOMINANT_SPEAKER
364
- ) {
365
- return
366
- }
367
- if (!networkQualityUpdatesAttached &&
368
- type === HMSPeerUpdate.NETWORK_QUALITY_UPDATED
369
- ) {
370
- return
371
- }
372
- val hmsPeer = HMSDecoder.getHmsPeerSubsetForPeerUpdateEvent(peer, type)
373
- delegate.emitEvent("3", hmsPeer)
403
+ return
374
404
  }
405
+ if (!networkQualityUpdatesAttached &&
406
+ type === HMSPeerUpdate.NETWORK_QUALITY_UPDATED
407
+ ) {
408
+ return
409
+ }
410
+ val hmsPeer = HMSDecoder.getHmsPeerSubsetForPeerUpdateEvent(peer, type)
411
+ delegate.emitEvent("3", hmsPeer)
412
+ }
375
413
 
376
- override fun onRoomUpdate(
377
- type: HMSRoomUpdate,
378
- hmsRoom: HMSRoom,
414
+ override fun onRoomUpdate(
415
+ type: HMSRoomUpdate,
416
+ hmsRoom: HMSRoom,
417
+ ) {
418
+ val peerCount = hmsRoom.peerCount
419
+ if (
420
+ type == HMSRoomUpdate.ROOM_PEER_COUNT_UPDATED &&
421
+ peerCount != null &&
422
+ peerCount <= 1 // `peerCount` includes local peer
379
423
  ) {
380
- if (eventsEnableStatus["ON_ROOM_UPDATE"] != true) {
381
- return
424
+ context.currentActivity?.let {
425
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && it.isInPictureInPictureMode) {
426
+ it.moveTaskToBack(false)
427
+ }
382
428
  }
429
+ }
383
430
 
384
- val updateType = type.name
385
- val roomData = HMSDecoder.getHmsRoomSubset(hmsRoom, type)
431
+ if (eventsEnableStatus["ON_ROOM_UPDATE"] != true) {
432
+ return
433
+ }
386
434
 
387
- val data: WritableMap = Arguments.createMap()
435
+ val updateType = type.name
436
+ val roomData = HMSDecoder.getHmsRoomSubset(hmsRoom, type)
388
437
 
389
- data.putString("type", updateType)
390
- data.putMap("room", roomData)
391
- data.putString("id", id)
392
- delegate.emitEvent("ON_ROOM_UPDATE", data)
393
- }
438
+ val data: WritableMap = Arguments.createMap()
394
439
 
395
- override fun onTrackUpdate(
396
- type: HMSTrackUpdate,
397
- track: HMSTrack,
398
- peer: HMSPeer,
440
+ data.putString("type", updateType)
441
+ data.putMap("room", roomData)
442
+ data.putString("id", id)
443
+ delegate.emitEvent("ON_ROOM_UPDATE", data)
444
+ }
445
+
446
+ override fun onTrackUpdate(
447
+ type: HMSTrackUpdate,
448
+ track: HMSTrack,
449
+ peer: HMSPeer,
450
+ ) {
451
+ if (
452
+ roomMutedLocally &&
453
+ type == HMSTrackUpdate.TRACK_ADDED &&
454
+ track.type == HMSTrackType.AUDIO &&
455
+ !peer.isLocal
399
456
  ) {
400
- if (eventsEnableStatus["ON_TRACK_UPDATE"] != true) {
401
- return
457
+ val room = hmsSDK?.getRoom()
458
+ val remoteAudioTrack = HMSHelper.getRemoteAudioTrackFromTrackId(track.trackId, room)
459
+ remoteAudioTrack?.let {
460
+ it.isPlaybackAllowed = !roomMutedLocally
402
461
  }
403
- val updateType = type.name
404
- val hmsPeer = HMSDecoder.getHmsPeerSubset(peer)
405
- val hmsTrack = HMSDecoder.getHmsTrack(track)
462
+ }
463
+
464
+ if (eventsEnableStatus["ON_TRACK_UPDATE"] != true) {
465
+ return
466
+ }
467
+ val updateType = type.name
468
+ val hmsPeer = HMSDecoder.getHmsPeerSubset(peer)
469
+ val hmsTrack = HMSDecoder.getHmsTrack(track)
406
470
 
407
- val data: WritableMap = Arguments.createMap()
471
+ val data: WritableMap = Arguments.createMap()
472
+
473
+ data.putMap("peer", hmsPeer)
474
+ data.putMap("track", hmsTrack)
475
+ data.putString("type", updateType)
476
+ data.putString("id", id)
477
+ delegate.emitEvent("ON_TRACK_UPDATE", data)
478
+ }
408
479
 
409
- data.putMap("peer", hmsPeer)
410
- data.putMap("track", hmsTrack)
411
- data.putString("type", updateType)
412
- data.putString("id", id)
413
- delegate.emitEvent("ON_TRACK_UPDATE", data)
480
+ override fun onMessageReceived(message: HMSMessage) {
481
+ if (eventsEnableStatus["ON_MESSAGE"] != true) {
482
+ return
414
483
  }
484
+ val data: WritableMap = Arguments.createMap()
415
485
 
416
- override fun onMessageReceived(message: HMSMessage) {
417
- if (eventsEnableStatus["ON_MESSAGE"] != true) {
418
- return
419
- }
420
- val data: WritableMap = Arguments.createMap()
486
+ data.putMap("sender", HMSDecoder.getHmsPeerSubset(message.sender))
487
+ data.putString("message", message.message)
488
+ data.putString("messageId", message.messageId)
489
+ data.putString("type", message.type)
490
+ data.putString("time", message.serverReceiveTime.toString())
491
+ data.putString("id", id)
492
+ data.putMap("recipient", HMSDecoder.getHmsMessageRecipient(message.recipient))
421
493
 
422
- data.putMap("sender", HMSDecoder.getHmsPeerSubset(message.sender))
423
- data.putString("message", message.message)
424
- data.putString("messageId", message.messageId)
425
- data.putString("type", message.type)
426
- data.putString("time", message.serverReceiveTime.toString())
427
- data.putString("id", id)
428
- data.putMap("recipient", HMSDecoder.getHmsMessageRecipient(message.recipient))
494
+ delegate.emitEvent("ON_MESSAGE", data)
495
+ }
429
496
 
430
- delegate.emitEvent("ON_MESSAGE", data)
497
+ override fun onReconnected() {
498
+ reconnectingStage = false
499
+ if (eventsEnableStatus["RECONNECTED"] != true) {
500
+ return
431
501
  }
502
+ val data: WritableMap = Arguments.createMap()
503
+ data.putString("event", "RECONNECTED")
504
+ data.putString("id", id)
505
+ delegate.emitEvent("RECONNECTED", data)
506
+ }
432
507
 
433
- override fun onReconnected() {
434
- reconnectingStage = false
435
- if (eventsEnableStatus["RECONNECTED"] != true) {
436
- return
437
- }
438
- val data: WritableMap = Arguments.createMap()
439
- data.putString("event", "RECONNECTED")
440
- data.putString("id", id)
441
- delegate.emitEvent("RECONNECTED", data)
508
+ override fun onReconnecting(error: HMSException) {
509
+ reconnectingStage = true
510
+ if (eventsEnableStatus["RECONNECTING"] != true) {
511
+ return
442
512
  }
513
+ val data: WritableMap = Arguments.createMap()
514
+ data.putMap("error", HMSDecoder.getError(error))
515
+ data.putString("event", "RECONNECTING")
516
+ data.putString("id", id)
517
+ delegate.emitEvent("RECONNECTING", data)
518
+ }
443
519
 
444
- override fun onReconnecting(error: HMSException) {
445
- reconnectingStage = true
446
- if (eventsEnableStatus["RECONNECTING"] != true) {
447
- return
448
- }
449
- val data: WritableMap = Arguments.createMap()
450
- data.putMap("error", HMSDecoder.getError(error))
451
- data.putString("event", "RECONNECTING")
452
- data.putString("id", id)
453
- delegate.emitEvent("RECONNECTING", data)
520
+ override fun onRoleChangeRequest(request: HMSRoleChangeRequest) {
521
+ recentRoleChangeRequest = request
522
+ if (eventsEnableStatus["ON_ROLE_CHANGE_REQUEST"] != true) {
523
+ return
454
524
  }
525
+ val decodedChangeRoleRequest = HMSDecoder.getHmsRoleChangeRequest(request, id)
526
+ delegate.emitEvent("ON_ROLE_CHANGE_REQUEST", decodedChangeRoleRequest)
527
+ }
455
528
 
456
- override fun onRoleChangeRequest(request: HMSRoleChangeRequest) {
457
- recentRoleChangeRequest = request
458
- if (eventsEnableStatus["ON_ROLE_CHANGE_REQUEST"] != true) {
459
- return
460
- }
461
- val decodedChangeRoleRequest = HMSDecoder.getHmsRoleChangeRequest(request, id)
462
- delegate.emitEvent("ON_ROLE_CHANGE_REQUEST", decodedChangeRoleRequest)
529
+ override fun onSessionStoreAvailable(sessionStore: HmsSessionStore) {
530
+ self.sessionStore = sessionStore
531
+ if (eventsEnableStatus["ON_SESSION_STORE_AVAILABLE"] != true) {
532
+ return
463
533
  }
534
+ val data: WritableMap = Arguments.createMap()
535
+ data.putString("id", id)
536
+ delegate.emitEvent("ON_SESSION_STORE_AVAILABLE", data)
537
+ }
464
538
 
465
- override fun onSessionStoreAvailable(sessionStore: HmsSessionStore) {
466
- self.sessionStore = sessionStore
467
- if (eventsEnableStatus["ON_SESSION_STORE_AVAILABLE"] != true) {
468
- return
469
- }
470
- val data: WritableMap = Arguments.createMap()
471
- data.putString("id", id)
472
- delegate.emitEvent("ON_SESSION_STORE_AVAILABLE", data)
539
+ override fun peerListUpdated(
540
+ addedPeers: ArrayList<HMSPeer>?,
541
+ removedPeers: ArrayList<HMSPeer>?,
542
+ ) {
543
+ if (eventsEnableStatus["ON_PEER_LIST_UPDATED"] != true) {
544
+ return
473
545
  }
546
+ val data: WritableMap = Arguments.createMap()
547
+ val addedPeersArray: WritableArray = Arguments.createArray()
548
+ val removedPeersArray: WritableArray = Arguments.createArray()
474
549
 
475
- override fun peerListUpdated(
476
- addedPeers: ArrayList<HMSPeer>?,
477
- removedPeers: ArrayList<HMSPeer>?,
478
- ) {
479
- if (eventsEnableStatus["ON_PEER_LIST_UPDATED"] != true) {
480
- return
550
+ if (addedPeers != null) {
551
+ for (peer in addedPeers) {
552
+ addedPeersArray.pushMap(HMSDecoder.getHmsPeerSubset(peer))
481
553
  }
482
- val data: WritableMap = Arguments.createMap()
483
- val addedPeersArray: WritableArray = Arguments.createArray()
484
- val removedPeersArray: WritableArray = Arguments.createArray()
554
+ }
485
555
 
486
- if (addedPeers != null) {
487
- for (peer in addedPeers) {
488
- addedPeersArray.pushMap(HMSDecoder.getHmsPeerSubset(peer))
489
- }
556
+ if (removedPeers != null) {
557
+ for (peer in removedPeers) {
558
+ removedPeersArray.pushMap(HMSDecoder.getHmsPeerSubset(peer))
490
559
  }
560
+ }
491
561
 
492
- if (removedPeers != null) {
493
- for (peer in removedPeers) {
494
- removedPeersArray.pushMap(HMSDecoder.getHmsPeerSubset(peer))
495
- }
496
- }
562
+ data.putString("id", id)
563
+ data.putArray("addedPeers", addedPeersArray)
564
+ data.putArray("removedPeers", removedPeersArray)
565
+ delegate.emitEvent("ON_PEER_LIST_UPDATED", data)
566
+ }
567
+
568
+ override fun onTranscripts(transcripts: HmsTranscripts) {
569
+ if (eventsEnableStatus["ON_TRANSCRIPTS"] != true) {
570
+ return
571
+ }
572
+ val data: WritableMap = Arguments.createMap()
573
+ val transcriptsArray = HMSDecoder.getHmsTranscripts(transcripts.transcripts)
574
+ data.putArray("transcripts", transcriptsArray)
575
+ data.putString("id", id)
576
+ delegate.emitEvent("ON_TRANSCRIPTS", data)
577
+ }
497
578
 
498
- data.putString("id", id)
499
- data.putArray("addedPeers", addedPeersArray)
500
- data.putArray("removedPeers", removedPeersArray)
501
- delegate.emitEvent("ON_PEER_LIST_UPDATED", data)
579
+ override fun onPermissionsRequested(permissions: List<String>) {
580
+ if (eventsEnableStatus["ON_PERMISSIONS_REQUESTED"] != true) {
581
+ return
502
582
  }
503
- },
504
- )
505
- } catch (e: HMSException) {
506
- self.emitHMSError(e)
507
- }
583
+ val data: WritableMap = Arguments.createMap()
584
+
585
+ data.putArray("permissions", Arguments.fromList(permissions))
586
+ data.putString("id", id)
587
+ delegate.emitEvent("ON_PERMISSIONS_REQUESTED", data)
588
+ }
589
+ },
590
+ )
508
591
 
509
592
  hmsSDK?.addAudioObserver(
510
593
  object : HMSAudioListener {
@@ -689,7 +772,6 @@ class HMSRNSDK(
689
772
  )
690
773
  } else {
691
774
  val errorMessage = "getAuthTokenByRoomCode: $requiredKeys"
692
- self.emitRequiredKeysError(errorMessage)
693
775
  rejectCallback(promise, errorMessage)
694
776
  }
695
777
  }
@@ -736,7 +818,7 @@ class HMSRNSDK(
736
818
  map.putString("id", id)
737
819
  delegate.emitEvent("ON_PIP_ROOM_LEAVE", map)
738
820
  } else {
739
- callback?.resolve(emitHMSSuccess())
821
+ callback?.resolve(getPromiseResolveData())
740
822
  }
741
823
  cleanup() // resetting states and doing data cleanup
742
824
  }
@@ -770,13 +852,12 @@ class HMSRNSDK(
770
852
  }
771
853
 
772
854
  override fun onSuccess(hmsMessage: HMSMessage) {
773
- callback?.resolve(emitHMSMessageSuccess(hmsMessage))
855
+ callback?.resolve(getPromiseResolveMessageData(hmsMessage))
774
856
  }
775
857
  },
776
858
  )
777
859
  } else {
778
860
  val errorMessage = "sendBroadcastMessage: $requiredKeys"
779
- self.emitRequiredKeysError(errorMessage)
780
861
  rejectCallback(callback, errorMessage)
781
862
  }
782
863
  }
@@ -805,13 +886,12 @@ class HMSRNSDK(
805
886
  }
806
887
 
807
888
  override fun onSuccess(hmsMessage: HMSMessage) {
808
- callback?.resolve(emitHMSMessageSuccess(hmsMessage))
889
+ callback?.resolve(getPromiseResolveMessageData(hmsMessage))
809
890
  }
810
891
  },
811
892
  )
812
893
  } else {
813
894
  val errorMessage = "sendGroupMessage: $requiredKeys"
814
- self.emitRequiredKeysError(errorMessage)
815
895
  rejectCallback(callback, errorMessage)
816
896
  }
817
897
  }
@@ -839,17 +919,15 @@ class HMSRNSDK(
839
919
  }
840
920
 
841
921
  override fun onSuccess(hmsMessage: HMSMessage) {
842
- callback?.resolve(emitHMSMessageSuccess(hmsMessage))
922
+ callback?.resolve(getPromiseResolveMessageData(hmsMessage))
843
923
  }
844
924
  },
845
925
  )
846
926
  } else {
847
- self.emitCustomError("PEER_NOT_FOUND")
848
927
  callback?.reject("101", "PEER_NOT_FOUND")
849
928
  }
850
929
  } else {
851
930
  val errorMessage = "sendDirectMessage: $requiredKeys"
852
- self.emitRequiredKeysError(errorMessage)
853
931
  rejectCallback(callback, errorMessage)
854
932
  }
855
933
  }
@@ -887,7 +965,7 @@ class HMSRNSDK(
887
965
  force,
888
966
  object : HMSActionResultListener {
889
967
  override fun onSuccess() {
890
- callback?.resolve(emitHMSSuccess())
968
+ callback?.resolve(getPromiseResolveData())
891
969
  }
892
970
 
893
971
  override fun onError(error: HMSException) {
@@ -898,7 +976,6 @@ class HMSRNSDK(
898
976
  }
899
977
  } else {
900
978
  val errorMessage = "changeRole: $requiredKeys"
901
- self.emitRequiredKeysError(errorMessage)
902
979
  rejectCallback(callback, errorMessage)
903
980
  }
904
981
  }
@@ -935,7 +1012,7 @@ class HMSRNSDK(
935
1012
  force,
936
1013
  object : HMSActionResultListener {
937
1014
  override fun onSuccess() {
938
- promise?.resolve(emitHMSSuccess())
1015
+ promise?.resolve(getPromiseResolveData())
939
1016
  }
940
1017
 
941
1018
  override fun onError(error: HMSException) {
@@ -946,7 +1023,6 @@ class HMSRNSDK(
946
1023
  }
947
1024
  } else {
948
1025
  val errorMessage = "changeRoleOfPeer: $requiredKeys"
949
- self.emitRequiredKeysError(errorMessage)
950
1026
  rejectCallback(promise, errorMessage)
951
1027
  }
952
1028
  }
@@ -978,7 +1054,7 @@ class HMSRNSDK(
978
1054
  toHMSRole,
979
1055
  object : HMSActionResultListener {
980
1056
  override fun onSuccess() {
981
- promise?.resolve(emitHMSSuccess())
1057
+ promise?.resolve(getPromiseResolveData())
982
1058
  }
983
1059
 
984
1060
  override fun onError(error: HMSException) {
@@ -990,7 +1066,6 @@ class HMSRNSDK(
990
1066
  }
991
1067
  } else {
992
1068
  val errorMessage = "changeRoleOfPeersWithRoles: $requiredKeys"
993
- self.emitRequiredKeysError(errorMessage)
994
1069
  rejectCallback(promise, errorMessage)
995
1070
  }
996
1071
  }
@@ -1014,7 +1089,7 @@ class HMSRNSDK(
1014
1089
  mute,
1015
1090
  object : HMSActionResultListener {
1016
1091
  override fun onSuccess() {
1017
- callback?.resolve(emitHMSSuccess())
1092
+ callback?.resolve(getPromiseResolveData())
1018
1093
  }
1019
1094
 
1020
1095
  override fun onError(error: HMSException) {
@@ -1025,7 +1100,6 @@ class HMSRNSDK(
1025
1100
  }
1026
1101
  } else {
1027
1102
  val errorMessage = "changeTrackState: $requiredKeys"
1028
- self.emitRequiredKeysError(errorMessage)
1029
1103
  rejectCallback(callback, errorMessage)
1030
1104
  }
1031
1105
  }
@@ -1068,7 +1142,7 @@ class HMSRNSDK(
1068
1142
  encodedTargetedRoles,
1069
1143
  object : HMSActionResultListener {
1070
1144
  override fun onSuccess() {
1071
- callback?.resolve(emitHMSSuccess())
1145
+ callback?.resolve(getPromiseResolveData())
1072
1146
  }
1073
1147
 
1074
1148
  override fun onError(error: HMSException) {
@@ -1078,7 +1152,6 @@ class HMSRNSDK(
1078
1152
  )
1079
1153
  } else {
1080
1154
  val errorMessage = "changeTrackStateForRoles: $requiredKeys"
1081
- self.emitRequiredKeysError(errorMessage)
1082
1155
  rejectCallback(callback, errorMessage)
1083
1156
  }
1084
1157
  }
@@ -1099,7 +1172,6 @@ class HMSRNSDK(
1099
1172
  }
1100
1173
  } else {
1101
1174
  val errorMessage = "isMute: $requiredKeys"
1102
- self.emitRequiredKeysError(errorMessage)
1103
1175
  rejectCallback(callback, errorMessage)
1104
1176
  }
1105
1177
  }
@@ -1114,30 +1186,31 @@ class HMSRNSDK(
1114
1186
  arrayOf(Pair("peerId", "String"), Pair("reason", "String")),
1115
1187
  )
1116
1188
  if (requiredKeys === null) {
1117
- val peerId = data.getString("peerId")
1118
- val peer = HMSHelper.getRemotePeerFromPeerId(peerId, hmsSDK?.getRoom())
1189
+ HMSCoroutineScope.launch {
1190
+ val peerId = data.getString("peerId")
1119
1191
 
1120
- if (peer != null) {
1121
- hmsSDK?.removePeerRequest(
1122
- peer,
1123
- data.getString("reason") as String,
1124
- object : HMSActionResultListener {
1125
- override fun onSuccess() {
1126
- callback?.resolve(emitHMSSuccess())
1127
- }
1192
+ val peer = HMSHelper.getRemotePeerFromPeerId(peerId, hmsSDK)
1128
1193
 
1129
- override fun onError(error: HMSException) {
1130
- callback?.reject(error.code.toString(), error.message)
1131
- }
1132
- },
1133
- )
1134
- } else {
1135
- self.emitCustomError("PEER_NOT_FOUND")
1136
- callback?.reject("101", "PEER_NOT_FOUND")
1194
+ if (peer != null) {
1195
+ hmsSDK?.removePeerRequest(
1196
+ peer,
1197
+ data.getString("reason") as String,
1198
+ object : HMSActionResultListener {
1199
+ override fun onSuccess() {
1200
+ callback?.resolve(getPromiseResolveData())
1201
+ }
1202
+
1203
+ override fun onError(error: HMSException) {
1204
+ callback?.reject(error.code.toString(), error.message)
1205
+ }
1206
+ },
1207
+ )
1208
+ } else {
1209
+ callback?.reject("101", "PEER_NOT_FOUND")
1210
+ }
1137
1211
  }
1138
1212
  } else {
1139
1213
  val errorMessage = "removePeer: $requiredKeys"
1140
- self.emitRequiredKeysError(errorMessage)
1141
1214
  rejectCallback(callback, errorMessage)
1142
1215
  }
1143
1216
  }
@@ -1157,7 +1230,7 @@ class HMSRNSDK(
1157
1230
  data.getBoolean("lock"),
1158
1231
  object : HMSActionResultListener {
1159
1232
  override fun onSuccess() {
1160
- callback?.resolve(emitHMSSuccess())
1233
+ callback?.resolve(getPromiseResolveData())
1161
1234
  cleanup() // resetting states and doing data cleanup
1162
1235
  }
1163
1236
 
@@ -1168,7 +1241,6 @@ class HMSRNSDK(
1168
1241
  )
1169
1242
  } else {
1170
1243
  val errorMessage = "endRoom: $requiredKeys"
1171
- self.emitRequiredKeysError(errorMessage)
1172
1244
  rejectCallback(callback, errorMessage)
1173
1245
  }
1174
1246
  }
@@ -1215,7 +1287,6 @@ class HMSRNSDK(
1215
1287
  )
1216
1288
  } else {
1217
1289
  val errorMessage = "Missing required keys for previewForRole: $requiredKeys"
1218
- self.emitRequiredKeysError(errorMessage)
1219
1290
  rejectCallback(callback, errorMessage)
1220
1291
  }
1221
1292
  }
@@ -1224,7 +1295,7 @@ class HMSRNSDK(
1224
1295
  hmsSDK?.cancelPreview()
1225
1296
  previewForRoleAudioTrack = null
1226
1297
  previewForRoleVideoTrack = null
1227
- callback?.resolve(emitHMSSuccess())
1298
+ callback?.resolve(getPromiseResolveData())
1228
1299
  }
1229
1300
 
1230
1301
  fun acceptRoleChange(callback: Promise?) {
@@ -1233,7 +1304,7 @@ class HMSRNSDK(
1233
1304
  recentRoleChangeRequest!!,
1234
1305
  object : HMSActionResultListener {
1235
1306
  override fun onSuccess() {
1236
- callback?.resolve(emitHMSSuccess())
1307
+ callback?.resolve(getPromiseResolveData())
1237
1308
  }
1238
1309
 
1239
1310
  override fun onError(error: HMSException) {
@@ -1246,7 +1317,6 @@ class HMSRNSDK(
1246
1317
  previewForRoleVideoTrack = null
1247
1318
  } else {
1248
1319
  val errorMessage = "acceptRoleChange: recentRoleChangeRequest not found"
1249
- self.emitRequiredKeysError(errorMessage)
1250
1320
  rejectCallback(callback, errorMessage)
1251
1321
  }
1252
1322
  }
@@ -1269,7 +1339,7 @@ class HMSRNSDK(
1269
1339
  )
1270
1340
  }
1271
1341
  if (customError === null) {
1272
- callback?.resolve(emitHMSSuccess())
1342
+ callback?.resolve(getPromiseResolveData())
1273
1343
  } else {
1274
1344
  rejectCallback(callback, customError!!.message)
1275
1345
  }
@@ -1277,25 +1347,33 @@ class HMSRNSDK(
1277
1347
  rejectCallback(callback, "Audio tracks not found")
1278
1348
  }
1279
1349
 
1280
- fun setPlaybackForAllAudio(data: ReadableMap) {
1350
+ fun setPlaybackForAllAudio(
1351
+ data: ReadableMap,
1352
+ callback: Promise?,
1353
+ ) {
1281
1354
  val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("mute", "Boolean")))
1282
1355
  if (requiredKeys === null) {
1283
1356
  val mute = data.getBoolean("mute")
1284
- val peers = hmsSDK?.getRemotePeers()
1285
- if (peers != null) {
1286
- for (remotePeer in peers) {
1287
- val peerId = remotePeer.peerID
1288
- val peer = HMSHelper.getRemotePeerFromPeerId(peerId, hmsSDK?.getRoom())
1289
- peer?.audioTrack?.isPlaybackAllowed = !mute
1357
+ self.roomMutedLocally = mute
1358
+
1359
+ val allAudioTracks = HMSHelper.getAllAudioTracks(hmsSDK?.getRoom())
1360
+
1361
+ allAudioTracks?.forEach {
1362
+ if (it is HMSRemoteAudioTrack) {
1363
+ it.isPlaybackAllowed = !mute
1290
1364
  }
1291
1365
  }
1366
+ callback?.resolve(true)
1292
1367
  } else {
1293
1368
  val errorMessage = "setPlaybackForAllAudio: $requiredKeys"
1294
- self.emitRequiredKeysError(errorMessage)
1369
+ rejectCallback(callback, errorMessage)
1295
1370
  }
1296
1371
  }
1297
1372
 
1298
- fun setPlaybackAllowed(data: ReadableMap) {
1373
+ fun setPlaybackAllowed(
1374
+ data: ReadableMap,
1375
+ callback: Promise?,
1376
+ ) {
1299
1377
  val requiredKeys =
1300
1378
  HMSHelper.getUnavailableRequiredKey(
1301
1379
  data,
@@ -1308,12 +1386,16 @@ class HMSRNSDK(
1308
1386
  val remoteVideoTrack = HMSHelper.getRemoteVideoTrackFromTrackId(trackId, hmsSDK?.getRoom())
1309
1387
  if (remoteAudioTrack != null) {
1310
1388
  remoteAudioTrack.isPlaybackAllowed = playbackAllowed
1389
+ callback?.resolve(true)
1311
1390
  } else if (remoteVideoTrack != null) {
1312
1391
  remoteVideoTrack.isPlaybackAllowed = playbackAllowed
1392
+ callback?.resolve(true)
1393
+ } else {
1394
+ callback?.reject("101", "setPlaybackAllowed: No remote audio and video track found!")
1313
1395
  }
1314
1396
  } else {
1315
1397
  val errorMessage = "setPlaybackAllowed: $requiredKeys"
1316
- self.emitRequiredKeysError(errorMessage)
1398
+ rejectCallback(callback, errorMessage)
1317
1399
  }
1318
1400
  }
1319
1401
 
@@ -1341,7 +1423,6 @@ class HMSRNSDK(
1341
1423
  }
1342
1424
  } else {
1343
1425
  val errorMessage = "isPlaybackAllowed: $requiredKeys"
1344
- self.emitRequiredKeysError(errorMessage)
1345
1426
  rejectCallback(callback, errorMessage)
1346
1427
  }
1347
1428
  }
@@ -1366,7 +1447,10 @@ class HMSRNSDK(
1366
1447
  callback?.resolve(roles)
1367
1448
  }
1368
1449
 
1369
- fun setVolume(data: ReadableMap) {
1450
+ fun setVolume(
1451
+ data: ReadableMap,
1452
+ callback: Promise?,
1453
+ ) {
1370
1454
  val requiredKeys =
1371
1455
  HMSHelper.getUnavailableRequiredKey(
1372
1456
  data,
@@ -1385,6 +1469,7 @@ class HMSRNSDK(
1385
1469
 
1386
1470
  if (audioTrackId == trackId) {
1387
1471
  peer.audioTrack?.setVolume(volume)
1472
+ callback?.resolve(null)
1388
1473
  return
1389
1474
  }
1390
1475
 
@@ -1394,18 +1479,19 @@ class HMSRNSDK(
1394
1479
 
1395
1480
  if (trackExtracted != null) {
1396
1481
  trackExtracted.setVolume(volume)
1482
+ callback?.resolve(null)
1397
1483
  return
1398
1484
  }
1399
1485
  }
1400
1486
  }
1401
1487
  }
1402
- this.emitCustomError("TRACK_NOT_FOUND")
1488
+ callback?.reject("101", "TRACK_NOT_FOUND")
1403
1489
  } else {
1404
- this.emitCustomError("REMOTE_PEERS_NOT_FOUND")
1490
+ callback?.reject("101", "REMOTE_PEERS_NOT_FOUND")
1405
1491
  }
1406
1492
  } else {
1407
1493
  val errorMessage = "setVolume: $requiredKeys"
1408
- self.emitRequiredKeysError(errorMessage)
1494
+ rejectCallback(callback, errorMessage)
1409
1495
  }
1410
1496
  }
1411
1497
 
@@ -1427,7 +1513,6 @@ class HMSRNSDK(
1427
1513
  callback?.reject("101", "TRACK_IDS_DO_NOT_MATCH")
1428
1514
  } else {
1429
1515
  val errorMessage = "getVolume: $requiredKeys"
1430
- self.emitRequiredKeysError(errorMessage)
1431
1516
  rejectCallback(callback, errorMessage)
1432
1517
  }
1433
1518
  }
@@ -1446,7 +1531,7 @@ class HMSRNSDK(
1446
1531
  metadata,
1447
1532
  object : HMSActionResultListener {
1448
1533
  override fun onSuccess() {
1449
- callback?.resolve(emitHMSSuccess())
1534
+ callback?.resolve(getPromiseResolveData())
1450
1535
  }
1451
1536
 
1452
1537
  override fun onError(error: HMSException) {
@@ -1457,7 +1542,6 @@ class HMSRNSDK(
1457
1542
  }
1458
1543
  } else {
1459
1544
  val errorMessage = "changeMetadata: $requiredKeys"
1460
- self.emitRequiredKeysError(errorMessage)
1461
1545
  rejectCallback(callback, errorMessage)
1462
1546
  }
1463
1547
  }
@@ -1475,14 +1559,13 @@ class HMSRNSDK(
1475
1559
  val config = HMSHelper.getRtmpConfig(data)
1476
1560
  if (config === null) {
1477
1561
  val errorMessage = "startRTMPOrRecording: INVALID_MEETING_URL_PASSED"
1478
- self.emitRequiredKeysError(errorMessage)
1479
1562
  rejectCallback(callback, errorMessage)
1480
1563
  } else {
1481
1564
  hmsSDK?.startRtmpOrRecording(
1482
1565
  config,
1483
1566
  object : HMSActionResultListener {
1484
1567
  override fun onSuccess() {
1485
- callback?.resolve(emitHMSSuccess())
1568
+ callback?.resolve(getPromiseResolveData())
1486
1569
  }
1487
1570
 
1488
1571
  override fun onError(error: HMSException) {
@@ -1493,7 +1576,6 @@ class HMSRNSDK(
1493
1576
  }
1494
1577
  } else {
1495
1578
  val errorMessage = "startRTMPOrRecording: $requiredKeys"
1496
- self.emitRequiredKeysError(errorMessage)
1497
1579
  rejectCallback(callback, errorMessage)
1498
1580
  }
1499
1581
  }
@@ -1502,7 +1584,7 @@ class HMSRNSDK(
1502
1584
  hmsSDK?.stopRtmpAndRecording(
1503
1585
  object : HMSActionResultListener {
1504
1586
  override fun onSuccess() {
1505
- callback?.resolve(emitHMSSuccess())
1587
+ callback?.resolve(getPromiseResolveData())
1506
1588
  }
1507
1589
 
1508
1590
  override fun onError(error: HMSException) {
@@ -1514,6 +1596,7 @@ class HMSRNSDK(
1514
1596
 
1515
1597
  fun startScreenshare(callback: Promise?) {
1516
1598
  screenshareCallback = callback
1599
+ HMSManagerImpl.startingScreenShare = true
1517
1600
  runOnUiThread {
1518
1601
  val intent = Intent(context, HmsScreenshareActivity::class.java)
1519
1602
  intent.flags = FLAG_ACTIVITY_NEW_TASK
@@ -1536,12 +1619,14 @@ class HMSRNSDK(
1536
1619
 
1537
1620
  override fun onSuccess() {
1538
1621
  screenshareCallback = null
1539
- callback?.resolve(emitHMSSuccess())
1622
+ callback?.resolve(getPromiseResolveData())
1540
1623
  }
1541
1624
  },
1542
1625
  )
1543
1626
  }
1544
1627
 
1628
+ // region - HLS Streaming
1629
+
1545
1630
  fun startHLSStreaming(
1546
1631
  data: ReadableMap,
1547
1632
  callback: Promise?,
@@ -1551,7 +1636,7 @@ class HMSRNSDK(
1551
1636
  hlsConfig,
1552
1637
  object : HMSActionResultListener {
1553
1638
  override fun onSuccess() {
1554
- callback?.resolve(emitHMSSuccess())
1639
+ callback?.resolve(getPromiseResolveData())
1555
1640
  }
1556
1641
 
1557
1642
  override fun onError(error: HMSException) {
@@ -1566,7 +1651,7 @@ class HMSRNSDK(
1566
1651
  null,
1567
1652
  object : HMSActionResultListener {
1568
1653
  override fun onSuccess() {
1569
- callback?.resolve(emitHMSSuccess())
1654
+ callback?.resolve(getPromiseResolveData())
1570
1655
  }
1571
1656
 
1572
1657
  override fun onError(error: HMSException) {
@@ -1576,26 +1661,42 @@ class HMSRNSDK(
1576
1661
  )
1577
1662
  }
1578
1663
 
1579
- fun resetVolume() {
1580
- val remotePeers = hmsSDK?.getRemotePeers()
1664
+ fun sendHLSTimedMetadata(
1665
+ data: ReadableMap,
1666
+ callback: Promise?,
1667
+ ) {
1668
+ val metadataArrayList = data.getArray("metadata")?.toArrayList() as? ArrayList<HashMap<String, Any>>
1669
+
1670
+ if (metadataArrayList == null) {
1671
+ val errorMessage = "sendHLSTimedMetadata: INVALID_METADATA"
1672
+ rejectCallback(callback, errorMessage)
1673
+ return
1674
+ }
1581
1675
 
1582
- if (remotePeers != null) {
1583
- for (peer in remotePeers) {
1584
- val playbackAllowed = peer.audioTrack?.isPlaybackAllowed
1585
- if (playbackAllowed !== null && playbackAllowed) {
1586
- peer.audioTrack?.setVolume(10.0)
1676
+ val metadata =
1677
+ metadataArrayList.mapNotNull { map ->
1678
+ val payload = map["payload"] as? String
1679
+ val duration = map["duration"] as? Double
1680
+
1681
+ payload?.let { HMSHLSTimedMetadata(it, duration?.toLong() ?: 1) }
1682
+ }
1683
+
1684
+ hmsSDK?.setHlsSessionMetadata(
1685
+ metadata,
1686
+ object : HMSActionResultListener {
1687
+ override fun onSuccess() {
1688
+ callback?.resolve(true)
1587
1689
  }
1588
- val auxTracks = peer.auxiliaryTracks
1589
1690
 
1590
- for (track in auxTracks) {
1591
- if (track.type === HMSTrackType.AUDIO) {
1592
- (track as? HMSRemoteAudioTrack)?.setVolume(10.0)
1593
- }
1691
+ override fun onError(error: HMSException) {
1692
+ callback?.reject(error.code.toString(), error.message)
1594
1693
  }
1595
- }
1596
- }
1694
+ },
1695
+ )
1597
1696
  }
1598
1697
 
1698
+ // endregion
1699
+
1599
1700
  fun changeName(
1600
1701
  data: ReadableMap,
1601
1702
  callback: Promise?,
@@ -1608,7 +1709,7 @@ class HMSRNSDK(
1608
1709
  name,
1609
1710
  object : HMSActionResultListener {
1610
1711
  override fun onSuccess() {
1611
- callback?.resolve(emitHMSSuccess())
1712
+ callback?.resolve(getPromiseResolveData())
1612
1713
  }
1613
1714
 
1614
1715
  override fun onError(error: HMSException) {
@@ -1617,12 +1718,10 @@ class HMSRNSDK(
1617
1718
  },
1618
1719
  )
1619
1720
  } else {
1620
- self.emitCustomError("NAME_UNDEFINED")
1621
1721
  callback?.reject("101", "NAME_UNDEFINED")
1622
1722
  }
1623
1723
  } else {
1624
1724
  val errorMessage = "changeName: $requiredKeys"
1625
- self.emitRequiredKeysError(errorMessage)
1626
1725
  rejectCallback(callback, errorMessage)
1627
1726
  }
1628
1727
  }
@@ -1643,26 +1742,38 @@ class HMSRNSDK(
1643
1742
  callback?.resolve(hmsSDK?.getAudioOutputRouteType()?.name)
1644
1743
  }
1645
1744
 
1646
- fun switchAudioOutput(data: ReadableMap) {
1745
+ fun switchAudioOutput(
1746
+ data: ReadableMap,
1747
+ callback: Promise?,
1748
+ ) {
1647
1749
  val requiredKeys =
1648
1750
  HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("audioDevice", "String")))
1649
1751
  if (requiredKeys === null) {
1650
1752
  val audioDevice = data.getString("audioDevice")
1651
- hmsSDK?.switchAudioOutput(HMSHelper.getAudioDevice(audioDevice))
1753
+ hmsSDK?.let {
1754
+ it.switchAudioOutput(HMSHelper.getAudioDevice(audioDevice))
1755
+ callback?.resolve(null)
1756
+ }
1652
1757
  } else {
1653
1758
  val errorMessage = "switchAudioOutput: $requiredKeys"
1654
- self.emitRequiredKeysError(errorMessage)
1759
+ rejectCallback(callback, errorMessage)
1655
1760
  }
1656
1761
  }
1657
1762
 
1658
- fun setAudioMode(data: ReadableMap) {
1763
+ fun setAudioMode(
1764
+ data: ReadableMap,
1765
+ callback: Promise?,
1766
+ ) {
1659
1767
  val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("audioMode", "Int")))
1660
1768
  if (requiredKeys === null) {
1661
1769
  val audioMode = data.getInt("audioMode")
1662
- hmsSDK?.setAudioMode(audioMode)
1770
+ hmsSDK?.let {
1771
+ it.setAudioMode(audioMode)
1772
+ callback?.resolve(true)
1773
+ }
1663
1774
  } else {
1664
1775
  val errorMessage = "setAudioMode: $requiredKeys"
1665
- self.emitRequiredKeysError(errorMessage)
1776
+ rejectCallback(callback, errorMessage)
1666
1777
  }
1667
1778
  }
1668
1779
 
@@ -1670,21 +1781,22 @@ class HMSRNSDK(
1670
1781
  hmsSDK?.setAudioDeviceChangeListener(
1671
1782
  object : HMSAudioManager.AudioManagerDeviceChangeListener {
1672
1783
  override fun onAudioDeviceChanged(
1673
- device: HMSAudioManager.AudioDevice?,
1674
- audioDevicesList: Set<HMSAudioManager.AudioDevice>?,
1784
+ selectedAudioDevice: HMSAudioManager.AudioDevice,
1785
+ availableAudioDevices: Set<HMSAudioManager.AudioDevice>,
1675
1786
  ) {
1676
1787
  if (eventsEnableStatus["ON_AUDIO_DEVICE_CHANGED"] != true) {
1677
1788
  return
1678
1789
  }
1790
+
1679
1791
  val data: WritableMap = Arguments.createMap()
1680
- data.putString("device", device?.name)
1681
- data.putArray("audioDevicesList", HMSHelper.getAudioDevicesSet(audioDevicesList))
1792
+ data.putString("device", selectedAudioDevice.name)
1793
+ data.putArray("audioDevicesList", HMSHelper.getAudioDevicesSet(availableAudioDevices))
1682
1794
  data.putString("id", id)
1683
1795
  delegate.emitEvent("ON_AUDIO_DEVICE_CHANGED", data)
1684
1796
  }
1685
1797
 
1686
- override fun onError(error: HMSException) {
1687
- self.emitHMSError(error)
1798
+ override fun onError(e: HMSException) {
1799
+ self.emitHMSError(e)
1688
1800
  }
1689
1801
  },
1690
1802
  )
@@ -1707,7 +1819,6 @@ class HMSRNSDK(
1707
1819
  }
1708
1820
  } else {
1709
1821
  val errorMessage = "startAudioshare: $requiredKeys"
1710
- self.emitRequiredKeysError(errorMessage)
1711
1822
  rejectCallback(callback, errorMessage)
1712
1823
  }
1713
1824
  }
@@ -1727,15 +1838,13 @@ class HMSRNSDK(
1727
1838
  override fun onSuccess() {
1728
1839
  isAudioSharing = false
1729
1840
  audioshareCallback = null
1730
- callback?.resolve(emitHMSSuccess())
1841
+ callback?.resolve(true)
1731
1842
  }
1732
1843
  },
1733
1844
  )
1734
1845
  }
1735
1846
 
1736
- fun getAudioMixingMode(): AudioMixingMode {
1737
- return audioMixingMode
1738
- }
1847
+ fun getAudioMixingMode(): AudioMixingMode = audioMixingMode
1739
1848
 
1740
1849
  fun setAudioMixingMode(
1741
1850
  data: ReadableMap,
@@ -1747,10 +1856,9 @@ class HMSRNSDK(
1747
1856
  val mode = HMSHelper.getAudioMixingMode(data.getString("audioMixingMode"))
1748
1857
  audioMixingMode = mode
1749
1858
  hmsSDK?.setAudioMixingMode(mode)
1750
- callback?.resolve(emitHMSSuccess())
1859
+ callback?.resolve(true)
1751
1860
  } else {
1752
1861
  val errorMessage = "setAudioMixingMode: $requiredKeys"
1753
- self.emitRequiredKeysError(errorMessage)
1754
1862
  rejectCallback(callback, errorMessage)
1755
1863
  }
1756
1864
  }
@@ -1782,6 +1890,9 @@ class HMSRNSDK(
1782
1890
  "isLocal" -> {
1783
1891
  result.putBoolean("isLocal", peer.isLocal)
1784
1892
  }
1893
+ "type" -> {
1894
+ result.putString("type", peer.type.name)
1895
+ }
1785
1896
  "networkQuality" -> {
1786
1897
  if (peer.networkQuality !== null) {
1787
1898
  result.putMap("networkQuality", HMSDecoder.getHmsNetworkQuality(peer.networkQuality))
@@ -1880,6 +1991,12 @@ class HMSRNSDK(
1880
1991
  "hlsRecordingState" -> {
1881
1992
  data.putMap("hlsRecordingState", HMSDecoder.getHMSHlsRecordingState(hmsRoom.hlsRecordingState))
1882
1993
  }
1994
+ "isLargeRoom" -> {
1995
+ data.putBoolean("isLargeRoom", hmsRoom.isLargeRoom)
1996
+ }
1997
+ "transcriptions" -> {
1998
+ data.putArray("transcriptions", HMSDecoder.getTranscriptionsList(hmsRoom.transcriptions))
1999
+ }
1883
2000
  }
1884
2001
 
1885
2002
  return data
@@ -1899,11 +2016,10 @@ class HMSRNSDK(
1899
2016
 
1900
2017
  if (eventType != null) {
1901
2018
  eventsEnableStatus[eventType] = true
1902
- promise?.resolve(emitHMSSuccess())
2019
+ promise?.resolve(getPromiseResolveData())
1903
2020
  }
1904
2021
  } else {
1905
2022
  val errorMessage = "enableEvent: $requiredKeys"
1906
- self.emitRequiredKeysError(errorMessage)
1907
2023
  rejectCallback(promise, errorMessage)
1908
2024
  }
1909
2025
  }
@@ -1919,11 +2035,10 @@ class HMSRNSDK(
1919
2035
 
1920
2036
  if (eventType != null) {
1921
2037
  eventsEnableStatus[eventType] = false
1922
- promise?.resolve(emitHMSSuccess())
2038
+ promise?.resolve(getPromiseResolveData())
1923
2039
  }
1924
2040
  } else {
1925
2041
  val errorMessage = "disableEvent: $requiredKeys"
1926
- self.emitRequiredKeysError(errorMessage)
1927
2042
  rejectCallback(promise, errorMessage)
1928
2043
  }
1929
2044
  }
@@ -1938,11 +2053,10 @@ class HMSRNSDK(
1938
2053
  val roleName = data.getString("roleName")
1939
2054
  if (roleName != null) {
1940
2055
  HMSDecoder.setRestrictRoleData(roleName, true)
1941
- promise?.resolve(emitHMSSuccess())
2056
+ promise?.resolve(getPromiseResolveData())
1942
2057
  }
1943
2058
  } else {
1944
2059
  val errorMessage = "restrictData: $requiredKeys"
1945
- self.emitRequiredKeysError(errorMessage)
1946
2060
  rejectCallback(promise, errorMessage)
1947
2061
  }
1948
2062
  }
@@ -1962,7 +2076,6 @@ class HMSRNSDK(
1962
2076
  }
1963
2077
  } else {
1964
2078
  val errorMessage = "getRemoteVideoTrackFromTrackId: $requiredKeys"
1965
- self.emitRequiredKeysError(errorMessage)
1966
2079
  rejectCallback(promise, errorMessage)
1967
2080
  }
1968
2081
  }
@@ -1982,7 +2095,6 @@ class HMSRNSDK(
1982
2095
  }
1983
2096
  } else {
1984
2097
  val errorMessage = "getRemoteAudioTrackFromTrackId: $requiredKeys"
1985
- self.emitRequiredKeysError(errorMessage)
1986
2098
  rejectCallback(promise, errorMessage)
1987
2099
  }
1988
2100
  }
@@ -2003,7 +2115,6 @@ class HMSRNSDK(
2003
2115
  }
2004
2116
  } else {
2005
2117
  val errorMessage = "getVideoTrackLayer: $requiredKeys"
2006
- self.emitRequiredKeysError(errorMessage)
2007
2118
  rejectCallback(promise, errorMessage)
2008
2119
  }
2009
2120
  }
@@ -2025,7 +2136,6 @@ class HMSRNSDK(
2025
2136
  }
2026
2137
  } else {
2027
2138
  val errorMessage = "getVideoTrackLayerDefinition: $requiredKeys"
2028
- self.emitRequiredKeysError(errorMessage)
2029
2139
  rejectCallback(promise, errorMessage)
2030
2140
  }
2031
2141
  }
@@ -2057,7 +2167,6 @@ class HMSRNSDK(
2057
2167
  }
2058
2168
  } else {
2059
2169
  val errorMessage = "setVideoTrackLayer: $requiredKeys"
2060
- self.emitRequiredKeysError(errorMessage)
2061
2170
  rejectCallback(promise, errorMessage)
2062
2171
  }
2063
2172
  }
@@ -2135,7 +2244,7 @@ class HMSRNSDK(
2135
2244
  savePath,
2136
2245
  ) { success ->
2137
2246
  if (flashActionOnSuccess > 0) {
2138
- cameraControl.setFlash(flashActionOnSuccess === 1)
2247
+ cameraControl.setFlash(flashActionOnSuccess == 1)
2139
2248
  }
2140
2249
  if (success) {
2141
2250
  promise?.resolve(imagePath)
@@ -2145,7 +2254,6 @@ class HMSRNSDK(
2145
2254
  }
2146
2255
  } else {
2147
2256
  val errorMessage = "captureImageAtMaxSupportedResolution: $requiredKeys"
2148
- self.emitRequiredKeysError(errorMessage)
2149
2257
  rejectCallback(promise, errorMessage)
2150
2258
  }
2151
2259
  }
@@ -2159,7 +2267,6 @@ class HMSRNSDK(
2159
2267
  val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("key", "String")))
2160
2268
  if (requiredKeys === null) {
2161
2269
  val key = data.getString("key")!!
2162
- val value = data.getString("value")
2163
2270
 
2164
2271
  sessionStore.let {
2165
2272
  if (it === null) {
@@ -2168,18 +2275,27 @@ class HMSRNSDK(
2168
2275
  return
2169
2276
  }
2170
2277
 
2278
+ val value: Any? =
2279
+ when (data.getType("value")) {
2280
+ ReadableType.Boolean -> data.getBoolean("value")
2281
+ ReadableType.Map -> data.getMap("value")?.toHashMap()
2282
+ ReadableType.String -> data.getString("value")
2283
+ ReadableType.Array -> data.getArray("value")?.toArrayList()
2284
+ ReadableType.Number -> data.getDouble("value")
2285
+ ReadableType.Null -> null
2286
+ }
2287
+
2171
2288
  it.set(
2172
2289
  value, // data/value
2173
2290
  key, // key
2174
2291
  object : HMSActionResultListener {
2175
2292
  override fun onError(error: HMSException) {
2176
- promise?.reject(error.code.toString(), error.message)
2293
+ promise?.reject(error.code.toString(), error.description)
2177
2294
  }
2178
2295
 
2179
2296
  override fun onSuccess() {
2180
2297
  val result: WritableMap = Arguments.createMap()
2181
2298
  result.putBoolean("success", true)
2182
- result.putString("finalValue", value)
2183
2299
  promise?.resolve(result)
2184
2300
  }
2185
2301
  },
@@ -2219,9 +2335,13 @@ class HMSRNSDK(
2219
2335
  promise?.resolve(null)
2220
2336
  } else {
2221
2337
  if (sm.isJsonPrimitive) {
2222
- promise?.resolve(sm.asString)
2338
+ promise?.resolve(sm)
2223
2339
  } else if (sm.isJsonNull) {
2224
2340
  promise?.resolve(null)
2341
+ } else if (sm.isJsonArray) {
2342
+ promise?.resolve(HMSDecoder.getReadableArrayFromJsonArray(sm.asJsonArray))
2343
+ } else if (sm.isJsonObject) {
2344
+ promise?.resolve(HMSDecoder.getReadableMapFromJsonObject(sm.asJsonObject))
2225
2345
  } else {
2226
2346
  promise?.resolve(sm.toString())
2227
2347
  }
@@ -2265,12 +2385,23 @@ class HMSRNSDK(
2265
2385
 
2266
2386
  value.let { sm ->
2267
2387
  if (sm == null) {
2268
- map.putString("value", null)
2388
+ map.putNull("value")
2269
2389
  } else {
2270
2390
  if (sm.isJsonPrimitive) {
2271
- map.putString("value", sm.asString)
2391
+ val primitive = sm.asJsonPrimitive
2392
+ if (primitive.isBoolean) {
2393
+ map.putBoolean("value", primitive.asBoolean)
2394
+ } else if (primitive.isNumber) {
2395
+ map.putDouble("value", primitive.asDouble)
2396
+ } else {
2397
+ map.putString("value", sm.asString)
2398
+ }
2272
2399
  } else if (sm.isJsonNull) {
2273
- map.putString("value", null)
2400
+ map.putNull("value")
2401
+ } else if (sm.isJsonArray) {
2402
+ map.putArray("value", HMSDecoder.getReadableArrayFromJsonArray(sm.asJsonArray))
2403
+ } else if (sm.isJsonObject) {
2404
+ map.putMap("value", HMSDecoder.getReadableMapFromJsonObject(sm.asJsonObject))
2274
2405
  } else {
2275
2406
  map.putString("value", sm.toString())
2276
2407
  }
@@ -2433,7 +2564,12 @@ class HMSRNSDK(
2433
2564
  }
2434
2565
 
2435
2566
  fun getPeerListIterator(data: ReadableMap): WritableMap? {
2436
- val uniqueId = data.getInt("uniqueId")
2567
+ val uniqueId = data.getString("uniqueId")
2568
+ if (uniqueId == null) {
2569
+ print("Error in getPeerListIterator: uniqueId is not available")
2570
+ return null
2571
+ }
2572
+
2437
2573
  val options = HMSHelper.getPeerListIteratorOptions(data)
2438
2574
 
2439
2575
  hmsSDK?.let {
@@ -2442,7 +2578,7 @@ class HMSRNSDK(
2442
2578
  peerListIterators[uniqueId] = iterator
2443
2579
  val map = Arguments.createMap()
2444
2580
  map.putBoolean("success", true)
2445
- map.putInt("uniqueId", uniqueId)
2581
+ map.putString("uniqueId", uniqueId)
2446
2582
  return map
2447
2583
  }
2448
2584
  print("Error in getPeerListIterator: HMS SDK is not available")
@@ -2453,7 +2589,7 @@ class HMSRNSDK(
2453
2589
  data: ReadableMap,
2454
2590
  promise: Promise?,
2455
2591
  ) {
2456
- val uniqueId = data.getInt("uniqueId")
2592
+ val uniqueId = data.getString("uniqueId")
2457
2593
 
2458
2594
  peerListIterators[uniqueId]?.let {
2459
2595
  promise?.resolve(it.hasNext())
@@ -2466,7 +2602,7 @@ class HMSRNSDK(
2466
2602
  data: ReadableMap,
2467
2603
  promise: Promise?,
2468
2604
  ) {
2469
- val uniqueId = data.getInt("uniqueId")
2605
+ val uniqueId = data.getString("uniqueId")
2470
2606
 
2471
2607
  val peerListIterator = peerListIterators[uniqueId]
2472
2608
 
@@ -2482,14 +2618,69 @@ class HMSRNSDK(
2482
2618
  }
2483
2619
 
2484
2620
  override fun onSuccess(result: ArrayList<HMSPeer>) {
2485
- val array = Arguments.createArray()
2621
+ val resultData: WritableMap = Arguments.createMap()
2622
+
2623
+ resultData.putInt("totalCount", peerListIterator.totalCount)
2624
+
2625
+ val array: WritableArray = Arguments.createArray()
2486
2626
  for (peer in result) {
2487
- val hmsPeer = HMSDecoder.getHmsPeerSubset(peer, null)
2627
+ val hmsPeer = HMSDecoder.getHmsPeer(peer)
2488
2628
  array.pushMap(hmsPeer)
2489
2629
  }
2490
- promise?.resolve(array)
2630
+
2631
+ resultData.putArray("peers", array)
2632
+
2633
+ promise?.resolve(resultData)
2634
+ }
2635
+ },
2636
+ )
2637
+ }
2638
+
2639
+ // region Webrtc Transcription
2640
+ fun handleRealTimeTranscription(
2641
+ data: ReadableMap,
2642
+ promise: Promise?,
2643
+ ) {
2644
+ when (data.getString("action")) {
2645
+ "start" -> startRealTimeTranscription(data, promise)
2646
+ "stop" -> stopRealTimeTranscription(data, promise)
2647
+ }
2648
+ }
2649
+
2650
+ private fun startRealTimeTranscription(
2651
+ data: ReadableMap,
2652
+ promise: Promise?,
2653
+ ) {
2654
+ hmsSDK?.startRealTimeTranscription(
2655
+ TranscriptionsMode.CAPTION,
2656
+ object : HMSActionResultListener {
2657
+ override fun onError(error: HMSException) {
2658
+ promise?.reject(error.code.toString(), error.message)
2659
+ }
2660
+
2661
+ override fun onSuccess() {
2662
+ promise?.resolve(true)
2663
+ }
2664
+ },
2665
+ )
2666
+ }
2667
+
2668
+ private fun stopRealTimeTranscription(
2669
+ data: ReadableMap,
2670
+ promise: Promise?,
2671
+ ) {
2672
+ hmsSDK?.stopRealTimeTranscription(
2673
+ TranscriptionsMode.CAPTION,
2674
+ object : HMSActionResultListener {
2675
+ override fun onError(error: HMSException) {
2676
+ promise?.reject(error.code.toString(), error.message)
2677
+ }
2678
+
2679
+ override fun onSuccess() {
2680
+ promise?.resolve(true)
2491
2681
  }
2492
2682
  },
2493
2683
  )
2494
2684
  }
2685
+ // endregion Webrtc Transcription
2495
2686
  }