@100mslive/react-native-hms 1.6.1 → 1.7.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 (216) hide show
  1. package/android/build.gradle +15 -7
  2. package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +14 -15
  3. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayer.kt +248 -0
  4. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayerManager.kt +101 -0
  5. package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +10 -5
  6. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +0 -14
  7. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +90 -106
  8. package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +1 -1
  9. package/android/src/main/res/layout/player_view.xml +9 -0
  10. package/ios/HMSDecoder.swift +4 -4
  11. package/ios/HMSHLSPlayerManager.m +22 -0
  12. package/ios/HMSHLSPlayerManager.swift +368 -0
  13. package/ios/HMSManager.m +1 -2
  14. package/ios/HMSManager.swift +22 -16
  15. package/ios/HMSRNSDK.swift +34 -85
  16. package/lib/commonjs/classes/HMSEncoder.js +12 -4
  17. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  18. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  19. package/lib/commonjs/classes/HMSMessage.js +2 -1
  20. package/lib/commonjs/classes/HMSMessage.js.map +1 -1
  21. package/lib/commonjs/classes/HMSPeer.js +55 -20
  22. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  23. package/lib/commonjs/classes/HMSPeerUpdate.js +1 -1
  24. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  25. package/lib/commonjs/classes/HMSPeersCache.js +30 -38
  26. package/lib/commonjs/classes/HMSPeersCache.js.map +1 -1
  27. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  28. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  29. package/lib/commonjs/classes/HMSSDK.js +36 -33
  30. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  31. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js +147 -0
  32. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -0
  33. package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js +12 -0
  34. package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js.map +1 -0
  35. package/lib/commonjs/components/HMSHLSPlayer/hooks.js +71 -0
  36. package/lib/commonjs/components/HMSHLSPlayer/hooks.js.map +1 -0
  37. package/lib/commonjs/components/HMSHLSPlayer/index.js +63 -0
  38. package/lib/commonjs/components/HMSHLSPlayer/index.js.map +1 -0
  39. package/lib/commonjs/index.js +38 -0
  40. package/lib/commonjs/index.js.map +1 -1
  41. package/lib/commonjs/stores/hls-player-playback-slice.js +23 -0
  42. package/lib/commonjs/stores/hls-player-playback-slice.js.map +1 -0
  43. package/lib/commonjs/stores/hls-player-stats-store.js +36 -0
  44. package/lib/commonjs/stores/hls-player-stats-store.js.map +1 -0
  45. package/lib/commonjs/stores/hms-store.js +16 -0
  46. package/lib/commonjs/stores/hms-store.js.map +1 -0
  47. package/lib/commonjs/stores/types.js +6 -0
  48. package/lib/commonjs/stores/types.js.map +1 -0
  49. package/lib/commonjs/types.js +36 -0
  50. package/lib/commonjs/types.js.map +1 -0
  51. package/lib/module/classes/HMSEncoder.js +12 -4
  52. package/lib/module/classes/HMSEncoder.js.map +1 -1
  53. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  54. package/lib/module/classes/HMSMessage.js +2 -1
  55. package/lib/module/classes/HMSMessage.js.map +1 -1
  56. package/lib/module/classes/HMSPeer.js +55 -20
  57. package/lib/module/classes/HMSPeer.js.map +1 -1
  58. package/lib/module/classes/HMSPeerUpdate.js +1 -1
  59. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  60. package/lib/module/classes/HMSPeersCache.js +30 -38
  61. package/lib/module/classes/HMSPeersCache.js.map +1 -1
  62. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  63. package/lib/module/classes/HMSRemotePeer.js.map +1 -1
  64. package/lib/module/classes/HMSSDK.js +36 -33
  65. package/lib/module/classes/HMSSDK.js.map +1 -1
  66. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js +138 -0
  67. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -0
  68. package/lib/module/components/HMSHLSPlayer/RCTHMSHLSPlayer.js +4 -0
  69. package/lib/module/components/HMSHLSPlayer/RCTHMSHLSPlayer.js.map +1 -0
  70. package/lib/module/components/HMSHLSPlayer/hooks.js +56 -0
  71. package/lib/module/components/HMSHLSPlayer/hooks.js.map +1 -0
  72. package/lib/module/components/HMSHLSPlayer/index.js +3 -0
  73. package/lib/module/components/HMSHLSPlayer/index.js.map +1 -0
  74. package/lib/module/index.js +7 -0
  75. package/lib/module/index.js.map +1 -1
  76. package/lib/module/stores/hls-player-playback-slice.js +16 -0
  77. package/lib/module/stores/hls-player-playback-slice.js.map +1 -0
  78. package/lib/module/stores/hls-player-stats-store.js +29 -0
  79. package/lib/module/stores/hls-player-stats-store.js.map +1 -0
  80. package/lib/module/stores/hms-store.js +9 -0
  81. package/lib/module/stores/hms-store.js.map +1 -0
  82. package/lib/module/stores/types.js +2 -0
  83. package/lib/module/stores/types.js.map +1 -0
  84. package/lib/module/types.js +32 -0
  85. package/lib/module/types.js.map +1 -0
  86. package/lib/typescript/classes/HMSEncoder.d.ts +1 -0
  87. package/lib/typescript/classes/HMSLocalPeer.d.ts +0 -1
  88. package/lib/typescript/classes/HMSMessage.d.ts +2 -0
  89. package/lib/typescript/classes/HMSPeer.d.ts +10 -5
  90. package/lib/typescript/classes/HMSPeersCache.d.ts +17 -2
  91. package/lib/typescript/classes/HMSRTMPConfig.d.ts +2 -2
  92. package/lib/typescript/classes/HMSRemotePeer.d.ts +0 -1
  93. package/lib/typescript/classes/HMSSDK.d.ts +12 -17
  94. package/lib/typescript/components/HMSHLSPlayer/HMSHLSPlayer.d.ts +21 -0
  95. package/lib/typescript/components/HMSHLSPlayer/RCTHMSHLSPlayer.d.ts +19 -0
  96. package/lib/typescript/components/HMSHLSPlayer/hooks.d.ts +17 -0
  97. package/lib/typescript/components/HMSHLSPlayer/index.d.ts +2 -0
  98. package/lib/typescript/index.d.ts +3 -0
  99. package/lib/typescript/stores/hls-player-playback-slice.d.ts +5 -0
  100. package/lib/typescript/stores/hls-player-stats-store.d.ts +9 -0
  101. package/lib/typescript/stores/hms-store.d.ts +9 -0
  102. package/lib/typescript/stores/types.d.ts +25 -0
  103. package/lib/typescript/types.d.ts +63 -0
  104. package/package.json +10 -5
  105. package/react-native-hms.podspec +1 -0
  106. package/sdk-versions.json +3 -2
  107. package/src/classes/HMSEncoder.ts +15 -3
  108. package/src/classes/HMSLocalPeer.ts +0 -1
  109. package/src/classes/HMSMessage.ts +3 -1
  110. package/src/classes/HMSPeer.ts +96 -48
  111. package/src/classes/HMSPeerUpdate.ts +4 -4
  112. package/src/classes/HMSPeersCache.ts +53 -40
  113. package/src/classes/HMSRTMPConfig.ts +2 -2
  114. package/src/classes/HMSRemotePeer.ts +0 -1
  115. package/src/classes/HMSSDK.tsx +59 -47
  116. package/src/components/HMSHLSPlayer/HMSHLSPlayer.tsx +235 -0
  117. package/src/components/HMSHLSPlayer/RCTHMSHLSPlayer.ts +38 -0
  118. package/src/components/HMSHLSPlayer/hooks.ts +100 -0
  119. package/src/components/HMSHLSPlayer/index.ts +9 -0
  120. package/src/index.ts +8 -0
  121. package/src/stores/hls-player-playback-slice.ts +25 -0
  122. package/src/stores/hls-player-stats-store.ts +37 -0
  123. package/src/stores/hms-store.ts +11 -0
  124. package/src/stores/types.ts +49 -0
  125. package/src/types.ts +119 -0
  126. package/android/.gradle/6.9/executionHistory/executionHistory.lock +0 -0
  127. package/android/.gradle/6.9/fileChanges/last-build.bin +0 -0
  128. package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
  129. package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
  130. package/android/.gradle/6.9/gc.properties +0 -0
  131. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  132. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  133. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  134. package/android/.gradle/checksums/checksums.lock +0 -0
  135. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  136. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  137. package/android/.gradle/vcs-1/gc.properties +0 -0
  138. package/android/.idea/compiler.xml +0 -6
  139. package/android/.idea/gradle.xml +0 -18
  140. package/android/.idea/jarRepositories.xml +0 -50
  141. package/android/.idea/libraries/Gradle__androidx_activity_activity_1_2_4_aar.xml +0 -16
  142. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_3_0.xml +0 -11
  143. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_1_0_aar.xml +0 -13
  144. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_4_1_aar.xml +0 -16
  145. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_4_1_aar.xml +0 -13
  146. package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml +0 -11
  147. package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml +0 -13
  148. package/android/.idea/libraries/Gradle__androidx_autofill_autofill_1_1_0_aar.xml +0 -16
  149. package/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml +0 -11
  150. package/android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_2_1_3_aar.xml +0 -13
  151. package/android/.idea/libraries/Gradle__androidx_core_core_1_7_0_aar.xml +0 -16
  152. package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +0 -13
  153. package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +0 -13
  154. package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +0 -16
  155. package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_6_aar.xml +0 -16
  156. package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +0 -13
  157. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_4_0.xml +0 -11
  158. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +0 -13
  159. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml +0 -13
  160. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_4_0_aar.xml +0 -13
  161. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml +0 -13
  162. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml +0 -13
  163. package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +0 -13
  164. package/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml +0 -13
  165. package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +0 -16
  166. package/android/.idea/libraries/Gradle__androidx_tracing_tracing_1_1_0_aar.xml +0 -13
  167. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml +0 -13
  168. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml +0 -13
  169. package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml +0 -13
  170. package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +0 -13
  171. package/android/.idea/libraries/Gradle__com_facebook_fbjni_fbjni_0_3_0_aar.xml +0 -14
  172. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_2_5_0_aar.xml +0 -15
  173. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_2_5_0_aar.xml +0 -18
  174. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_2_5_0_aar.xml +0 -18
  175. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_2_5_0_aar.xml +0 -18
  176. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_2_5_0_aar.xml +0 -18
  177. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_native_2_5_0_aar.xml +0 -15
  178. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_2_5_0_aar.xml +0 -15
  179. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_ashmem_2_5_0_aar.xml +0 -15
  180. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_java_2_5_0_aar.xml +0 -15
  181. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_native_2_5_0_aar.xml +0 -15
  182. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagefilters_2_5_0_aar.xml +0 -15
  183. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagetranscoder_2_5_0_aar.xml +0 -15
  184. package/android/.idea/libraries/Gradle__com_facebook_fresco_ui_common_2_5_0_aar.xml +0 -15
  185. package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_18_0.xml +0 -13
  186. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_71_0_rc_0_debug_aar.xml +0 -14
  187. package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_10_4.xml +0 -13
  188. package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_10_4.xml +0 -13
  189. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_10_4_aar.xml +0 -14
  190. package/android/.idea/libraries/Gradle__com_facebook_yoga_proguard_annotations_1_19_0.xml +0 -13
  191. package/android/.idea/libraries/Gradle__com_github_100mslive_android_sdk_lib_2_5_1_aar.xml +0 -10
  192. package/android/.idea/libraries/Gradle__com_github_100mslive_webrtc_m104_hms_1_3_aar.xml +0 -10
  193. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml +0 -13
  194. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_4_9_2.xml +0 -13
  195. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_4_9_2.xml +0 -13
  196. package/android/.idea/libraries/Gradle__com_squareup_okio_okio_2_9_0.xml +0 -13
  197. package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +0 -13
  198. package/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml +0 -13
  199. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_annotations_jvm_1_3_72.xml +0 -13
  200. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_6_10.xml +0 -13
  201. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_6_10.xml +0 -13
  202. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_6_10.xml +0 -13
  203. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_6_10.xml +0 -13
  204. package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_android_1_6_0.xml +0 -13
  205. package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_1_6_0.xml +0 -13
  206. package/android/.idea/misc.xml +0 -9
  207. package/android/.idea/modules/android.androidTest.iml +0 -203
  208. package/android/.idea/modules/android.iml +0 -40
  209. package/android/.idea/modules/android.main.iml +0 -199
  210. package/android/.idea/modules/android.unitTest.iml +0 -197
  211. package/android/.idea/modules.xml +0 -11
  212. package/android/.idea/sonarlint/issuestore/3/c/3c46088b6add3088181589d8ed726652742b6221 +0 -5
  213. package/android/.idea/sonarlint/issuestore/a/8/a8c9f5ddd88723818e51ae3cf8693d02355a8691 +0 -0
  214. package/android/.idea/sonarlint/issuestore/f/0/f07866736216be0ee2aba49e392191aeae700a35 +0 -0
  215. package/android/.idea/sonarlint/issuestore/index.pb +0 -7
  216. package/android/.idea/vcs.xml +0 -6
@@ -58,23 +58,25 @@ class HMSPeersCache {
58
58
  }
59
59
  updatePeerCache(peerId, data, updateType) {
60
60
  const peerObj = this._data.get(peerId);
61
+ if (updateType === _HMSPeerUpdate.HMSPeerUpdate.PEER_JOINED) {
62
+ if (!peerObj) {
63
+ this._data.set(peerId, data);
64
+ }
65
+ return;
66
+ }
61
67
  if (updateType === _HMSPeerUpdate.HMSPeerUpdate.PEER_LEFT) {
62
68
  this._data.delete(peerId);
63
69
  return;
64
70
  }
65
- let updatedObj = {
66
- ...peerObj
67
- };
71
+ let updatedObj = peerObj || {};
68
72
  switch (updateType) {
69
73
  case _HMSTrackUpdate.HMSTrackUpdate.TRACK_ADDED:
70
74
  {
71
75
  const track = data.track;
72
76
  if (track.source === _HMSTrackSource.HMSTrackSource.REGULAR) {
73
77
  if (track.type === _HMSTrackType.HMSTrackType.VIDEO) {
74
- updatedObj.videoTrack = {
75
- ...track,
76
- isDegraded: false
77
- };
78
+ updatedObj.videoTrack = track;
79
+ updatedObj.videoTrack.isDegraded = false;
78
80
  } else if (track.type === _HMSTrackType.HMSTrackType.AUDIO) {
79
81
  updatedObj.audioTrack = track;
80
82
  }
@@ -97,10 +99,7 @@ class HMSPeersCache {
97
99
  updatedObj.audioTrack = undefined;
98
100
  }
99
101
  } else if (Array.isArray(updatedObj.auxiliaryTracks)) {
100
- updatedObj = {
101
- ...updatedObj,
102
- auxiliaryTracks: updatedObj.auxiliaryTracks.filter(auxiliaryTrack => auxiliaryTrack.trackId !== track.trackId)
103
- };
102
+ updatedObj.auxiliaryTracks = updatedObj.auxiliaryTracks.filter(auxiliaryTrack => auxiliaryTrack.trackId !== track.trackId);
104
103
  }
105
104
  break;
106
105
  }
@@ -111,10 +110,9 @@ class HMSPeersCache {
111
110
  if (track.source === _HMSTrackSource.HMSTrackSource.REGULAR) {
112
111
  if (track.type === _HMSTrackType.HMSTrackType.VIDEO) {
113
112
  var _updatedObj$videoTrac;
114
- updatedObj.videoTrack = {
115
- ...track,
116
- isDegraded: ((_updatedObj$videoTrac = updatedObj.videoTrack) === null || _updatedObj$videoTrac === void 0 ? void 0 : _updatedObj$videoTrac.isDegraded) || false
117
- };
113
+ const oldIsDegraded = ((_updatedObj$videoTrac = updatedObj.videoTrack) === null || _updatedObj$videoTrac === void 0 ? void 0 : _updatedObj$videoTrac.isDegraded) || false;
114
+ updatedObj.videoTrack = track;
115
+ updatedObj.videoTrack.isDegraded = oldIsDegraded;
118
116
  } else if (track.type === _HMSTrackType.HMSTrackType.AUDIO) {
119
117
  updatedObj.audioTrack = track;
120
118
  }
@@ -136,27 +134,22 @@ class HMSPeersCache {
136
134
  const track = data.track;
137
135
  if (track.source === _HMSTrackSource.HMSTrackSource.REGULAR) {
138
136
  if (track.type === _HMSTrackType.HMSTrackType.VIDEO) {
139
- updatedObj.videoTrack = {
140
- ...track,
141
- isDegraded: updateType === _HMSTrackUpdate.HMSTrackUpdate.TRACK_DEGRADED
142
- };
137
+ updatedObj.videoTrack = track;
138
+ updatedObj.videoTrack.isDegraded = updateType === _HMSTrackUpdate.HMSTrackUpdate.TRACK_DEGRADED;
143
139
  } else if (track.type === _HMSTrackType.HMSTrackType.AUDIO) {
144
140
  updatedObj.audioTrack = track;
145
141
  }
146
142
  } else {
147
143
  if (Array.isArray(updatedObj.auxiliaryTracks)) {
148
- updatedObj = {
149
- ...updatedObj,
150
- auxiliaryTracks: updatedObj.auxiliaryTracks.map(auxiliaryTrack => {
151
- if (auxiliaryTrack.trackId === track.trackId) {
152
- return {
153
- ...auxiliaryTrack,
154
- isDegraded: updateType === _HMSTrackUpdate.HMSTrackUpdate.TRACK_DEGRADED
155
- };
156
- }
157
- return auxiliaryTrack;
158
- })
159
- };
144
+ updatedObj.auxiliaryTracks = updatedObj.auxiliaryTracks.map(auxiliaryTrack => {
145
+ if (auxiliaryTrack.trackId === track.trackId) {
146
+ return {
147
+ ...auxiliaryTrack,
148
+ isDegraded: updateType === _HMSTrackUpdate.HMSTrackUpdate.TRACK_DEGRADED
149
+ };
150
+ }
151
+ return auxiliaryTrack;
152
+ });
160
153
  } else {
161
154
  updatedObj.auxiliaryTracks = [track];
162
155
  }
@@ -174,14 +167,13 @@ class HMSPeersCache {
174
167
  break;
175
168
  }
176
169
  case _HMSPeerUpdate.HMSPeerUpdate.METADATA_CHANGED:
170
+ {
171
+ updatedObj.metadata = data.metadata;
172
+ break;
173
+ }
177
174
  case _HMSPeerUpdate.HMSPeerUpdate.NAME_CHANGED:
178
- case _HMSPeerUpdate.HMSPeerUpdate.PEER_JOINED:
179
- case _HMSPeerUpdate.HMSPeerUpdate.ROLE_CHANGED:
180
175
  {
181
- updatedObj = {
182
- ...updatedObj,
183
- ...data
184
- };
176
+ updatedObj.name = data.name;
185
177
  break;
186
178
  }
187
179
  default:
@@ -220,7 +212,7 @@ function getPeerPropertyFromNative(id, peerId, property) {
220
212
  } else if (property === 'auxiliaryTracks') {
221
213
  value = data && Array.isArray(data.auxiliaryTracks) ? _HMSEncoder.HMSEncoder.encodeHmsAuxiliaryTracks(data.auxiliaryTracks, id) : undefined;
222
214
  } else if (property === 'name') {
223
- value = (data === null || data === void 0 ? void 0 : data[property]) || '';
215
+ value = data === null || data === void 0 ? void 0 : data[property];
224
216
  } else {
225
217
  value = data ? data[property] : undefined;
226
218
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_HMSEncoder","_HMSPeerUpdate","_HMSTrackUpdate","_HMSTrackType","_HMSTrackSource","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","HMSManager","NativeModules","hmsPeersCache","exports","getHmsPeersCache","setHmsPeersCache","_hmsPeersCache","clearHmsPeersCache","cleanup","HMSPeersCache","constructor","id","Map","getProperty","peerId","property","peerObj","_data","get","encodedValue","getPeerPropertyFromNative","set","updatePeerCache","data","updateType","HMSPeerUpdate","PEER_LEFT","delete","updatedObj","HMSTrackUpdate","TRACK_ADDED","track","source","HMSTrackSource","REGULAR","type","HMSTrackType","VIDEO","videoTrack","isDegraded","AUDIO","audioTrack","Array","isArray","auxiliaryTracks","push","TRACK_REMOVED","filter","auxiliaryTrack","trackId","TRACK_MUTED","TRACK_UNMUTED","_updatedObj$videoTrac","map","TRACK_DEGRADED","TRACK_RESTORED","ROLE_CHANGED","role","HMSEncoder","encodeHmsRole","NETWORK_QUALITY_UPDATED","networkQuality","encodeHMSNetworkQuality","METADATA_CHANGED","NAME_CHANGED","PEER_JOINED","keys","length","clear","getPeerProperty","encodeHmsAudioTrack","encodeHmsVideoTrack","encodeHmsAuxiliaryTracks"],"sources":["HMSPeersCache.ts"],"sourcesContent":["import { NativeModules } from 'react-native';\nimport type { HMSPeer } from './HMSPeer';\nimport { HMSEncoder } from './HMSEncoder';\nimport { HMSPeerUpdate } from './HMSPeerUpdate';\nimport { HMSTrackUpdate } from './HMSTrackUpdate';\nimport type { HMSTrack } from './HMSTrack';\nimport { HMSTrackType } from './HMSTrackType';\nimport { HMSTrackSource } from './HMSTrackSource';\n\nconst { HMSManager } = NativeModules;\n\nexport let hmsPeersCache: HMSPeersCache | undefined;\n\nexport const getHmsPeersCache = () => {\n return hmsPeersCache;\n};\n\nexport const setHmsPeersCache = (_hmsPeersCache: HMSPeersCache) => {\n hmsPeersCache = _hmsPeersCache;\n};\n\nexport const clearHmsPeersCache = () => {\n if (hmsPeersCache) {\n hmsPeersCache.cleanup();\n }\n hmsPeersCache = undefined;\n};\n\nexport type HMSPeerCacheProps = Partial<\n Omit<HMSPeer, 'peerID' | 'customerDescription'>\n>;\n\nexport class HMSPeersCache {\n private _data = new Map<string, HMSPeerCacheProps>();\n private id: string;\n\n constructor(id: string) {\n this.id = id;\n }\n\n getProperty<T extends keyof HMSPeerCacheProps>(\n peerId: string,\n property: T\n ): HMSPeerCacheProps[T] | undefined {\n const peerObj = this._data.get(peerId);\n\n if (peerObj && property in peerObj) {\n return peerObj[property];\n }\n\n const encodedValue = getPeerPropertyFromNative(this.id, peerId, property);\n\n if (!peerObj) {\n this._data.set(peerId, { [property]: encodedValue });\n } else {\n peerObj[property] = encodedValue;\n }\n\n return encodedValue;\n }\n\n updatePeerCache(\n peerId: string,\n data: Partial<Record<keyof HMSPeerCacheProps | 'track', any>>,\n updateType?: HMSPeerUpdate | HMSTrackUpdate\n ) {\n const peerObj = this._data.get(peerId);\n\n if (updateType === HMSPeerUpdate.PEER_LEFT) {\n this._data.delete(peerId);\n return;\n }\n\n let updatedObj = { ...peerObj };\n\n switch (updateType) {\n case HMSTrackUpdate.TRACK_ADDED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n updatedObj.videoTrack = { ...track, isDegraded: false };\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = track;\n }\n } else {\n if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj.auxiliaryTracks.push(track);\n } else {\n updatedObj.auxiliaryTracks = [track];\n }\n }\n break;\n }\n case HMSTrackUpdate.TRACK_REMOVED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n updatedObj.videoTrack = undefined;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = undefined;\n }\n } else if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj = {\n ...updatedObj,\n auxiliaryTracks: updatedObj.auxiliaryTracks.filter(\n (auxiliaryTrack) => auxiliaryTrack.trackId !== track.trackId\n ),\n };\n }\n break;\n }\n case HMSTrackUpdate.TRACK_MUTED:\n case HMSTrackUpdate.TRACK_UNMUTED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n updatedObj.videoTrack = {\n ...track,\n isDegraded: updatedObj.videoTrack?.isDegraded || false,\n };\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = track;\n }\n } else {\n if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj = {\n ...updatedObj,\n auxiliaryTracks: updatedObj.auxiliaryTracks.map(\n (auxiliaryTrack) =>\n auxiliaryTrack.trackId === track.trackId\n ? track\n : auxiliaryTrack\n ),\n };\n } else {\n updatedObj.auxiliaryTracks = [track];\n }\n }\n break;\n }\n case HMSTrackUpdate.TRACK_DEGRADED:\n case HMSTrackUpdate.TRACK_RESTORED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n updatedObj.videoTrack = {\n ...track,\n isDegraded: updateType === HMSTrackUpdate.TRACK_DEGRADED,\n };\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = track;\n }\n } else {\n if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj = {\n ...updatedObj,\n auxiliaryTracks: updatedObj.auxiliaryTracks.map(\n (auxiliaryTrack) => {\n if (auxiliaryTrack.trackId === track.trackId) {\n return {\n ...auxiliaryTrack,\n isDegraded: updateType === HMSTrackUpdate.TRACK_DEGRADED,\n };\n }\n\n return auxiliaryTrack;\n }\n ),\n };\n } else {\n updatedObj.auxiliaryTracks = [track];\n }\n }\n break;\n }\n case HMSPeerUpdate.ROLE_CHANGED: {\n updatedObj.role = HMSEncoder.encodeHmsRole(data.role);\n break;\n }\n case HMSPeerUpdate.NETWORK_QUALITY_UPDATED: {\n updatedObj.networkQuality = HMSEncoder.encodeHMSNetworkQuality(\n data.networkQuality\n );\n break;\n }\n case HMSPeerUpdate.METADATA_CHANGED:\n case HMSPeerUpdate.NAME_CHANGED:\n case HMSPeerUpdate.PEER_JOINED:\n case HMSPeerUpdate.ROLE_CHANGED: {\n updatedObj = { ...updatedObj, ...data };\n break;\n }\n default: {\n updatedObj = { ...updatedObj, ...data };\n break;\n }\n }\n\n if (Object.keys(updatedObj).length > 0) {\n this._data.set(peerId, updatedObj);\n }\n }\n\n cleanup() {\n this._data.clear();\n }\n}\n\nexport function getPeerPropertyFromNative<T extends keyof HMSPeerCacheProps>(\n id: string,\n peerId: string,\n property: T\n): HMSPeerCacheProps[T] {\n const data: any = HMSManager.getPeerProperty({\n id,\n peerId,\n property,\n });\n\n let value;\n\n if (property === 'role') {\n value = data ? HMSEncoder.encodeHmsRole(data.role) : undefined;\n } else if (property === 'networkQuality') {\n value = data\n ? HMSEncoder.encodeHMSNetworkQuality(data.networkQuality)\n : undefined;\n } else if (property === 'audioTrack') {\n value = data\n ? HMSEncoder.encodeHmsAudioTrack(data.audioTrack, id)\n : undefined;\n } else if (property === 'videoTrack') {\n value = data\n ? HMSEncoder.encodeHmsVideoTrack(data.videoTrack, id)\n : undefined;\n } else if (property === 'auxiliaryTracks') {\n value =\n data && Array.isArray(data.auxiliaryTracks)\n ? HMSEncoder.encodeHmsAuxiliaryTracks(data.auxiliaryTracks, id)\n : undefined;\n } else if (property === 'name') {\n value = data?.[property] || '';\n } else {\n value = data ? data[property] : undefined;\n }\n\n return value;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_HMSEncoder","_HMSPeerUpdate","_HMSTrackUpdate","_HMSTrackType","_HMSTrackSource","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","HMSManager","NativeModules","hmsPeersCache","exports","getHmsPeersCache","setHmsPeersCache","_hmsPeersCache","clearHmsPeersCache","cleanup","HMSPeersCache","constructor","id","Map","getProperty","peerId","property","peerObj","_data","get","encodedValue","getPeerPropertyFromNative","set","updatePeerCache","data","updateType","HMSPeerUpdate","PEER_JOINED","PEER_LEFT","delete","updatedObj","HMSTrackUpdate","TRACK_ADDED","track","source","HMSTrackSource","REGULAR","type","HMSTrackType","VIDEO","videoTrack","isDegraded","AUDIO","audioTrack","Array","isArray","auxiliaryTracks","push","TRACK_REMOVED","filter","auxiliaryTrack","trackId","TRACK_MUTED","TRACK_UNMUTED","_updatedObj$videoTrac","oldIsDegraded","map","TRACK_DEGRADED","TRACK_RESTORED","ROLE_CHANGED","role","HMSEncoder","encodeHmsRole","NETWORK_QUALITY_UPDATED","networkQuality","encodeHMSNetworkQuality","METADATA_CHANGED","metadata","NAME_CHANGED","name","keys","length","clear","getPeerProperty","encodeHmsAudioTrack","encodeHmsVideoTrack","encodeHmsAuxiliaryTracks"],"sources":["HMSPeersCache.ts"],"sourcesContent":["import { NativeModules } from 'react-native';\nimport { HMSEncoder } from './HMSEncoder';\nimport { HMSPeerUpdate } from './HMSPeerUpdate';\nimport { HMSTrackUpdate } from './HMSTrackUpdate';\nimport type { HMSTrack } from './HMSTrack';\nimport { HMSTrackType } from './HMSTrackType';\nimport { HMSTrackSource } from './HMSTrackSource';\nimport type { HMSNetworkQuality } from './HMSNetworkQuality';\nimport type { HMSRole } from './HMSRole';\nimport type { HMSAudioTrack } from './HMSAudioTrack';\nimport type { HMSVideoTrack } from './HMSVideoTrack';\n\nconst { HMSManager } = NativeModules;\n\nexport let hmsPeersCache: HMSPeersCache | undefined;\n\nexport const getHmsPeersCache = () => {\n return hmsPeersCache;\n};\n\nexport const setHmsPeersCache = (_hmsPeersCache: HMSPeersCache) => {\n hmsPeersCache = _hmsPeersCache;\n};\n\nexport const clearHmsPeersCache = () => {\n if (hmsPeersCache) {\n hmsPeersCache.cleanup();\n }\n hmsPeersCache = undefined;\n};\n\nexport type HMSPeerCacheProps = {\n peerID?: string | undefined;\n name?: string | undefined;\n isLocal?: boolean | undefined;\n networkQuality?: HMSNetworkQuality | undefined;\n customerUserID?: string | undefined;\n metadata?: string | undefined;\n role?: HMSRole | undefined;\n audioTrack?: HMSAudioTrack | undefined;\n videoTrack?: HMSVideoTrack | undefined;\n auxiliaryTracks?: HMSTrack[] | undefined;\n};\n\nexport class HMSPeersCache {\n private _data = new Map<string, HMSPeerCacheProps>();\n private id: string;\n\n constructor(id: string) {\n this.id = id;\n }\n\n getProperty<T extends keyof HMSPeerCacheProps>(\n peerId: string,\n property: T\n ): HMSPeerCacheProps[T] | undefined {\n const peerObj = this._data.get(peerId);\n\n if (peerObj && property in peerObj) {\n return peerObj[property];\n }\n\n const encodedValue = getPeerPropertyFromNative(this.id, peerId, property);\n\n if (!peerObj) {\n this._data.set(peerId, { [property]: encodedValue });\n } else {\n peerObj[property] = encodedValue;\n }\n\n return encodedValue;\n }\n\n updatePeerCache(\n peerId: string,\n data: Partial<Record<keyof HMSPeerCacheProps | 'track', any>>,\n updateType?: HMSPeerUpdate | HMSTrackUpdate\n ) {\n const peerObj = this._data.get(peerId);\n\n if (updateType === HMSPeerUpdate.PEER_JOINED) {\n if (!peerObj) {\n this._data.set(peerId, data);\n }\n return;\n }\n\n if (updateType === HMSPeerUpdate.PEER_LEFT) {\n this._data.delete(peerId);\n return;\n }\n\n let updatedObj = peerObj || {};\n\n switch (updateType) {\n case HMSTrackUpdate.TRACK_ADDED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n updatedObj.videoTrack = track;\n updatedObj.videoTrack.isDegraded = false;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = track;\n }\n } else {\n if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj.auxiliaryTracks.push(track);\n } else {\n updatedObj.auxiliaryTracks = [track];\n }\n }\n break;\n }\n case HMSTrackUpdate.TRACK_REMOVED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n updatedObj.videoTrack = undefined;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = undefined;\n }\n } else if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj.auxiliaryTracks = updatedObj.auxiliaryTracks.filter(\n (auxiliaryTrack) => auxiliaryTrack.trackId !== track.trackId\n );\n }\n break;\n }\n case HMSTrackUpdate.TRACK_MUTED:\n case HMSTrackUpdate.TRACK_UNMUTED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n const oldIsDegraded = updatedObj.videoTrack?.isDegraded || false;\n updatedObj.videoTrack = track;\n updatedObj.videoTrack.isDegraded = oldIsDegraded;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = track;\n }\n } else {\n if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj = {\n ...updatedObj,\n auxiliaryTracks: updatedObj.auxiliaryTracks.map(\n (auxiliaryTrack) =>\n auxiliaryTrack.trackId === track.trackId\n ? track\n : auxiliaryTrack\n ),\n };\n } else {\n updatedObj.auxiliaryTracks = [track];\n }\n }\n break;\n }\n case HMSTrackUpdate.TRACK_DEGRADED:\n case HMSTrackUpdate.TRACK_RESTORED: {\n const track = data.track as HMSTrack;\n\n if (track.source === HMSTrackSource.REGULAR) {\n if (track.type === HMSTrackType.VIDEO) {\n updatedObj.videoTrack = track;\n updatedObj.videoTrack.isDegraded =\n updateType === HMSTrackUpdate.TRACK_DEGRADED;\n } else if (track.type === HMSTrackType.AUDIO) {\n updatedObj.audioTrack = track;\n }\n } else {\n if (Array.isArray(updatedObj.auxiliaryTracks)) {\n updatedObj.auxiliaryTracks = updatedObj.auxiliaryTracks.map(\n (auxiliaryTrack) => {\n if (auxiliaryTrack.trackId === track.trackId) {\n return {\n ...auxiliaryTrack,\n isDegraded: updateType === HMSTrackUpdate.TRACK_DEGRADED,\n };\n }\n\n return auxiliaryTrack;\n }\n );\n } else {\n updatedObj.auxiliaryTracks = [track];\n }\n }\n break;\n }\n case HMSPeerUpdate.ROLE_CHANGED: {\n updatedObj.role = HMSEncoder.encodeHmsRole(data.role);\n break;\n }\n case HMSPeerUpdate.NETWORK_QUALITY_UPDATED: {\n updatedObj.networkQuality = HMSEncoder.encodeHMSNetworkQuality(\n data.networkQuality\n );\n break;\n }\n case HMSPeerUpdate.METADATA_CHANGED: {\n updatedObj.metadata = data.metadata;\n break;\n }\n case HMSPeerUpdate.NAME_CHANGED: {\n updatedObj.name = data.name;\n break;\n }\n default: {\n updatedObj = { ...updatedObj, ...data };\n break;\n }\n }\n\n if (Object.keys(updatedObj).length > 0) {\n this._data.set(peerId, updatedObj);\n }\n }\n\n cleanup() {\n this._data.clear();\n }\n}\n\nexport function getPeerPropertyFromNative<T extends keyof HMSPeerCacheProps>(\n id: string,\n peerId: string,\n property: T\n): HMSPeerCacheProps[T] {\n const data: any = HMSManager.getPeerProperty({\n id,\n peerId,\n property,\n });\n\n let value;\n\n if (property === 'role') {\n value = data ? HMSEncoder.encodeHmsRole(data.role) : undefined;\n } else if (property === 'networkQuality') {\n value = data\n ? HMSEncoder.encodeHMSNetworkQuality(data.networkQuality)\n : undefined;\n } else if (property === 'audioTrack') {\n value = data\n ? HMSEncoder.encodeHmsAudioTrack(data.audioTrack, id)\n : undefined;\n } else if (property === 'videoTrack') {\n value = data\n ? HMSEncoder.encodeHmsVideoTrack(data.videoTrack, id)\n : undefined;\n } else if (property === 'auxiliaryTracks') {\n value =\n data && Array.isArray(data.auxiliaryTracks)\n ? HMSEncoder.encodeHmsAuxiliaryTracks(data.auxiliaryTracks, id)\n : undefined;\n } else if (property === 'name') {\n value = data?.[property];\n } else {\n value = data ? data[property] : undefined;\n }\n\n return value;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["HMSRTMPConfig","constructor","params","_defineProperty","meetingURL","rtmpURLs","record","resolution","exports"],"sources":["HMSRTMPConfig.ts"],"sourcesContent":["import type { HMSRtmpVideoResolution } from './HMSRtmpVideoResolution';\n\nexport class HMSRTMPConfig {\n meetingURL: string;\n rtmpURLs?: Array<string>;\n record: boolean;\n resolution?: HMSRtmpVideoResolution;\n\n constructor(params: {\n meetingURL: string;\n rtmpURLs?: Array<string>;\n record: boolean;\n resolution?: HMSRtmpVideoResolution;\n }) {\n this.meetingURL = params.meetingURL;\n this.rtmpURLs = params.rtmpURLs;\n this.record = params.record;\n this.resolution = params.resolution;\n }\n}\n"],"mappings":";;;;;;;;;AAEO,MAAMA,aAAa,CAAC;EAMzBC,WAAWA,CAACC,MAKX,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACD,IAAI,CAACC,UAAU,GAAGF,MAAM,CAACE,UAAU;IACnC,IAAI,CAACC,QAAQ,GAAGH,MAAM,CAACG,QAAQ;IAC/B,IAAI,CAACC,MAAM,GAAGJ,MAAM,CAACI,MAAM;IAC3B,IAAI,CAACC,UAAU,GAAGL,MAAM,CAACK,UAAU;EACrC;AACF;AAACC,OAAA,CAAAR,aAAA,GAAAA,aAAA"}
1
+ {"version":3,"names":["HMSRTMPConfig","constructor","params","_defineProperty","meetingURL","rtmpURLs","record","resolution","exports"],"sources":["HMSRTMPConfig.ts"],"sourcesContent":["import type { HMSRtmpVideoResolution } from './HMSRtmpVideoResolution';\n\nexport class HMSRTMPConfig {\n meetingURL?: string;\n rtmpURLs?: Array<string>;\n record: boolean;\n resolution?: HMSRtmpVideoResolution;\n\n constructor(params: {\n meetingURL?: string;\n rtmpURLs?: Array<string>;\n record: boolean;\n resolution?: HMSRtmpVideoResolution;\n }) {\n this.meetingURL = params.meetingURL;\n this.rtmpURLs = params.rtmpURLs;\n this.record = params.record;\n this.resolution = params.resolution;\n }\n}\n"],"mappings":";;;;;;;;;AAEO,MAAMA,aAAa,CAAC;EAMzBC,WAAWA,CAACC,MAKX,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACD,IAAI,CAACC,UAAU,GAAGF,MAAM,CAACE,UAAU;IACnC,IAAI,CAACC,QAAQ,GAAGH,MAAM,CAACG,QAAQ;IAC/B,IAAI,CAACC,MAAM,GAAGJ,MAAM,CAACI,MAAM;IAC3B,IAAI,CAACC,UAAU,GAAGL,MAAM,CAACK,UAAU;EACrC;AACF;AAACC,OAAA,CAAAR,aAAA,GAAAA,aAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["_HMSPeer","require","_HMSRemoteAudioTrack","_HMSRemoteVideoTrack","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","HMSRemotePeer","HMSPeer","constructor","params","remoteAudio","remoteVideo","remoteAudioTrackData","HMSRemoteAudioTrack","remoteVideoTrackData","HMSRemoteVideoTrack","exports"],"sources":["HMSRemotePeer.ts"],"sourcesContent":["import { HMSPeer } from './HMSPeer';\nimport { HMSRemoteAudioTrack } from './HMSRemoteAudioTrack';\nimport { HMSRemoteVideoTrack } from './HMSRemoteVideoTrack';\n\nexport class HMSRemotePeer extends HMSPeer {\n private remoteAudio?: HMSRemoteAudioTrack;\n private remoteVideo?: HMSRemoteVideoTrack;\n\n remoteAudioTrack = () => {\n return this.remoteAudio;\n };\n\n remoteVideoTrack = () => {\n return this.remoteVideo;\n };\n\n constructor(params: {\n peerID: string;\n customerDescription?: string;\n remoteAudioTrackData?: {\n trackId: string;\n source?: number | string;\n isMute?: boolean;\n trackDescription?: string;\n playbackAllowed?: boolean;\n id: string;\n };\n remoteVideoTrackData?: {\n trackId: string;\n source?: number | string;\n trackDescription?: string;\n isMute?: boolean;\n playbackAllowed?: boolean;\n id: string;\n };\n }) {\n super(params);\n if (params.remoteAudioTrackData) {\n this.remoteAudio = new HMSRemoteAudioTrack(params.remoteAudioTrackData);\n }\n\n if (params.remoteVideoTrackData) {\n this.remoteVideo = new HMSRemoteVideoTrack(params.remoteVideoTrackData);\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAD,OAAA;AACA,IAAAE,oBAAA,GAAAF,OAAA;AAA4D,SAAAG,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAErD,MAAMU,aAAa,SAASC,gBAAO,CAAC;EAYzCC,WAAWA,CAACC,MAmBX,EAAE;IACD,KAAK,CAACA,MAAM,CAAC;IAAC1B,eAAA;IAAAA,eAAA;IAAAA,eAAA,2BA5BG,MAAM;MACvB,OAAO,IAAI,CAAC2B,WAAW;IACzB,CAAC;IAAA3B,eAAA,2BAEkB,MAAM;MACvB,OAAO,IAAI,CAAC4B,WAAW;IACzB,CAAC;IAuBC,IAAIF,MAAM,CAACG,oBAAoB,EAAE;MAC/B,IAAI,CAACF,WAAW,GAAG,IAAIG,wCAAmB,CAACJ,MAAM,CAACG,oBAAoB,CAAC;IACzE;IAEA,IAAIH,MAAM,CAACK,oBAAoB,EAAE;MAC/B,IAAI,CAACH,WAAW,GAAG,IAAII,wCAAmB,CAACN,MAAM,CAACK,oBAAoB,CAAC;IACzE;EACF;AACF;AAACE,OAAA,CAAAV,aAAA,GAAAA,aAAA"}
1
+ {"version":3,"names":["_HMSPeer","require","_HMSRemoteAudioTrack","_HMSRemoteVideoTrack","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","HMSRemotePeer","HMSPeer","constructor","params","remoteAudio","remoteVideo","remoteAudioTrackData","HMSRemoteAudioTrack","remoteVideoTrackData","HMSRemoteVideoTrack","exports"],"sources":["HMSRemotePeer.ts"],"sourcesContent":["import { HMSPeer } from './HMSPeer';\nimport { HMSRemoteAudioTrack } from './HMSRemoteAudioTrack';\nimport { HMSRemoteVideoTrack } from './HMSRemoteVideoTrack';\n\nexport class HMSRemotePeer extends HMSPeer {\n private remoteAudio?: HMSRemoteAudioTrack;\n private remoteVideo?: HMSRemoteVideoTrack;\n\n remoteAudioTrack = () => {\n return this.remoteAudio;\n };\n\n remoteVideoTrack = () => {\n return this.remoteVideo;\n };\n\n constructor(params: {\n peerID: string;\n remoteAudioTrackData?: {\n trackId: string;\n source?: number | string;\n isMute?: boolean;\n trackDescription?: string;\n playbackAllowed?: boolean;\n id: string;\n };\n remoteVideoTrackData?: {\n trackId: string;\n source?: number | string;\n trackDescription?: string;\n isMute?: boolean;\n playbackAllowed?: boolean;\n id: string;\n };\n }) {\n super(params);\n if (params.remoteAudioTrackData) {\n this.remoteAudio = new HMSRemoteAudioTrack(params.remoteAudioTrackData);\n }\n\n if (params.remoteVideoTrackData) {\n this.remoteVideo = new HMSRemoteVideoTrack(params.remoteVideoTrackData);\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAD,OAAA;AACA,IAAAE,oBAAA,GAAAF,OAAA;AAA4D,SAAAG,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAErD,MAAMU,aAAa,SAASC,gBAAO,CAAC;EAYzCC,WAAWA,CAACC,MAkBX,EAAE;IACD,KAAK,CAACA,MAAM,CAAC;IAAC1B,eAAA;IAAAA,eAAA;IAAAA,eAAA,2BA3BG,MAAM;MACvB,OAAO,IAAI,CAAC2B,WAAW;IACzB,CAAC;IAAA3B,eAAA,2BAEkB,MAAM;MACvB,OAAO,IAAI,CAAC4B,WAAW;IACzB,CAAC;IAsBC,IAAIF,MAAM,CAACG,oBAAoB,EAAE;MAC/B,IAAI,CAACF,WAAW,GAAG,IAAIG,wCAAmB,CAACJ,MAAM,CAACG,oBAAoB,CAAC;IACzE;IAEA,IAAIH,MAAM,CAACK,oBAAoB,EAAE;MAC/B,IAAI,CAACH,WAAW,GAAG,IAAII,wCAAmB,CAACN,MAAM,CAACK,oBAAoB,CAAC;IACzE;EACF;AACF;AAACE,OAAA,CAAAV,aAAA,GAAAA,aAAA"}
@@ -239,11 +239,12 @@ class HMSSDK {
239
239
  type: type || null,
240
240
  id: _this.id
241
241
  });
242
- return await HMSManager.sendBroadcastMessage({
242
+ const data = await HMSManager.sendBroadcastMessage({
243
243
  message,
244
244
  type: type || null,
245
245
  id: _this.id
246
246
  });
247
+ return data;
247
248
  });
248
249
  /**
249
250
  * - sendGroupMessage sends a message to specific set of roles, whoever has any of those role in room
@@ -261,12 +262,13 @@ class HMSSDK {
261
262
  id: _this.id,
262
263
  type: type || null
263
264
  });
264
- return await HMSManager.sendGroupMessage({
265
+ const data = await HMSManager.sendGroupMessage({
265
266
  message,
266
267
  roles: _HMSHelper.HMSHelper.getRoleNames(roles),
267
268
  id: _this.id,
268
269
  type: type || null
269
270
  });
271
+ return data;
270
272
  });
271
273
  /**
272
274
  * - sendDirectMessage sends a private message to a single peer, only that peer will get the message
@@ -284,12 +286,13 @@ class HMSSDK {
284
286
  id: _this.id,
285
287
  type: type || null
286
288
  });
287
- return await HMSManager.sendDirectMessage({
289
+ const data = await HMSManager.sendDirectMessage({
288
290
  message,
289
291
  peerId: peer.peerID,
290
292
  id: _this.id,
291
293
  type: type || null
292
294
  });
295
+ return data;
293
296
  });
294
297
  /**
295
298
  * - changeMetadata changes a specific field in localPeer which is [metadata] it is a string that can
@@ -942,6 +945,7 @@ class HMSSDK {
942
945
  }
943
946
  });
944
947
  /**
948
+ * Android Only
945
949
  * - This wrapper function used to switch output to device other than the default, currently available only for android.
946
950
  *
947
951
  * checkout {@link https://www.100ms.live/docs/react-native/v2/features/audio-output-routing#switch-audio-focus-to-another-device} for more info
@@ -964,6 +968,17 @@ class HMSSDK {
964
968
  return 'API currently not available for iOS';
965
969
  }
966
970
  });
971
+ _defineProperty(this, "switchAudioOutputUsingIOSUI", () => {
972
+ _HMSLogger.logger === null || _HMSLogger.logger === void 0 ? void 0 : _HMSLogger.logger.verbose('#Function switchAudioOutputUsingIOSUI', {
973
+ id: this.id
974
+ });
975
+ if (_reactNative.Platform.OS !== 'ios') {
976
+ throw new Error('#Function `switchAudioOutputUsingIOSUI` is only available on iOS, use `switchAudioOutput` method instead!');
977
+ }
978
+ return HMSManager.switchAudioOutputUsingIOSUI({
979
+ id: this.id
980
+ });
981
+ });
967
982
  /**
968
983
  * - This wrapper function used to change Audio Mode manually, currently available only for android.
969
984
  *
@@ -1009,36 +1024,6 @@ class HMSSDK {
1009
1024
  return 'API currently not available for iOS';
1010
1025
  }
1011
1026
  });
1012
- /**
1013
- * @deprecated Older SessionMetaData APIs has been deprecated in favour of newer Session Store APIs.
1014
- * You can subscribe to `ON_SESSION_STORE_AVAILABLE` event to get notified when the `HMSSessionStore`
1015
- * is available and use `set` method on `HMSSessionStore` instance
1016
- * checkout {@link https://www.100ms.live/docs/react-native/v2/how-to-guides/}
1017
- */
1018
- _defineProperty(this, "setSessionMetaData", async sessionMetaData => {
1019
- _HMSLogger.logger === null || _HMSLogger.logger === void 0 ? void 0 : _HMSLogger.logger.verbose('#Function setSessionMetaData', {
1020
- id: this.id,
1021
- sessionMetaData
1022
- });
1023
- return await HMSManager.setSessionMetaData({
1024
- id: this.id,
1025
- sessionMetaData
1026
- });
1027
- });
1028
- /**
1029
- * @deprecated Older SessionMetaData APIs has been deprecated in favour of newer Session Store APIs.
1030
- * You can subscribe to `ON_SESSION_STORE_AVAILABLE` event to get notified when the `HMSSessionStore`
1031
- * is available and use `get` or `addKeyChangeListener` method on `HMSSessionStore` instance
1032
- * checkout {@link https://www.100ms.live/docs/react-native/v2/how-to-guides/}
1033
- */
1034
- _defineProperty(this, "getSessionMetaData", async () => {
1035
- _HMSLogger.logger === null || _HMSLogger.logger === void 0 ? void 0 : _HMSLogger.logger.verbose('#Function getSessionMetaData', {
1036
- id: this.id
1037
- });
1038
- return await HMSManager.getSessionMetaData({
1039
- id: this.id
1040
- });
1041
- });
1042
1027
  _defineProperty(this, "getRemoteVideoTrackFromTrackId", async trackId => {
1043
1028
  _HMSLogger.logger === null || _HMSLogger.logger === void 0 ? void 0 : _HMSLogger.logger.verbose('#Function getRemoteVideoTrackFromTrackId', {
1044
1029
  id: this.id,
@@ -1061,6 +1046,24 @@ class HMSSDK {
1061
1046
  });
1062
1047
  return _HMSEncoder.HMSEncoder.encodeHmsRemoteAudioTrack(remoteAudioTrackData, this.id);
1063
1048
  });
1049
+ _defineProperty(this, "getPeerFromPeerId", peerId => {
1050
+ _HMSLogger.logger === null || _HMSLogger.logger === void 0 ? void 0 : _HMSLogger.logger.verbose('#Function getPeerFromPeerId', {
1051
+ id: this.id,
1052
+ peerId
1053
+ });
1054
+ // Getting Peer Cache
1055
+ const peersCache = (0, _HMSPeersCache.getHmsPeersCache)();
1056
+
1057
+ // If Peer Cache doesn't exist, return `undefined` as we don't have Peer
1058
+ if (!peersCache) return;
1059
+ const peerRole = peersCache.getProperty(peerId, 'role');
1060
+
1061
+ // If Peer doesn't have valid Role, return `undefined` as we don't have Peer
1062
+ if (!peerRole) return;
1063
+ return _HMSEncoder.HMSEncoder.encodeHmsPeer({
1064
+ peerID: peerId
1065
+ });
1066
+ });
1064
1067
  /**
1065
1068
  * - This is a prototype event listener that takes action and listens for updates related to that particular action
1066
1069
  *