@100mslive/react-native-hms 0.9.93 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/README.md +54 -13
  2. package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
  3. package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
  4. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  5. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  6. package/android/.gradle/checksums/checksums.lock +0 -0
  7. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  8. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  9. package/android/.idea/jarRepositories.xml +10 -0
  10. package/android/.idea/libraries/Gradle__androidx_tracing_tracing_1_1_0_aar.xml +13 -0
  11. package/android/.idea/libraries/Gradle__com_facebook_fbjni_fbjni_0_3_0_aar.xml +14 -0
  12. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_71_0_rc_0_debug_aar.xml +14 -0
  13. package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_10_4.xml +13 -0
  14. package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_10_4.xml +13 -0
  15. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_10_4_aar.xml +14 -0
  16. package/android/.idea/libraries/Gradle__com_github_100mslive_android_sdk_lib_2_5_1_aar.xml +10 -0
  17. package/android/.idea/libraries/Gradle__com_github_100mslive_webrtc_m104_hms_1_3_aar.xml +10 -0
  18. package/android/.idea/modules/android.androidTest.iml +35 -33
  19. package/android/.idea/modules/android.main.iml +36 -33
  20. package/android/.idea/modules/android.unitTest.iml +35 -33
  21. package/android/.idea/sonarlint/issuestore/3/c/3c46088b6add3088181589d8ed726652742b6221 +5 -0
  22. package/android/.idea/sonarlint/issuestore/a/8/a8c9f5ddd88723818e51ae3cf8693d02355a8691 +0 -0
  23. package/android/.idea/sonarlint/issuestore/index.pb +5 -1
  24. package/android/build.gradle +12 -10
  25. package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +8 -25
  26. package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +119 -89
  27. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +196 -0
  28. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +99 -40
  29. package/android/src/main/java/com/reactnativehmssdk/HMSView.kt +1 -1
  30. package/ios/HMSDecoder.swift +17 -15
  31. package/ios/HMSHelper.swift +52 -22
  32. package/ios/HMSManager.m +7 -0
  33. package/ios/HMSManager.swift +62 -14
  34. package/ios/HMSRNSDK.swift +71 -30
  35. package/ios/Hmssdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  36. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  37. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/yogesh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  38. package/ios/Hmssdk.xcodeproj/xcuserdata/yogesh.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  39. package/lib/commonjs/classes/HMSAudioCodec.js +0 -1
  40. package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
  41. package/lib/commonjs/classes/HMSAudioDevice.js +0 -1
  42. package/lib/commonjs/classes/HMSAudioDevice.js.map +1 -1
  43. package/lib/commonjs/classes/HMSAudioFilePlayerNode.js +0 -14
  44. package/lib/commonjs/classes/HMSAudioFilePlayerNode.js.map +1 -1
  45. package/lib/commonjs/classes/HMSAudioMixerSource.js +3 -7
  46. package/lib/commonjs/classes/HMSAudioMixerSource.js.map +1 -1
  47. package/lib/commonjs/classes/HMSAudioMixingMode.js +0 -1
  48. package/lib/commonjs/classes/HMSAudioMixingMode.js.map +1 -1
  49. package/lib/commonjs/classes/HMSAudioMode.js +0 -1
  50. package/lib/commonjs/classes/HMSAudioMode.js.map +1 -1
  51. package/lib/commonjs/classes/HMSAudioNode.js +3 -8
  52. package/lib/commonjs/classes/HMSAudioNode.js.map +1 -1
  53. package/lib/commonjs/classes/HMSAudioSettings.js +3 -7
  54. package/lib/commonjs/classes/HMSAudioSettings.js.map +1 -1
  55. package/lib/commonjs/classes/HMSAudioTrack.js +0 -4
  56. package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
  57. package/lib/commonjs/classes/HMSAudioTrackSettings.js +9 -17
  58. package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
  59. package/lib/commonjs/classes/HMSBrowserRecordingState.js +3 -9
  60. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
  61. package/lib/commonjs/classes/HMSCameraFacing.js +0 -1
  62. package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
  63. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js +3 -8
  64. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
  65. package/lib/commonjs/classes/HMSConfig.js +3 -10
  66. package/lib/commonjs/classes/HMSConfig.js.map +1 -1
  67. package/lib/commonjs/classes/HMSEncoder.js +12 -86
  68. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  69. package/lib/commonjs/classes/HMSException.js +5 -12
  70. package/lib/commonjs/classes/HMSException.js.map +1 -1
  71. package/lib/commonjs/classes/HMSHLSConfig.js +3 -7
  72. package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -1
  73. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js +3 -7
  74. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  75. package/lib/commonjs/classes/HMSHLSRecordingConfig.js +3 -7
  76. package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -1
  77. package/lib/commonjs/classes/HMSHLSRecordingState.js +3 -9
  78. package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -1
  79. package/lib/commonjs/classes/HMSHLSStreamingState.js +3 -7
  80. package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -1
  81. package/lib/commonjs/classes/HMSHLSVariant.js +3 -9
  82. package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -1
  83. package/lib/commonjs/classes/HMSHelper.js +0 -3
  84. package/lib/commonjs/classes/HMSHelper.js.map +1 -1
  85. package/lib/commonjs/classes/HMSLocalAudioStats.js +3 -8
  86. package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -1
  87. package/lib/commonjs/classes/HMSLocalAudioTrack.js +3 -16
  88. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  89. package/lib/commonjs/classes/HMSLocalPeer.js +3 -15
  90. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  91. package/lib/commonjs/classes/HMSLocalVideoStats.js +3 -10
  92. package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -1
  93. package/lib/commonjs/classes/HMSLocalVideoTrack.js +3 -16
  94. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  95. package/lib/commonjs/classes/HMSLogAlarmManager.js +14 -0
  96. package/lib/commonjs/classes/HMSLogAlarmManager.js.map +1 -0
  97. package/lib/commonjs/classes/HMSLogLevel.js +0 -1
  98. package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
  99. package/lib/commonjs/classes/HMSLogSettings.js +21 -0
  100. package/lib/commonjs/classes/HMSLogSettings.js.map +1 -0
  101. package/lib/commonjs/classes/HMSLogger.js +3 -31
  102. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  103. package/lib/commonjs/classes/HMSMessage.js +4 -10
  104. package/lib/commonjs/classes/HMSMessage.js.map +1 -1
  105. package/lib/commonjs/classes/HMSMessageRecipient.js +3 -8
  106. package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -1
  107. package/lib/commonjs/classes/HMSMessageRecipientType.js +0 -1
  108. package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
  109. package/lib/commonjs/classes/HMSMessageType.js +13 -0
  110. package/lib/commonjs/classes/HMSMessageType.js.map +1 -0
  111. package/lib/commonjs/classes/HMSMicNode.js +0 -7
  112. package/lib/commonjs/classes/HMSMicNode.js.map +1 -1
  113. package/lib/commonjs/classes/HMSNetworkQuality.js +3 -6
  114. package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -1
  115. package/lib/commonjs/classes/HMSPeer.js +3 -16
  116. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  117. package/lib/commonjs/classes/HMSPeerUpdate.js +0 -1
  118. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  119. package/lib/commonjs/classes/HMSPermissions.js +3 -13
  120. package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
  121. package/lib/commonjs/classes/HMSPublishSettings.js +3 -12
  122. package/lib/commonjs/classes/HMSPublishSettings.js.map +1 -1
  123. package/lib/commonjs/classes/HMSRTCStats.js +3 -12
  124. package/lib/commonjs/classes/HMSRTCStats.js.map +1 -1
  125. package/lib/commonjs/classes/HMSRTCStatsReport.js +3 -8
  126. package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -1
  127. package/lib/commonjs/classes/HMSRTMPConfig.js +3 -9
  128. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  129. package/lib/commonjs/classes/HMSRemoteAudioStats.js +3 -10
  130. package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -1
  131. package/lib/commonjs/classes/HMSRemoteAudioTrack.js +3 -11
  132. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  133. package/lib/commonjs/classes/HMSRemotePeer.js +3 -15
  134. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  135. package/lib/commonjs/classes/HMSRemoteVideoStats.js +3 -12
  136. package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -1
  137. package/lib/commonjs/classes/HMSRemoteVideoTrack.js +3 -13
  138. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  139. package/lib/commonjs/classes/HMSRole.js +3 -13
  140. package/lib/commonjs/classes/HMSRole.js.map +1 -1
  141. package/lib/commonjs/classes/HMSRoleChangeRequest.js +3 -7
  142. package/lib/commonjs/classes/HMSRoleChangeRequest.js.map +1 -1
  143. package/lib/commonjs/classes/HMSRoom.js +5 -16
  144. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  145. package/lib/commonjs/classes/HMSRoomUpdate.js +0 -1
  146. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  147. package/lib/commonjs/classes/HMSRtmpStreamingState.js +3 -9
  148. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
  149. package/lib/commonjs/classes/HMSRtmpVideoResolution.js +3 -7
  150. package/lib/commonjs/classes/HMSRtmpVideoResolution.js.map +1 -1
  151. package/lib/commonjs/classes/HMSSDK.js +172 -382
  152. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  153. package/lib/commonjs/classes/HMSScreenBroadcastAudioReceiverNode.js +0 -4
  154. package/lib/commonjs/classes/HMSScreenBroadcastAudioReceiverNode.js.map +1 -1
  155. package/lib/commonjs/classes/HMSServerRecordingState.js +3 -8
  156. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
  157. package/lib/commonjs/classes/HMSSimulcastLayerSettings.js +3 -9
  158. package/lib/commonjs/classes/HMSSimulcastLayerSettings.js.map +1 -1
  159. package/lib/commonjs/classes/HMSSimulcastSettings.js +3 -7
  160. package/lib/commonjs/classes/HMSSimulcastSettings.js.map +1 -1
  161. package/lib/commonjs/classes/HMSSpeaker.js +3 -8
  162. package/lib/commonjs/classes/HMSSpeaker.js.map +1 -1
  163. package/lib/commonjs/classes/HMSSubscribeSettings.js +5 -10
  164. package/lib/commonjs/classes/HMSSubscribeSettings.js.map +1 -1
  165. package/lib/commonjs/classes/HMSTrack.js +3 -12
  166. package/lib/commonjs/classes/HMSTrack.js.map +1 -1
  167. package/lib/commonjs/classes/HMSTrackSettings.js +3 -10
  168. package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
  169. package/lib/commonjs/classes/HMSTrackSettingsInitState.js +13 -0
  170. package/lib/commonjs/classes/HMSTrackSettingsInitState.js.map +1 -0
  171. package/lib/commonjs/classes/HMSTrackSource.js +0 -1
  172. package/lib/commonjs/classes/HMSTrackSource.js.map +1 -1
  173. package/lib/commonjs/classes/HMSTrackType.js +0 -1
  174. package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
  175. package/lib/commonjs/classes/HMSTrackUpdate.js +0 -1
  176. package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
  177. package/lib/commonjs/classes/HMSUpdateListenerActions.js +0 -1
  178. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  179. package/lib/commonjs/classes/HMSVideoCodec.js +0 -1
  180. package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
  181. package/lib/commonjs/classes/HMSVideoResolution.js +3 -7
  182. package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -1
  183. package/lib/commonjs/classes/HMSVideoSettings.js +3 -10
  184. package/lib/commonjs/classes/HMSVideoSettings.js.map +1 -1
  185. package/lib/commonjs/classes/HMSVideoTrack.js +3 -12
  186. package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
  187. package/lib/commonjs/classes/HMSVideoTrackSettings.js +14 -24
  188. package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
  189. package/lib/commonjs/classes/HMSVideoViewMode.js +0 -1
  190. package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
  191. package/lib/commonjs/classes/HmsView.js +20 -26
  192. package/lib/commonjs/classes/HmsView.js.map +1 -1
  193. package/lib/commonjs/index.js +48 -144
  194. package/lib/commonjs/index.js.map +1 -1
  195. package/lib/module/classes/HMSAudioCodec.js +0 -1
  196. package/lib/module/classes/HMSAudioCodec.js.map +1 -1
  197. package/lib/module/classes/HMSAudioDevice.js +0 -1
  198. package/lib/module/classes/HMSAudioDevice.js.map +1 -1
  199. package/lib/module/classes/HMSAudioFilePlayerNode.js +0 -9
  200. package/lib/module/classes/HMSAudioFilePlayerNode.js.map +1 -1
  201. package/lib/module/classes/HMSAudioMixerSource.js +3 -5
  202. package/lib/module/classes/HMSAudioMixerSource.js.map +1 -1
  203. package/lib/module/classes/HMSAudioMixingMode.js +0 -1
  204. package/lib/module/classes/HMSAudioMixingMode.js.map +1 -1
  205. package/lib/module/classes/HMSAudioMode.js +0 -1
  206. package/lib/module/classes/HMSAudioMode.js.map +1 -1
  207. package/lib/module/classes/HMSAudioNode.js +3 -6
  208. package/lib/module/classes/HMSAudioNode.js.map +1 -1
  209. package/lib/module/classes/HMSAudioSettings.js +3 -5
  210. package/lib/module/classes/HMSAudioSettings.js.map +1 -1
  211. package/lib/module/classes/HMSAudioTrack.js +0 -1
  212. package/lib/module/classes/HMSAudioTrack.js.map +1 -1
  213. package/lib/module/classes/HMSAudioTrackSettings.js +9 -15
  214. package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
  215. package/lib/module/classes/HMSBrowserRecordingState.js +3 -7
  216. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
  217. package/lib/module/classes/HMSCameraFacing.js +0 -1
  218. package/lib/module/classes/HMSCameraFacing.js.map +1 -1
  219. package/lib/module/classes/HMSChangeTrackStateRequest.js +3 -6
  220. package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
  221. package/lib/module/classes/HMSConfig.js +3 -8
  222. package/lib/module/classes/HMSConfig.js.map +1 -1
  223. package/lib/module/classes/HMSEncoder.js +12 -54
  224. package/lib/module/classes/HMSEncoder.js.map +1 -1
  225. package/lib/module/classes/HMSException.js +5 -10
  226. package/lib/module/classes/HMSException.js.map +1 -1
  227. package/lib/module/classes/HMSHLSConfig.js +3 -5
  228. package/lib/module/classes/HMSHLSConfig.js.map +1 -1
  229. package/lib/module/classes/HMSHLSMeetingURLVariant.js +3 -5
  230. package/lib/module/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  231. package/lib/module/classes/HMSHLSRecordingConfig.js +3 -5
  232. package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -1
  233. package/lib/module/classes/HMSHLSRecordingState.js +3 -7
  234. package/lib/module/classes/HMSHLSRecordingState.js.map +1 -1
  235. package/lib/module/classes/HMSHLSStreamingState.js +3 -5
  236. package/lib/module/classes/HMSHLSStreamingState.js.map +1 -1
  237. package/lib/module/classes/HMSHLSVariant.js +3 -7
  238. package/lib/module/classes/HMSHLSVariant.js.map +1 -1
  239. package/lib/module/classes/HMSHelper.js +0 -1
  240. package/lib/module/classes/HMSHelper.js.map +1 -1
  241. package/lib/module/classes/HMSLocalAudioStats.js +3 -6
  242. package/lib/module/classes/HMSLocalAudioStats.js.map +1 -1
  243. package/lib/module/classes/HMSLocalAudioTrack.js +3 -10
  244. package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
  245. package/lib/module/classes/HMSLocalPeer.js +3 -10
  246. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  247. package/lib/module/classes/HMSLocalVideoStats.js +3 -8
  248. package/lib/module/classes/HMSLocalVideoStats.js.map +1 -1
  249. package/lib/module/classes/HMSLocalVideoTrack.js +3 -10
  250. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  251. package/lib/module/classes/HMSLogAlarmManager.js +7 -0
  252. package/lib/module/classes/HMSLogAlarmManager.js.map +1 -0
  253. package/lib/module/classes/HMSLogLevel.js +0 -1
  254. package/lib/module/classes/HMSLogLevel.js.map +1 -1
  255. package/lib/module/classes/HMSLogSettings.js +14 -0
  256. package/lib/module/classes/HMSLogSettings.js.map +1 -0
  257. package/lib/module/classes/HMSLogger.js +3 -23
  258. package/lib/module/classes/HMSLogger.js.map +1 -1
  259. package/lib/module/classes/HMSMessage.js +4 -8
  260. package/lib/module/classes/HMSMessage.js.map +1 -1
  261. package/lib/module/classes/HMSMessageRecipient.js +3 -6
  262. package/lib/module/classes/HMSMessageRecipient.js.map +1 -1
  263. package/lib/module/classes/HMSMessageRecipientType.js +0 -1
  264. package/lib/module/classes/HMSMessageRecipientType.js.map +1 -1
  265. package/lib/module/classes/HMSMessageType.js +6 -0
  266. package/lib/module/classes/HMSMessageType.js.map +1 -0
  267. package/lib/module/classes/HMSMicNode.js +0 -2
  268. package/lib/module/classes/HMSMicNode.js.map +1 -1
  269. package/lib/module/classes/HMSNetworkQuality.js +3 -4
  270. package/lib/module/classes/HMSNetworkQuality.js.map +1 -1
  271. package/lib/module/classes/HMSPeer.js +3 -14
  272. package/lib/module/classes/HMSPeer.js.map +1 -1
  273. package/lib/module/classes/HMSPeerUpdate.js +0 -1
  274. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  275. package/lib/module/classes/HMSPermissions.js +3 -11
  276. package/lib/module/classes/HMSPermissions.js.map +1 -1
  277. package/lib/module/classes/HMSPublishSettings.js +3 -10
  278. package/lib/module/classes/HMSPublishSettings.js.map +1 -1
  279. package/lib/module/classes/HMSRTCStats.js +3 -10
  280. package/lib/module/classes/HMSRTCStats.js.map +1 -1
  281. package/lib/module/classes/HMSRTCStatsReport.js +3 -6
  282. package/lib/module/classes/HMSRTCStatsReport.js.map +1 -1
  283. package/lib/module/classes/HMSRTMPConfig.js +3 -7
  284. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  285. package/lib/module/classes/HMSRemoteAudioStats.js +3 -8
  286. package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -1
  287. package/lib/module/classes/HMSRemoteAudioTrack.js +3 -5
  288. package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
  289. package/lib/module/classes/HMSRemotePeer.js +3 -10
  290. package/lib/module/classes/HMSRemotePeer.js.map +1 -1
  291. package/lib/module/classes/HMSRemoteVideoStats.js +3 -10
  292. package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -1
  293. package/lib/module/classes/HMSRemoteVideoTrack.js +3 -7
  294. package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
  295. package/lib/module/classes/HMSRole.js +3 -11
  296. package/lib/module/classes/HMSRole.js.map +1 -1
  297. package/lib/module/classes/HMSRoleChangeRequest.js +3 -5
  298. package/lib/module/classes/HMSRoleChangeRequest.js.map +1 -1
  299. package/lib/module/classes/HMSRoom.js +5 -14
  300. package/lib/module/classes/HMSRoom.js.map +1 -1
  301. package/lib/module/classes/HMSRoomUpdate.js +0 -1
  302. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  303. package/lib/module/classes/HMSRtmpStreamingState.js +3 -7
  304. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
  305. package/lib/module/classes/HMSRtmpVideoResolution.js +3 -5
  306. package/lib/module/classes/HMSRtmpVideoResolution.js.map +1 -1
  307. package/lib/module/classes/HMSSDK.js +172 -336
  308. package/lib/module/classes/HMSSDK.js.map +1 -1
  309. package/lib/module/classes/HMSScreenBroadcastAudioReceiverNode.js +0 -1
  310. package/lib/module/classes/HMSScreenBroadcastAudioReceiverNode.js.map +1 -1
  311. package/lib/module/classes/HMSServerRecordingState.js +3 -6
  312. package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
  313. package/lib/module/classes/HMSSimulcastLayerSettings.js +3 -7
  314. package/lib/module/classes/HMSSimulcastLayerSettings.js.map +1 -1
  315. package/lib/module/classes/HMSSimulcastSettings.js +3 -5
  316. package/lib/module/classes/HMSSimulcastSettings.js.map +1 -1
  317. package/lib/module/classes/HMSSpeaker.js +3 -6
  318. package/lib/module/classes/HMSSpeaker.js.map +1 -1
  319. package/lib/module/classes/HMSSubscribeSettings.js +5 -8
  320. package/lib/module/classes/HMSSubscribeSettings.js.map +1 -1
  321. package/lib/module/classes/HMSTrack.js +3 -10
  322. package/lib/module/classes/HMSTrack.js.map +1 -1
  323. package/lib/module/classes/HMSTrackSettings.js +3 -8
  324. package/lib/module/classes/HMSTrackSettings.js.map +1 -1
  325. package/lib/module/classes/HMSTrackSettingsInitState.js +6 -0
  326. package/lib/module/classes/HMSTrackSettingsInitState.js.map +1 -0
  327. package/lib/module/classes/HMSTrackSource.js +0 -1
  328. package/lib/module/classes/HMSTrackSource.js.map +1 -1
  329. package/lib/module/classes/HMSTrackType.js +0 -1
  330. package/lib/module/classes/HMSTrackType.js.map +1 -1
  331. package/lib/module/classes/HMSTrackUpdate.js +0 -1
  332. package/lib/module/classes/HMSTrackUpdate.js.map +1 -1
  333. package/lib/module/classes/HMSUpdateListenerActions.js +0 -1
  334. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  335. package/lib/module/classes/HMSVideoCodec.js +0 -1
  336. package/lib/module/classes/HMSVideoCodec.js.map +1 -1
  337. package/lib/module/classes/HMSVideoResolution.js +3 -5
  338. package/lib/module/classes/HMSVideoResolution.js.map +1 -1
  339. package/lib/module/classes/HMSVideoSettings.js +3 -8
  340. package/lib/module/classes/HMSVideoSettings.js.map +1 -1
  341. package/lib/module/classes/HMSVideoTrack.js +3 -9
  342. package/lib/module/classes/HMSVideoTrack.js.map +1 -1
  343. package/lib/module/classes/HMSVideoTrackSettings.js +14 -22
  344. package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
  345. package/lib/module/classes/HMSVideoViewMode.js +0 -1
  346. package/lib/module/classes/HMSVideoViewMode.js.map +1 -1
  347. package/lib/module/classes/HmsView.js +20 -15
  348. package/lib/module/classes/HmsView.js.map +1 -1
  349. package/lib/module/index.js +4 -0
  350. package/lib/module/index.js.map +1 -1
  351. package/lib/typescript/classes/HMSAudioTrackSettings.d.ts +5 -7
  352. package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +2 -2
  353. package/lib/typescript/classes/HMSEncoder.d.ts +2 -5
  354. package/lib/typescript/classes/HMSLogAlarmManager.d.ts +5 -0
  355. package/lib/typescript/classes/HMSLogSettings.d.ts +12 -0
  356. package/lib/typescript/classes/HMSMessage.d.ts +3 -2
  357. package/lib/typescript/classes/HMSMessageType.d.ts +4 -0
  358. package/lib/typescript/classes/HMSRoom.d.ts +3 -0
  359. package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +2 -2
  360. package/lib/typescript/classes/HMSSDK.d.ts +52 -17
  361. package/lib/typescript/classes/HMSServerRecordingState.d.ts +2 -2
  362. package/lib/typescript/classes/HMSSubscribeSettings.d.ts +2 -2
  363. package/lib/typescript/classes/HMSTrackSettings.d.ts +0 -2
  364. package/lib/typescript/classes/HMSTrackSettingsInitState.d.ts +4 -0
  365. package/lib/typescript/classes/HMSVideoTrack.d.ts +0 -2
  366. package/lib/typescript/classes/HMSVideoTrackSettings.d.ts +10 -15
  367. package/lib/typescript/index.d.ts +4 -0
  368. package/package.json +1 -1
  369. package/react-native-hms.podspec +2 -2
  370. package/src/classes/HMSAudioTrackSettings.ts +8 -10
  371. package/src/classes/HMSBrowserRecordingState.ts +2 -2
  372. package/src/classes/HMSEncoder.ts +12 -20
  373. package/src/classes/HMSLogAlarmManager.ts +5 -0
  374. package/src/classes/HMSLogSettings.ts +18 -0
  375. package/src/classes/HMSMessage.ts +3 -2
  376. package/src/classes/HMSMessageType.ts +4 -0
  377. package/src/classes/HMSRoom.ts +4 -0
  378. package/src/classes/HMSRtmpStreamingState.ts +2 -2
  379. package/src/classes/HMSSDK.tsx +165 -149
  380. package/src/classes/HMSServerRecordingState.ts +2 -2
  381. package/src/classes/HMSSubscribeSettings.ts +3 -3
  382. package/src/classes/HMSTrackSettings.ts +0 -3
  383. package/src/classes/HMSTrackSettingsInitState.ts +4 -0
  384. package/src/classes/HMSVideoTrack.ts +0 -2
  385. package/src/classes/HMSVideoTrackSettings.ts +14 -21
  386. package/src/classes/HmsView.tsx +15 -1
  387. package/src/index.ts +4 -0
  388. package/android/.idea/libraries/Gradle__com_facebook_fbjni_fbjni_java_only_0_2_2.xml +0 -13
  389. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_69_1_debug_aar.xml +0 -14
  390. package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_10_3.xml +0 -13
  391. package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_10_3.xml +0 -13
  392. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_10_3_aar.xml +0 -15
  393. package/android/.idea/libraries/Gradle__com_github_100mslive_android_sdk_lib_2_4_7_aar.xml +0 -11
  394. package/android/.idea/libraries/Gradle__com_github_100mslive_webrtc_m97_hms_1_1_aar.xml +0 -11
@@ -4,7 +4,6 @@ import android.content.Intent
4
4
  import android.content.Intent.FLAG_ACTIVITY_NEW_TASK
5
5
  import com.facebook.react.bridge.*
6
6
  import com.facebook.react.bridge.UiThreadUtil.runOnUiThread
7
- import java.util.*
8
7
  import kotlinx.coroutines.launch
9
8
  import live.hms.video.audio.HMSAudioManager
10
9
  import live.hms.video.connection.stats.*
@@ -36,17 +35,39 @@ class HMSRNSDK(
36
35
  private var previewInProgress: Boolean = false
37
36
  private var reconnectingStage: Boolean = false
38
37
  private var rtcStatsAttached: Boolean = false
38
+ private var networkQualityUpdatesAttached: Boolean = false
39
39
  private var audioMixingMode: AudioMixingMode = AudioMixingMode.TALK_AND_MUSIC
40
40
  private var id: String = sdkId
41
41
  private var self = this
42
42
 
43
43
  init {
44
- val trackSettings = HMSHelper.getTrackSettings(data?.getMap("trackSettings"))
45
- if (trackSettings == null) {
46
- this.hmsSDK = HMSSDK.Builder(reactApplicationContext).build()
44
+ val builder = HMSSDK.Builder(reactApplicationContext)
45
+ if (HMSHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("trackSettings", "Map")))) {
46
+ val trackSettings = HMSHelper.getTrackSettings(data?.getMap("trackSettings"))
47
+ if (trackSettings != null) {
48
+ builder.setTrackSettings(trackSettings)
49
+ }
50
+ }
51
+
52
+ if (HMSHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("frameworkInfo", "Map")))) {
53
+ val frameworkInfo = HMSHelper.getFrameworkInfo(data?.getMap("frameworkInfo"))
54
+ if (frameworkInfo != null) {
55
+ builder.setFrameworkInfo(frameworkInfo)
56
+ } else {
57
+ emitCustomError("Unable to decode framework info")
58
+ }
47
59
  } else {
48
- this.hmsSDK = HMSSDK.Builder(reactApplicationContext).setTrackSettings(trackSettings).build()
60
+ emitCustomError("Framework info not sent in build function")
61
+ }
62
+
63
+ if (HMSHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("logSettings", "Map")))) {
64
+ val logSettings = HMSHelper.getLogSettings(data?.getMap("logSettings"))
65
+ if (logSettings != null) {
66
+ builder.setLogSettings(logSettings)
67
+ }
49
68
  }
69
+
70
+ this.hmsSDK = builder.build()
50
71
  }
51
72
 
52
73
  private fun emitCustomError(message: String) {
@@ -127,19 +148,17 @@ class HMSRNSDK(
127
148
  ) {
128
149
  return
129
150
  }
151
+ if (!networkQualityUpdatesAttached && type === HMSPeerUpdate.NETWORK_QUALITY_UPDATED
152
+ ) {
153
+ return
154
+ }
130
155
  val updateType = type.name
131
- val roomData = HMSDecoder.getHmsRoom(hmsSDK?.getRoom())
132
- val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
133
- val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
134
156
  val hmsPeer = HMSDecoder.getHmsPeer(peer)
135
157
 
136
158
  val data: WritableMap = Arguments.createMap()
137
159
 
138
160
  data.putMap("peer", hmsPeer)
139
- data.putMap("room", roomData)
140
161
  data.putString("type", updateType)
141
- data.putMap("localPeer", localPeerData)
142
- data.putArray("remotePeers", remotePeerData)
143
162
  data.putString("id", id)
144
163
  delegate.emitEvent("ON_PEER_UPDATE", data)
145
164
  }
@@ -147,15 +166,11 @@ class HMSRNSDK(
147
166
  override fun onRoomUpdate(type: HMSRoomUpdate, hmsRoom: HMSRoom) {
148
167
  val updateType = type.name
149
168
  val roomData = HMSDecoder.getHmsRoom(hmsRoom)
150
- val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
151
- val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
152
169
 
153
170
  val data: WritableMap = Arguments.createMap()
154
171
 
155
172
  data.putString("type", updateType)
156
173
  data.putMap("room", roomData)
157
- data.putMap("localPeer", localPeerData)
158
- data.putArray("remotePeers", remotePeerData)
159
174
  data.putString("id", id)
160
175
  delegate.emitEvent("ON_ROOM_UPDATE", data)
161
176
  }
@@ -163,12 +178,10 @@ class HMSRNSDK(
163
178
  override fun onPreview(room: HMSRoom, localTracks: Array<HMSTrack>) {
164
179
  val previewTracks = HMSDecoder.getPreviewTracks(localTracks)
165
180
  val hmsRoom = HMSDecoder.getHmsRoom(room)
166
- val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
167
181
  val data: WritableMap = Arguments.createMap()
168
182
 
169
- data.putMap("previewTracks", previewTracks)
183
+ data.putArray("previewTracks", previewTracks)
170
184
  data.putMap("room", hmsRoom)
171
- data.putMap("localPeer", localPeerData)
172
185
  data.putString("id", id)
173
186
  delegate.emitEvent("ON_PREVIEW", data)
174
187
  previewInProgress = false
@@ -232,16 +245,10 @@ class HMSRNSDK(
232
245
 
233
246
  override fun onJoin(room: HMSRoom) {
234
247
  val roomData = HMSDecoder.getHmsRoom(room)
235
- val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
236
- val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
237
- val roles = HMSDecoder.getAllRoles(hmsSDK?.getRoles())
238
248
 
239
249
  val data: WritableMap = Arguments.createMap()
240
250
 
241
251
  data.putMap("room", roomData)
242
- data.putMap("localPeer", localPeerData)
243
- data.putArray("remotePeers", remotePeerData)
244
- data.putArray("roles", roles)
245
252
  data.putString("id", id)
246
253
  delegate.emitEvent("ON_JOIN", data)
247
254
  }
@@ -257,19 +264,18 @@ class HMSRNSDK(
257
264
  ) {
258
265
  return
259
266
  }
267
+ if (!networkQualityUpdatesAttached &&
268
+ type === HMSPeerUpdate.NETWORK_QUALITY_UPDATED
269
+ ) {
270
+ return
271
+ }
260
272
  val updateType = type.name
261
- val roomData = HMSDecoder.getHmsRoom(hmsSDK?.getRoom())
262
- val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
263
- val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
264
273
  val hmsPeer = HMSDecoder.getHmsPeer(peer)
265
274
 
266
275
  val data: WritableMap = Arguments.createMap()
267
276
 
268
277
  data.putMap("peer", hmsPeer)
269
- data.putMap("room", roomData)
270
278
  data.putString("type", updateType)
271
- data.putMap("localPeer", localPeerData)
272
- data.putArray("remotePeers", remotePeerData)
273
279
  data.putString("id", id)
274
280
  delegate.emitEvent("ON_PEER_UPDATE", data)
275
281
  }
@@ -277,24 +283,17 @@ class HMSRNSDK(
277
283
  override fun onRoomUpdate(type: HMSRoomUpdate, hmsRoom: HMSRoom) {
278
284
  val updateType = type.name
279
285
  val roomData = HMSDecoder.getHmsRoom(hmsRoom)
280
- val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
281
- val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
282
286
 
283
287
  val data: WritableMap = Arguments.createMap()
284
288
 
285
289
  data.putString("type", updateType)
286
290
  data.putMap("room", roomData)
287
- data.putMap("localPeer", localPeerData)
288
- data.putArray("remotePeers", remotePeerData)
289
291
  data.putString("id", id)
290
292
  delegate.emitEvent("ON_ROOM_UPDATE", data)
291
293
  }
292
294
 
293
295
  override fun onTrackUpdate(type: HMSTrackUpdate, track: HMSTrack, peer: HMSPeer) {
294
296
  val updateType = type.name
295
- val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
296
- val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
297
- val roomData = HMSDecoder.getHmsRoom(hmsSDK?.getRoom())
298
297
  val hmsPeer = HMSDecoder.getHmsPeer(peer)
299
298
  val hmsTrack = HMSDecoder.getHmsTrack(track)
300
299
 
@@ -302,10 +301,7 @@ class HMSRNSDK(
302
301
 
303
302
  data.putMap("peer", hmsPeer)
304
303
  data.putMap("track", hmsTrack)
305
- data.putMap("room", roomData)
306
304
  data.putString("type", updateType)
307
- data.putMap("localPeer", localPeerData)
308
- data.putArray("remotePeers", remotePeerData)
309
305
  data.putString("id", id)
310
306
  delegate.emitEvent("ON_TRACK_UPDATE", data)
311
307
  }
@@ -507,6 +503,8 @@ class HMSRNSDK(
507
503
  isAudioSharing = false
508
504
  screenshareCallback = null
509
505
  audioshareCallback = null
506
+ networkQualityUpdatesAttached = false
507
+ rtcStatsAttached = false
510
508
  callback?.resolve(emitHMSSuccess())
511
509
  }
512
510
 
@@ -938,6 +936,21 @@ class HMSRNSDK(
938
936
  callback?.resolve(roomData)
939
937
  }
940
938
 
939
+ fun getLocalPeer(callback: Promise?) {
940
+ val localPeer = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
941
+ callback?.resolve(localPeer)
942
+ }
943
+
944
+ fun getRemotePeers(callback: Promise?) {
945
+ val remotePeers = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
946
+ callback?.resolve(remotePeers)
947
+ }
948
+
949
+ fun getRoles(callback: Promise?) {
950
+ val roles = HMSDecoder.getAllRoles(hmsSDK?.getRoles())
951
+ callback?.resolve(roles)
952
+ }
953
+
941
954
  fun setVolume(data: ReadableMap) {
942
955
  val requiredKeys =
943
956
  HMSHelper.getUnavailableRequiredKey(
@@ -1194,6 +1207,14 @@ class HMSRNSDK(
1194
1207
  rtcStatsAttached = false
1195
1208
  }
1196
1209
 
1210
+ fun enableNetworkQualityUpdates() {
1211
+ networkQualityUpdatesAttached = true
1212
+ }
1213
+
1214
+ fun disableNetworkQualityUpdates() {
1215
+ networkQualityUpdatesAttached = false
1216
+ }
1217
+
1197
1218
  fun getAudioDevicesList(callback: Promise?) {
1198
1219
  callback?.resolve(HMSHelper.getAudioDevicesList(hmsSDK?.getAudioDevicesList()))
1199
1220
  }
@@ -1304,4 +1325,42 @@ class HMSRNSDK(
1304
1325
  rejectCallback(callback, errorMessage)
1305
1326
  }
1306
1327
  }
1328
+
1329
+ fun setSessionMetaData(data: ReadableMap, callback: Promise?) {
1330
+ if (data.hasKey("sessionMetaData")) {
1331
+ val sessionMetaData = data.getString("sessionMetaData")
1332
+ hmsSDK?.setSessionMetaData(
1333
+ sessionMetaData,
1334
+ object : HMSActionResultListener {
1335
+ override fun onSuccess() {
1336
+ callback?.resolve(emitHMSSuccess())
1337
+ }
1338
+
1339
+ override fun onError(error: HMSException) {
1340
+ callback?.reject(error.code.toString(), error.message)
1341
+ self.emitHMSError(error)
1342
+ }
1343
+ }
1344
+ )
1345
+ } else {
1346
+ val errorMessage = "setSessionMetaData: sessionMetaData_Is_Required"
1347
+ self.emitRequiredKeysError(errorMessage)
1348
+ rejectCallback(callback, errorMessage)
1349
+ }
1350
+ }
1351
+
1352
+ fun getSessionMetaData(callback: Promise?) {
1353
+ hmsSDK?.getSessionMetaData(
1354
+ object : HMSSessionMetadataListener {
1355
+ override fun onSuccess(sessionMetadata: String?) {
1356
+ callback?.resolve(sessionMetadata)
1357
+ }
1358
+
1359
+ override fun onError(error: HMSException) {
1360
+ callback?.reject(error.code.toString(), error.message)
1361
+ self.emitHMSError(error)
1362
+ }
1363
+ }
1364
+ )
1365
+ }
1307
1366
  }
@@ -31,7 +31,7 @@ class HMSView(context: ReactContext) : FrameLayout(context) {
31
31
  val view = inflater.inflate(R.layout.hms_view, this)
32
32
 
33
33
  surfaceView = view.findViewById(R.id.surfaceView)
34
- surfaceView.setEnableHardwareScaler(true)
34
+ surfaceView.setEnableHardwareScaler(false)
35
35
  }
36
36
 
37
37
  @RequiresApi(Build.VERSION_CODES.N)
@@ -16,13 +16,18 @@ class HMSDecoder: NSObject {
16
16
  let serverRecordingState = HMSDecoder.getHMSServerRecordingState(hmsRoom?.serverRecordingState)
17
17
  let hlsStreamingState = HMSDecoder.getHlsStreamingState(hmsRoom?.hlsStreamingState)
18
18
  let hlsRecordingState = HMSDecoder.getHlsRecordingState(hmsRoom?.hlsRecordingState)
19
+ var localPeer = [String: Any]()
19
20
  var peers = [[String: Any]]()
20
21
 
21
22
  for peer in room.peers {
22
- peers.append(getHmsPeer(peer))
23
+ let parsedPeer = getHmsPeer(peer)
24
+ peers.append(parsedPeer)
25
+ if peer.isLocal {
26
+ localPeer = parsedPeer
27
+ }
23
28
  }
24
29
 
25
- return ["id": id, "name": name, "metaData": metaData, "peers": peers, "browserRecordingState": browserRecordingState, "rtmpHMSRtmpStreamingState": rtmpStreamingState, "serverRecordingState": serverRecordingState, "hlsRecordingState": hlsRecordingState, "hlsStreamingState": hlsStreamingState, "peerCount": count, "sessionId": sessionId]
30
+ return ["id": id, "name": name, "metaData": metaData, "peers": peers, "browserRecordingState": browserRecordingState, "rtmpHMSRtmpStreamingState": rtmpStreamingState, "serverRecordingState": serverRecordingState, "hlsRecordingState": hlsRecordingState, "hlsStreamingState": hlsStreamingState, "peerCount": count, "sessionId": sessionId, "localPeer": localPeer]
26
31
  }
27
32
 
28
33
  static func getHmsPeer (_ hmsPeer: HMSPeer?) -> [String: Any] {
@@ -154,22 +159,19 @@ class HMSDecoder: NSObject {
154
159
 
155
160
  guard let settings = hmsAudioTrackSettings else { return [:] }
156
161
 
157
- let maxBitrate = settings.maxBitrate
158
- let trackDescription = settings.trackDescription ?? ""
162
+ // TODO: parsing not done for audioSource
163
+ let audioSource = settings.audioSource
164
+ let initialState = HMSHelper.getHMSTrackInitState(settings.initialMuteState)
159
165
 
160
- return ["maxBitrate": maxBitrate, "trackDescription": trackDescription]
166
+ return ["audioSource": audioSource, "initialState": initialState]
161
167
  }
162
168
 
163
169
  static func getHmsVideoTrackSettings(_ hmsVideoTrackSettings: HMSVideoTrackSettings?) -> [String: Any] {
164
170
 
165
171
  guard let settings = hmsVideoTrackSettings else { return [:] }
166
172
 
167
- let codec = getHmsVideoTrackCodec(settings.codec)
168
- let resolution = getHmsVideoResolution(settings.resolution)
169
- let maxBitrate = settings.maxBitrate
170
- let maxFrameRate = settings.maxFrameRate
171
173
  let cameraFacing = getHmsVideoTrackCameraFacing(settings.cameraFacing)
172
- let trackDescription = settings.trackDescription ?? ""
174
+ let initialState = HMSHelper.getHMSTrackInitState(settings.initialMuteState)
173
175
 
174
176
  var simulcastSettingsData = [[String: Any]]()
175
177
  if let simulcastSettings = settings.simulcastSettings {
@@ -182,7 +184,7 @@ class HMSDecoder: NSObject {
182
184
  }
183
185
  }
184
186
 
185
- return ["codec": codec, "resolution": resolution, "maxBitrate": maxBitrate, "maxFrameRate": maxFrameRate, "cameraFacing": cameraFacing, "trackDescription": trackDescription, "simulcastSettings": simulcastSettingsData]
187
+ return ["initialState": initialState, "cameraFacing": cameraFacing, "simulcastSettings": simulcastSettingsData]
186
188
  }
187
189
 
188
190
  static func getHmsVideoTrackCodec(_ codec: HMSCodec) -> String {
@@ -270,21 +272,21 @@ class HMSDecoder: NSObject {
270
272
  return ["trackId": remoteVideo.trackId, "source": remoteVideo.source, "trackDescription": remoteVideo.trackDescription, "layer": remoteVideo.layer.rawValue, "playbackAllowed": remoteVideo.isPlaybackAllowed(), "isMute": remoteVideo.isMute(), "isDegraded": remoteVideo.isDegraded(), "type": type, "kind": type]
271
273
  }
272
274
 
273
- static func getPreviewTracks(_ tracks: [HMSTrack]) -> [String: Any] {
275
+ static func getPreviewTracks(_ tracks: [HMSTrack]) -> [[String: Any]] {
274
276
 
275
- var hmsTracks = [String: Any]()
277
+ var hmsTracks = [[String: Any]]()
276
278
 
277
279
  for track in tracks {
278
280
  if let localVideo = track as? HMSLocalVideoTrack {
279
281
  let type = HMSHelper.getHmsTrackType(localVideo.kind) ?? ""
280
282
  let localVideoTrackData: [String: Any] = ["trackId": localVideo.trackId, "source": localVideo.source, "trackDescription": localVideo.trackDescription, "settings": getHmsVideoTrackSettings(localVideo.settings), "isMute": localVideo.isMute(), "kind": type, "type": type]
281
- hmsTracks["videoTrack"] = localVideoTrackData
283
+ hmsTracks.append(localVideoTrackData)
282
284
  }
283
285
 
284
286
  if let localAudio = track as? HMSLocalAudioTrack {
285
287
  let type = HMSHelper.getHmsTrackType(localAudio.kind) ?? ""
286
288
  let localAudioTrackData: [String: Any] = ["trackId": localAudio.trackId, "source": localAudio.source, "trackDescription": localAudio.trackDescription, "settings": getHmsAudioTrackSettings(localAudio.settings), "isMute": localAudio.isMute(), "kind": type, "type": type]
287
- hmsTracks["audioTrack"] = localAudioTrackData
289
+ hmsTracks.append(localAudioTrackData)
288
290
  }
289
291
  }
290
292
  return hmsTracks
@@ -136,38 +136,47 @@ class HMSHelper: NSObject {
136
136
  return hms
137
137
  }
138
138
 
139
- static func getLocalVideoSettings(_ settings: NSDictionary?) -> HMSVideoTrackSettings? {
140
- guard let data = settings,
141
- let codec = data.value(forKey: "codec") as? String,
142
- let resolution = data.value(forKey: "resolution") as? [String: Double]?,
143
- let maxBitrate = data.value(forKey: "maxBitrate") as? Int,
144
- let maxFrameRate = data.value(forKey: "maxFrameRate") as? Int,
145
- let cameraFacing = data.value(forKey: "cameraFacing") as? String,
146
- let trackDescription = data.value(forKey: "trackDescription") as? String?,
147
- let resolutionObj = HMSHelper.getVideoResolution(resolution ?? [:])
139
+ static func getFrameworkInfo(_ frameworkInfo: NSDictionary?) -> HMSFrameworkInfo? {
140
+ guard let data = frameworkInfo,
141
+ let version = data.value(forKey: "version") as? String,
142
+ let sdkVersion = data.value(forKey: "sdkVersion") as? String
148
143
  else {
149
144
  return nil
150
145
  }
151
- let codecEncoded = HMSHelper.getVideoCodec(codec)
146
+ return HMSFrameworkInfo(type: HMSFrameworkType.reactNative, version: version, sdkVersion: sdkVersion)
147
+ }
148
+
149
+ static func getLocalVideoSettings(_ settings: NSDictionary?) -> HMSVideoTrackSettings? {
150
+ if settings === nil {
151
+ return nil
152
+ }
153
+ let codec = HMSCodec.VP8
154
+ let resolution = HMSVideoResolution.init(width: 320, height: 180)
155
+ let maxBitrate = 512
156
+ let maxFrameRate = 25
157
+ let trackDescription = "video track description"
158
+ let cameraFacing = settings?.value(forKey: "cameraFacing") as? String
152
159
  let cameraFacingEncoded = HMSHelper.getCameraFacing(cameraFacing)
153
- let hmsTrackSettings = HMSVideoTrackSettings(codec: codecEncoded,
154
- resolution: resolutionObj,
160
+ let initialState = settings?.value(forKey: "initialState") as? String
161
+ let initialStateEncoded = HMSHelper.getHMSTrackSettingsInitState(initialState)
162
+ let hmsTrackSettings = HMSVideoTrackSettings(codec: codec,
163
+ resolution: resolution,
155
164
  maxBitrate: maxBitrate,
156
165
  maxFrameRate: maxFrameRate,
157
166
  cameraFacing: cameraFacingEncoded,
167
+ simulcastSettings: nil,
158
168
  trackDescription: trackDescription,
169
+ initialMuteState: initialStateEncoded,
159
170
  videoPlugins: nil)
160
171
  return hmsTrackSettings
161
172
  }
162
173
 
163
174
  static func getLocalAudioSettings(_ settings: NSDictionary?, _ hms: HMSSDK?, _ delegate: HMSManager?, _ id: String) -> HMSAudioTrackSettings? {
164
- guard let data = settings,
165
- let maxBitrate = data.value(forKey: "maxBitrate") as? Int
166
- else {
175
+ if settings === nil {
167
176
  return nil
168
177
  }
169
- let trackDescription = data.value(forKey: "trackDescription") as? String
170
- let hmsTrackSettings = HMSAudioTrackSettings(maxBitrate: maxBitrate, trackDescription: trackDescription)
178
+ let initialState = settings?.value(forKey: "initialState") as? String
179
+ let initialStateEncoded = HMSHelper.getHMSTrackSettingsInitState(initialState)
171
180
  if #available(iOS 13.0, *) {
172
181
  var audioMixerSourceMap = [String: HMSAudioNode]()
173
182
  if let playerNode = settings?.value(forKey: "audioSource") as? [String] {
@@ -190,14 +199,13 @@ class HMSHelper: NSObject {
190
199
  do {
191
200
  self.audioMixerSourceHashMap = audioMixerSourceMap
192
201
  let audioMixerSource = try HMSAudioMixerSource(nodes: audioMixerSourceMap.values.map {$0})
193
- return HMSAudioTrackSettings(maxBitrate: maxBitrate, trackDescription: trackDescription, audioSource: audioMixerSource)
202
+ return HMSAudioTrackSettings(maxBitrate: 32, trackDescription: "audio track description", initialMuteState: initialStateEncoded, audioSource: audioMixerSource)
194
203
  } catch {
195
204
  delegate?.emitEvent("ON_ERROR", ["error": ["code": 6002, "description": error.localizedDescription, "isTerminal": false, "canRetry": true, "params": ["function": #function]], "id": id])
196
- return hmsTrackSettings
205
+ return nil
197
206
  }
198
- } else {
199
- return hmsTrackSettings
200
207
  }
208
+ return HMSAudioTrackSettings(maxBitrate: 32, trackDescription: "audio track description", initialMuteState: initialStateEncoded, audioSource: nil)
201
209
  }
202
210
 
203
211
  static func getAudioMixerSourceMap() -> [String: HMSAudioNode]? {
@@ -225,7 +233,7 @@ class HMSHelper: NSObject {
225
233
  }
226
234
  }
227
235
 
228
- static func getCameraFacing(_ cameraFacing: String) -> HMSCameraFacing {
236
+ static func getCameraFacing(_ cameraFacing: String?) -> HMSCameraFacing {
229
237
  switch cameraFacing {
230
238
  case "FRONT":
231
239
  return HMSCameraFacing.front
@@ -236,6 +244,28 @@ class HMSHelper: NSObject {
236
244
  }
237
245
  }
238
246
 
247
+ static func getHMSTrackSettingsInitState(_ initState: String?) -> HMSTrackMuteState {
248
+ switch initState {
249
+ case "MUTED":
250
+ return HMSTrackMuteState.mute
251
+ case "UNMUTED":
252
+ return HMSTrackMuteState.unmute
253
+ default:
254
+ return HMSTrackMuteState.unmute
255
+ }
256
+ }
257
+
258
+ static func getHMSTrackInitState(_ initState: HMSTrackMuteState?) -> String {
259
+ switch initState {
260
+ case .mute:
261
+ return "MUTED"
262
+ case .unmute:
263
+ return "UNMUTED"
264
+ default:
265
+ return "UNMUTED"
266
+ }
267
+ }
268
+
239
269
  static func getRtmpUrls(_ strings: [String]?) -> [URL]? {
240
270
  if let extractedStrings = strings {
241
271
  var arr: [URL] = []
package/ios/HMSManager.m CHANGED
@@ -48,4 +48,11 @@ RCT_EXTERN_METHOD(pauseAudioShare: (NSDictionary) data)
48
48
  RCT_EXTERN_METHOD(audioShareIsPlaying: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
49
49
  RCT_EXTERN_METHOD(audioShareCurrentTime: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
50
50
  RCT_EXTERN_METHOD(audioShareDuration: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
51
+ RCT_EXTERN_METHOD(getLocalPeer: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
52
+ RCT_EXTERN_METHOD(getRemotePeers: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
53
+ RCT_EXTERN_METHOD(getRoles: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
54
+ RCT_EXTERN_METHOD(enableNetworkQualityUpdates: (NSDictionary) data)
55
+ RCT_EXTERN_METHOD(disableNetworkQualityUpdates: (NSDictionary) data)
56
+ RCT_EXTERN_METHOD(setSessionMetaData: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
57
+ RCT_EXTERN_METHOD(getSessionMetaData: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
51
58
  @end
@@ -204,20 +204,6 @@ class HMSManager: RCTEventEmitter {
204
204
  hms?.isPlaybackAllowed(data, resolve, reject)
205
205
  }
206
206
 
207
- @objc
208
- func getRoom(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
209
- let hms = HMSHelper.getHms(data, hmsCollection)
210
-
211
- hms?.getRoom(data, resolve, reject)
212
- }
213
-
214
- // MARK: - HMS SDK Delegate Callbacks
215
- func emitEvent(_ name: String, _ data: [String: Any]) {
216
- self.sendEvent(withName: name, body: data)
217
- }
218
-
219
- // MARK: Helper Functions
220
-
221
207
  @objc
222
208
  func setPlaybackForAllAudio(_ data: NSDictionary) {
223
209
  let hms = HMSHelper.getHms(data, hmsCollection)
@@ -378,4 +364,66 @@ class HMSManager: RCTEventEmitter {
378
364
 
379
365
  hms?.audioShareDuration(data, resolve, reject)
380
366
  }
367
+
368
+ @objc
369
+ func enableNetworkQualityUpdates(_ data: NSDictionary) {
370
+ let hms = HMSHelper.getHms(data, hmsCollection)
371
+
372
+ hms?.enableNetworkQualityUpdates()
373
+ }
374
+
375
+ @objc
376
+ func disableNetworkQualityUpdates(_ data: NSDictionary) {
377
+ let hms = HMSHelper.getHms(data, hmsCollection)
378
+
379
+ hms?.disableNetworkQualityUpdates()
380
+ }
381
+
382
+ @objc
383
+ func setSessionMetaData(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
384
+ let hms = HMSHelper.getHms(data, hmsCollection)
385
+
386
+ hms?.setSessionMetaData(data, resolve, reject)
387
+ }
388
+
389
+ // MARK: - HMS SDK Get APIs
390
+ @objc
391
+ func getRoom(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
392
+ let hms = HMSHelper.getHms(data, hmsCollection)
393
+
394
+ hms?.getRoom(resolve)
395
+ }
396
+
397
+ @objc
398
+ func getLocalPeer(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
399
+ let hms = HMSHelper.getHms(data, hmsCollection)
400
+
401
+ hms?.getLocalPeer(resolve)
402
+ }
403
+
404
+ @objc
405
+ func getRemotePeers(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
406
+ let hms = HMSHelper.getHms(data, hmsCollection)
407
+
408
+ hms?.getRemotePeers(resolve)
409
+ }
410
+
411
+ @objc
412
+ func getRoles(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
413
+ let hms = HMSHelper.getHms(data, hmsCollection)
414
+
415
+ hms?.getRoles(resolve)
416
+ }
417
+
418
+ @objc
419
+ func getSessionMetaData(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
420
+ let hms = HMSHelper.getHms(data, hmsCollection)
421
+
422
+ hms?.getSessionMetaData(resolve, reject)
423
+ }
424
+
425
+ // MARK: - HMS SDK Delegate Callbacks
426
+ func emitEvent(_ name: String, _ data: [String: Any]) {
427
+ self.sendEvent(withName: name, body: data)
428
+ }
381
429
  }