@100mslive/react-native-hms 1.6.2 → 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 (210) hide show
  1. package/android/build.gradle +16 -8
  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 +79 -103
  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 +30 -81
  16. package/lib/commonjs/classes/HMSEncoder.js +11 -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/HMSPeer.js +55 -20
  20. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  21. package/lib/commonjs/classes/HMSPeerUpdate.js +1 -1
  22. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  23. package/lib/commonjs/classes/HMSPeersCache.js +30 -38
  24. package/lib/commonjs/classes/HMSPeersCache.js.map +1 -1
  25. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  26. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  27. package/lib/commonjs/classes/HMSSDK.js +30 -30
  28. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  29. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js +147 -0
  30. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -0
  31. package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js +12 -0
  32. package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js.map +1 -0
  33. package/lib/commonjs/components/HMSHLSPlayer/hooks.js +71 -0
  34. package/lib/commonjs/components/HMSHLSPlayer/hooks.js.map +1 -0
  35. package/lib/commonjs/components/HMSHLSPlayer/index.js +63 -0
  36. package/lib/commonjs/components/HMSHLSPlayer/index.js.map +1 -0
  37. package/lib/commonjs/index.js +38 -0
  38. package/lib/commonjs/index.js.map +1 -1
  39. package/lib/commonjs/stores/hls-player-playback-slice.js +23 -0
  40. package/lib/commonjs/stores/hls-player-playback-slice.js.map +1 -0
  41. package/lib/commonjs/stores/hls-player-stats-store.js +36 -0
  42. package/lib/commonjs/stores/hls-player-stats-store.js.map +1 -0
  43. package/lib/commonjs/stores/hms-store.js +16 -0
  44. package/lib/commonjs/stores/hms-store.js.map +1 -0
  45. package/lib/commonjs/stores/types.js +6 -0
  46. package/lib/commonjs/stores/types.js.map +1 -0
  47. package/lib/commonjs/types.js +36 -0
  48. package/lib/commonjs/types.js.map +1 -0
  49. package/lib/module/classes/HMSEncoder.js +11 -4
  50. package/lib/module/classes/HMSEncoder.js.map +1 -1
  51. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  52. package/lib/module/classes/HMSPeer.js +55 -20
  53. package/lib/module/classes/HMSPeer.js.map +1 -1
  54. package/lib/module/classes/HMSPeerUpdate.js +1 -1
  55. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  56. package/lib/module/classes/HMSPeersCache.js +30 -38
  57. package/lib/module/classes/HMSPeersCache.js.map +1 -1
  58. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  59. package/lib/module/classes/HMSRemotePeer.js.map +1 -1
  60. package/lib/module/classes/HMSSDK.js +30 -30
  61. package/lib/module/classes/HMSSDK.js.map +1 -1
  62. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js +138 -0
  63. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -0
  64. package/lib/module/components/HMSHLSPlayer/RCTHMSHLSPlayer.js +4 -0
  65. package/lib/module/components/HMSHLSPlayer/RCTHMSHLSPlayer.js.map +1 -0
  66. package/lib/module/components/HMSHLSPlayer/hooks.js +56 -0
  67. package/lib/module/components/HMSHLSPlayer/hooks.js.map +1 -0
  68. package/lib/module/components/HMSHLSPlayer/index.js +3 -0
  69. package/lib/module/components/HMSHLSPlayer/index.js.map +1 -0
  70. package/lib/module/index.js +7 -0
  71. package/lib/module/index.js.map +1 -1
  72. package/lib/module/stores/hls-player-playback-slice.js +16 -0
  73. package/lib/module/stores/hls-player-playback-slice.js.map +1 -0
  74. package/lib/module/stores/hls-player-stats-store.js +29 -0
  75. package/lib/module/stores/hls-player-stats-store.js.map +1 -0
  76. package/lib/module/stores/hms-store.js +9 -0
  77. package/lib/module/stores/hms-store.js.map +1 -0
  78. package/lib/module/stores/types.js +2 -0
  79. package/lib/module/stores/types.js.map +1 -0
  80. package/lib/module/types.js +32 -0
  81. package/lib/module/types.js.map +1 -0
  82. package/lib/typescript/classes/HMSEncoder.d.ts +1 -0
  83. package/lib/typescript/classes/HMSLocalPeer.d.ts +0 -1
  84. package/lib/typescript/classes/HMSPeer.d.ts +10 -5
  85. package/lib/typescript/classes/HMSPeersCache.d.ts +17 -2
  86. package/lib/typescript/classes/HMSRTMPConfig.d.ts +2 -2
  87. package/lib/typescript/classes/HMSRemotePeer.d.ts +0 -1
  88. package/lib/typescript/classes/HMSSDK.d.ts +3 -14
  89. package/lib/typescript/components/HMSHLSPlayer/HMSHLSPlayer.d.ts +21 -0
  90. package/lib/typescript/components/HMSHLSPlayer/RCTHMSHLSPlayer.d.ts +19 -0
  91. package/lib/typescript/components/HMSHLSPlayer/hooks.d.ts +17 -0
  92. package/lib/typescript/components/HMSHLSPlayer/index.d.ts +2 -0
  93. package/lib/typescript/index.d.ts +3 -0
  94. package/lib/typescript/stores/hls-player-playback-slice.d.ts +5 -0
  95. package/lib/typescript/stores/hls-player-stats-store.d.ts +9 -0
  96. package/lib/typescript/stores/hms-store.d.ts +9 -0
  97. package/lib/typescript/stores/types.d.ts +25 -0
  98. package/lib/typescript/types.d.ts +63 -0
  99. package/package.json +4 -1
  100. package/react-native-hms.podspec +1 -0
  101. package/sdk-versions.json +3 -2
  102. package/src/classes/HMSEncoder.ts +14 -3
  103. package/src/classes/HMSLocalPeer.ts +0 -1
  104. package/src/classes/HMSPeer.ts +96 -48
  105. package/src/classes/HMSPeerUpdate.ts +4 -4
  106. package/src/classes/HMSPeersCache.ts +53 -40
  107. package/src/classes/HMSRTMPConfig.ts +2 -2
  108. package/src/classes/HMSRemotePeer.ts +0 -1
  109. package/src/classes/HMSSDK.tsx +33 -30
  110. package/src/components/HMSHLSPlayer/HMSHLSPlayer.tsx +235 -0
  111. package/src/components/HMSHLSPlayer/RCTHMSHLSPlayer.ts +38 -0
  112. package/src/components/HMSHLSPlayer/hooks.ts +100 -0
  113. package/src/components/HMSHLSPlayer/index.ts +9 -0
  114. package/src/index.ts +8 -0
  115. package/src/stores/hls-player-playback-slice.ts +25 -0
  116. package/src/stores/hls-player-stats-store.ts +37 -0
  117. package/src/stores/hms-store.ts +11 -0
  118. package/src/stores/types.ts +49 -0
  119. package/src/types.ts +119 -0
  120. package/android/.gradle/6.9/executionHistory/executionHistory.lock +0 -0
  121. package/android/.gradle/6.9/fileChanges/last-build.bin +0 -0
  122. package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
  123. package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
  124. package/android/.gradle/6.9/gc.properties +0 -0
  125. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  126. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  127. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  128. package/android/.gradle/checksums/checksums.lock +0 -0
  129. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  130. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  131. package/android/.gradle/vcs-1/gc.properties +0 -0
  132. package/android/.idea/compiler.xml +0 -6
  133. package/android/.idea/gradle.xml +0 -18
  134. package/android/.idea/jarRepositories.xml +0 -50
  135. package/android/.idea/libraries/Gradle__androidx_activity_activity_1_2_4_aar.xml +0 -16
  136. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_3_0.xml +0 -11
  137. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_1_0_aar.xml +0 -13
  138. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_4_1_aar.xml +0 -16
  139. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_4_1_aar.xml +0 -13
  140. package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml +0 -11
  141. package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml +0 -13
  142. package/android/.idea/libraries/Gradle__androidx_autofill_autofill_1_1_0_aar.xml +0 -16
  143. package/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml +0 -11
  144. package/android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_2_1_3_aar.xml +0 -13
  145. package/android/.idea/libraries/Gradle__androidx_core_core_1_7_0_aar.xml +0 -16
  146. package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +0 -13
  147. package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +0 -13
  148. package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +0 -16
  149. package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_6_aar.xml +0 -16
  150. package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +0 -13
  151. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_4_0.xml +0 -11
  152. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +0 -13
  153. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml +0 -13
  154. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_4_0_aar.xml +0 -13
  155. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml +0 -13
  156. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml +0 -13
  157. package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +0 -13
  158. package/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml +0 -13
  159. package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +0 -16
  160. package/android/.idea/libraries/Gradle__androidx_tracing_tracing_1_1_0_aar.xml +0 -13
  161. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml +0 -13
  162. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml +0 -13
  163. package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml +0 -13
  164. package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +0 -13
  165. package/android/.idea/libraries/Gradle__com_facebook_fbjni_fbjni_0_3_0_aar.xml +0 -14
  166. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_2_5_0_aar.xml +0 -15
  167. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_2_5_0_aar.xml +0 -18
  168. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_2_5_0_aar.xml +0 -18
  169. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_2_5_0_aar.xml +0 -18
  170. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_2_5_0_aar.xml +0 -18
  171. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_native_2_5_0_aar.xml +0 -15
  172. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_2_5_0_aar.xml +0 -15
  173. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_ashmem_2_5_0_aar.xml +0 -15
  174. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_java_2_5_0_aar.xml +0 -15
  175. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_native_2_5_0_aar.xml +0 -15
  176. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagefilters_2_5_0_aar.xml +0 -15
  177. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagetranscoder_2_5_0_aar.xml +0 -15
  178. package/android/.idea/libraries/Gradle__com_facebook_fresco_ui_common_2_5_0_aar.xml +0 -15
  179. package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_18_0.xml +0 -13
  180. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_71_0_rc_0_debug_aar.xml +0 -14
  181. package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_10_4.xml +0 -13
  182. package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_10_4.xml +0 -13
  183. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_10_4_aar.xml +0 -14
  184. package/android/.idea/libraries/Gradle__com_facebook_yoga_proguard_annotations_1_19_0.xml +0 -13
  185. package/android/.idea/libraries/Gradle__com_github_100mslive_android_sdk_lib_2_5_1_aar.xml +0 -10
  186. package/android/.idea/libraries/Gradle__com_github_100mslive_webrtc_m104_hms_1_3_aar.xml +0 -10
  187. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml +0 -13
  188. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_4_9_2.xml +0 -13
  189. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_4_9_2.xml +0 -13
  190. package/android/.idea/libraries/Gradle__com_squareup_okio_okio_2_9_0.xml +0 -13
  191. package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +0 -13
  192. package/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml +0 -13
  193. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_annotations_jvm_1_3_72.xml +0 -13
  194. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_6_10.xml +0 -13
  195. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_6_10.xml +0 -13
  196. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_6_10.xml +0 -13
  197. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_6_10.xml +0 -13
  198. package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_android_1_6_0.xml +0 -13
  199. package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_1_6_0.xml +0 -13
  200. package/android/.idea/misc.xml +0 -9
  201. package/android/.idea/modules/android.androidTest.iml +0 -203
  202. package/android/.idea/modules/android.iml +0 -40
  203. package/android/.idea/modules/android.main.iml +0 -199
  204. package/android/.idea/modules/android.unitTest.iml +0 -197
  205. package/android/.idea/modules.xml +0 -11
  206. package/android/.idea/sonarlint/issuestore/3/c/3c46088b6add3088181589d8ed726652742b6221 +0 -5
  207. package/android/.idea/sonarlint/issuestore/a/8/a8c9f5ddd88723818e51ae3cf8693d02355a8691 +0 -0
  208. package/android/.idea/sonarlint/issuestore/f/0/f07866736216be0ee2aba49e392191aeae700a35 +0 -0
  209. package/android/.idea/sonarlint/issuestore/index.pb +0 -7
  210. package/android/.idea/vcs.xml +0 -6
@@ -46,23 +46,25 @@ export class HMSPeersCache {
46
46
  }
47
47
  updatePeerCache(peerId, data, updateType) {
48
48
  const peerObj = this._data.get(peerId);
49
+ if (updateType === HMSPeerUpdate.PEER_JOINED) {
50
+ if (!peerObj) {
51
+ this._data.set(peerId, data);
52
+ }
53
+ return;
54
+ }
49
55
  if (updateType === HMSPeerUpdate.PEER_LEFT) {
50
56
  this._data.delete(peerId);
51
57
  return;
52
58
  }
53
- let updatedObj = {
54
- ...peerObj
55
- };
59
+ let updatedObj = peerObj || {};
56
60
  switch (updateType) {
57
61
  case HMSTrackUpdate.TRACK_ADDED:
58
62
  {
59
63
  const track = data.track;
60
64
  if (track.source === HMSTrackSource.REGULAR) {
61
65
  if (track.type === HMSTrackType.VIDEO) {
62
- updatedObj.videoTrack = {
63
- ...track,
64
- isDegraded: false
65
- };
66
+ updatedObj.videoTrack = track;
67
+ updatedObj.videoTrack.isDegraded = false;
66
68
  } else if (track.type === HMSTrackType.AUDIO) {
67
69
  updatedObj.audioTrack = track;
68
70
  }
@@ -85,10 +87,7 @@ export class HMSPeersCache {
85
87
  updatedObj.audioTrack = undefined;
86
88
  }
87
89
  } else if (Array.isArray(updatedObj.auxiliaryTracks)) {
88
- updatedObj = {
89
- ...updatedObj,
90
- auxiliaryTracks: updatedObj.auxiliaryTracks.filter(auxiliaryTrack => auxiliaryTrack.trackId !== track.trackId)
91
- };
90
+ updatedObj.auxiliaryTracks = updatedObj.auxiliaryTracks.filter(auxiliaryTrack => auxiliaryTrack.trackId !== track.trackId);
92
91
  }
93
92
  break;
94
93
  }
@@ -99,10 +98,9 @@ export class HMSPeersCache {
99
98
  if (track.source === HMSTrackSource.REGULAR) {
100
99
  if (track.type === HMSTrackType.VIDEO) {
101
100
  var _updatedObj$videoTrac;
102
- updatedObj.videoTrack = {
103
- ...track,
104
- isDegraded: ((_updatedObj$videoTrac = updatedObj.videoTrack) === null || _updatedObj$videoTrac === void 0 ? void 0 : _updatedObj$videoTrac.isDegraded) || false
105
- };
101
+ const oldIsDegraded = ((_updatedObj$videoTrac = updatedObj.videoTrack) === null || _updatedObj$videoTrac === void 0 ? void 0 : _updatedObj$videoTrac.isDegraded) || false;
102
+ updatedObj.videoTrack = track;
103
+ updatedObj.videoTrack.isDegraded = oldIsDegraded;
106
104
  } else if (track.type === HMSTrackType.AUDIO) {
107
105
  updatedObj.audioTrack = track;
108
106
  }
@@ -124,27 +122,22 @@ export class HMSPeersCache {
124
122
  const track = data.track;
125
123
  if (track.source === HMSTrackSource.REGULAR) {
126
124
  if (track.type === HMSTrackType.VIDEO) {
127
- updatedObj.videoTrack = {
128
- ...track,
129
- isDegraded: updateType === HMSTrackUpdate.TRACK_DEGRADED
130
- };
125
+ updatedObj.videoTrack = track;
126
+ updatedObj.videoTrack.isDegraded = updateType === HMSTrackUpdate.TRACK_DEGRADED;
131
127
  } else if (track.type === HMSTrackType.AUDIO) {
132
128
  updatedObj.audioTrack = track;
133
129
  }
134
130
  } else {
135
131
  if (Array.isArray(updatedObj.auxiliaryTracks)) {
136
- updatedObj = {
137
- ...updatedObj,
138
- auxiliaryTracks: updatedObj.auxiliaryTracks.map(auxiliaryTrack => {
139
- if (auxiliaryTrack.trackId === track.trackId) {
140
- return {
141
- ...auxiliaryTrack,
142
- isDegraded: updateType === HMSTrackUpdate.TRACK_DEGRADED
143
- };
144
- }
145
- return auxiliaryTrack;
146
- })
147
- };
132
+ updatedObj.auxiliaryTracks = updatedObj.auxiliaryTracks.map(auxiliaryTrack => {
133
+ if (auxiliaryTrack.trackId === track.trackId) {
134
+ return {
135
+ ...auxiliaryTrack,
136
+ isDegraded: updateType === HMSTrackUpdate.TRACK_DEGRADED
137
+ };
138
+ }
139
+ return auxiliaryTrack;
140
+ });
148
141
  } else {
149
142
  updatedObj.auxiliaryTracks = [track];
150
143
  }
@@ -162,14 +155,13 @@ export class HMSPeersCache {
162
155
  break;
163
156
  }
164
157
  case HMSPeerUpdate.METADATA_CHANGED:
158
+ {
159
+ updatedObj.metadata = data.metadata;
160
+ break;
161
+ }
165
162
  case HMSPeerUpdate.NAME_CHANGED:
166
- case HMSPeerUpdate.PEER_JOINED:
167
- case HMSPeerUpdate.ROLE_CHANGED:
168
163
  {
169
- updatedObj = {
170
- ...updatedObj,
171
- ...data
172
- };
164
+ updatedObj.name = data.name;
173
165
  break;
174
166
  }
175
167
  default:
@@ -207,7 +199,7 @@ export function getPeerPropertyFromNative(id, peerId, property) {
207
199
  } else if (property === 'auxiliaryTracks') {
208
200
  value = data && Array.isArray(data.auxiliaryTracks) ? HMSEncoder.encodeHmsAuxiliaryTracks(data.auxiliaryTracks, id) : undefined;
209
201
  } else if (property === 'name') {
210
- value = (data === null || data === void 0 ? void 0 : data[property]) || '';
202
+ value = data === null || data === void 0 ? void 0 : data[property];
211
203
  } else {
212
204
  value = data ? data[property] : undefined;
213
205
  }
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","HMSEncoder","HMSPeerUpdate","HMSTrackUpdate","HMSTrackType","HMSTrackSource","HMSManager","hmsPeersCache","getHmsPeersCache","setHmsPeersCache","_hmsPeersCache","clearHmsPeersCache","cleanup","undefined","HMSPeersCache","constructor","id","_defineProperty","Map","getProperty","peerId","property","peerObj","_data","get","encodedValue","getPeerPropertyFromNative","set","updatePeerCache","data","updateType","PEER_LEFT","delete","updatedObj","TRACK_ADDED","track","source","REGULAR","type","VIDEO","videoTrack","isDegraded","AUDIO","audioTrack","Array","isArray","auxiliaryTracks","push","TRACK_REMOVED","filter","auxiliaryTrack","trackId","TRACK_MUTED","TRACK_UNMUTED","_updatedObj$videoTrac","map","TRACK_DEGRADED","TRACK_RESTORED","ROLE_CHANGED","role","encodeHmsRole","NETWORK_QUALITY_UPDATED","networkQuality","encodeHMSNetworkQuality","METADATA_CHANGED","NAME_CHANGED","PEER_JOINED","Object","keys","length","clear","getPeerProperty","value","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":["NativeModules","HMSEncoder","HMSPeerUpdate","HMSTrackUpdate","HMSTrackType","HMSTrackSource","HMSManager","hmsPeersCache","getHmsPeersCache","setHmsPeersCache","_hmsPeersCache","clearHmsPeersCache","cleanup","undefined","HMSPeersCache","constructor","id","_defineProperty","Map","getProperty","peerId","property","peerObj","_data","get","encodedValue","getPeerPropertyFromNative","set","updatePeerCache","data","updateType","PEER_JOINED","PEER_LEFT","delete","updatedObj","TRACK_ADDED","track","source","REGULAR","type","VIDEO","videoTrack","isDegraded","AUDIO","audioTrack","Array","isArray","auxiliaryTracks","push","TRACK_REMOVED","filter","auxiliaryTrack","trackId","TRACK_MUTED","TRACK_UNMUTED","_updatedObj$videoTrac","oldIsDegraded","map","TRACK_DEGRADED","TRACK_RESTORED","ROLE_CHANGED","role","encodeHmsRole","NETWORK_QUALITY_UPDATED","networkQuality","encodeHMSNetworkQuality","METADATA_CHANGED","metadata","NAME_CHANGED","name","Object","keys","length","clear","getPeerProperty","value","encodeHmsAudioTrack","encodeHmsVideoTrack","encodeHmsAuxiliaryTracks"],"sources":["HMSPeersCache.ts"],"sourcesContent":["import { 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":";;;AAAA,SAASA,aAAa,QAAQ,cAAc;AAC5C,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,cAAc,QAAQ,kBAAkB;AAEjD,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,cAAc,QAAQ,kBAAkB;AAMjD,MAAM;EAAEC;AAAW,CAAC,GAAGN,aAAa;AAEpC,OAAO,IAAIO,aAAwC;AAEnD,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EACpC,OAAOD,aAAa;AACtB,CAAC;AAED,OAAO,MAAME,gBAAgB,GAAIC,cAA6B,IAAK;EACjEH,aAAa,GAAGG,cAAc;AAChC,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;EACtC,IAAIJ,aAAa,EAAE;IACjBA,aAAa,CAACK,OAAO,CAAC,CAAC;EACzB;EACAL,aAAa,GAAGM,SAAS;AAC3B,CAAC;AAeD,OAAO,MAAMC,aAAa,CAAC;EAIzBC,WAAWA,CAACC,EAAU,EAAE;IAAAC,eAAA,gBAHR,IAAIC,GAAG,CAA4B,CAAC;IAAAD,eAAA;IAIlD,IAAI,CAACD,EAAE,GAAGA,EAAE;EACd;EAEAG,WAAWA,CACTC,MAAc,EACdC,QAAW,EACuB;IAClC,MAAMC,OAAO,GAAG,IAAI,CAACC,KAAK,CAACC,GAAG,CAACJ,MAAM,CAAC;IAEtC,IAAIE,OAAO,IAAID,QAAQ,IAAIC,OAAO,EAAE;MAClC,OAAOA,OAAO,CAACD,QAAQ,CAAC;IAC1B;IAEA,MAAMI,YAAY,GAAGC,yBAAyB,CAAC,IAAI,CAACV,EAAE,EAAEI,MAAM,EAAEC,QAAQ,CAAC;IAEzE,IAAI,CAACC,OAAO,EAAE;MACZ,IAAI,CAACC,KAAK,CAACI,GAAG,CAACP,MAAM,EAAE;QAAE,CAACC,QAAQ,GAAGI;MAAa,CAAC,CAAC;IACtD,CAAC,MAAM;MACLH,OAAO,CAACD,QAAQ,CAAC,GAAGI,YAAY;IAClC;IAEA,OAAOA,YAAY;EACrB;EAEAG,eAAeA,CACbR,MAAc,EACdS,IAA6D,EAC7DC,UAA2C,EAC3C;IACA,MAAMR,OAAO,GAAG,IAAI,CAACC,KAAK,CAACC,GAAG,CAACJ,MAAM,CAAC;IAEtC,IAAIU,UAAU,KAAK5B,aAAa,CAAC6B,WAAW,EAAE;MAC5C,IAAI,CAACT,OAAO,EAAE;QACZ,IAAI,CAACC,KAAK,CAACI,GAAG,CAACP,MAAM,EAAES,IAAI,CAAC;MAC9B;MACA;IACF;IAEA,IAAIC,UAAU,KAAK5B,aAAa,CAAC8B,SAAS,EAAE;MAC1C,IAAI,CAACT,KAAK,CAACU,MAAM,CAACb,MAAM,CAAC;MACzB;IACF;IAEA,IAAIc,UAAU,GAAGZ,OAAO,IAAI,CAAC,CAAC;IAE9B,QAAQQ,UAAU;MAChB,KAAK3B,cAAc,CAACgC,WAAW;QAAE;UAC/B,MAAMC,KAAK,GAAGP,IAAI,CAACO,KAAiB;UAEpC,IAAIA,KAAK,CAACC,MAAM,KAAKhC,cAAc,CAACiC,OAAO,EAAE;YAC3C,IAAIF,KAAK,CAACG,IAAI,KAAKnC,YAAY,CAACoC,KAAK,EAAE;cACrCN,UAAU,CAACO,UAAU,GAAGL,KAAK;cAC7BF,UAAU,CAACO,UAAU,CAACC,UAAU,GAAG,KAAK;YAC1C,CAAC,MAAM,IAAIN,KAAK,CAACG,IAAI,KAAKnC,YAAY,CAACuC,KAAK,EAAE;cAC5CT,UAAU,CAACU,UAAU,GAAGR,KAAK;YAC/B;UACF,CAAC,MAAM;YACL,IAAIS,KAAK,CAACC,OAAO,CAACZ,UAAU,CAACa,eAAe,CAAC,EAAE;cAC7Cb,UAAU,CAACa,eAAe,CAACC,IAAI,CAACZ,KAAK,CAAC;YACxC,CAAC,MAAM;cACLF,UAAU,CAACa,eAAe,GAAG,CAACX,KAAK,CAAC;YACtC;UACF;UACA;QACF;MACA,KAAKjC,cAAc,CAAC8C,aAAa;QAAE;UACjC,MAAMb,KAAK,GAAGP,IAAI,CAACO,KAAiB;UAEpC,IAAIA,KAAK,CAACC,MAAM,KAAKhC,cAAc,CAACiC,OAAO,EAAE;YAC3C,IAAIF,KAAK,CAACG,IAAI,KAAKnC,YAAY,CAACoC,KAAK,EAAE;cACrCN,UAAU,CAACO,UAAU,GAAG5B,SAAS;YACnC,CAAC,MAAM,IAAIuB,KAAK,CAACG,IAAI,KAAKnC,YAAY,CAACuC,KAAK,EAAE;cAC5CT,UAAU,CAACU,UAAU,GAAG/B,SAAS;YACnC;UACF,CAAC,MAAM,IAAIgC,KAAK,CAACC,OAAO,CAACZ,UAAU,CAACa,eAAe,CAAC,EAAE;YACpDb,UAAU,CAACa,eAAe,GAAGb,UAAU,CAACa,eAAe,CAACG,MAAM,CAC3DC,cAAc,IAAKA,cAAc,CAACC,OAAO,KAAKhB,KAAK,CAACgB,OACvD,CAAC;UACH;UACA;QACF;MACA,KAAKjD,cAAc,CAACkD,WAAW;MAC/B,KAAKlD,cAAc,CAACmD,aAAa;QAAE;UACjC,MAAMlB,KAAK,GAAGP,IAAI,CAACO,KAAiB;UAEpC,IAAIA,KAAK,CAACC,MAAM,KAAKhC,cAAc,CAACiC,OAAO,EAAE;YAC3C,IAAIF,KAAK,CAACG,IAAI,KAAKnC,YAAY,CAACoC,KAAK,EAAE;cAAA,IAAAe,qBAAA;cACrC,MAAMC,aAAa,GAAG,EAAAD,qBAAA,GAAArB,UAAU,CAACO,UAAU,cAAAc,qBAAA,uBAArBA,qBAAA,CAAuBb,UAAU,KAAI,KAAK;cAChER,UAAU,CAACO,UAAU,GAAGL,KAAK;cAC7BF,UAAU,CAACO,UAAU,CAACC,UAAU,GAAGc,aAAa;YAClD,CAAC,MAAM,IAAIpB,KAAK,CAACG,IAAI,KAAKnC,YAAY,CAACuC,KAAK,EAAE;cAC5CT,UAAU,CAACU,UAAU,GAAGR,KAAK;YAC/B;UACF,CAAC,MAAM;YACL,IAAIS,KAAK,CAACC,OAAO,CAACZ,UAAU,CAACa,eAAe,CAAC,EAAE;cAC7Cb,UAAU,GAAG;gBACX,GAAGA,UAAU;gBACba,eAAe,EAAEb,UAAU,CAACa,eAAe,CAACU,GAAG,CAC5CN,cAAc,IACbA,cAAc,CAACC,OAAO,KAAKhB,KAAK,CAACgB,OAAO,GACpChB,KAAK,GACLe,cACR;cACF,CAAC;YACH,CAAC,MAAM;cACLjB,UAAU,CAACa,eAAe,GAAG,CAACX,KAAK,CAAC;YACtC;UACF;UACA;QACF;MACA,KAAKjC,cAAc,CAACuD,cAAc;MAClC,KAAKvD,cAAc,CAACwD,cAAc;QAAE;UAClC,MAAMvB,KAAK,GAAGP,IAAI,CAACO,KAAiB;UAEpC,IAAIA,KAAK,CAACC,MAAM,KAAKhC,cAAc,CAACiC,OAAO,EAAE;YAC3C,IAAIF,KAAK,CAACG,IAAI,KAAKnC,YAAY,CAACoC,KAAK,EAAE;cACrCN,UAAU,CAACO,UAAU,GAAGL,KAAK;cAC7BF,UAAU,CAACO,UAAU,CAACC,UAAU,GAC9BZ,UAAU,KAAK3B,cAAc,CAACuD,cAAc;YAChD,CAAC,MAAM,IAAItB,KAAK,CAACG,IAAI,KAAKnC,YAAY,CAACuC,KAAK,EAAE;cAC5CT,UAAU,CAACU,UAAU,GAAGR,KAAK;YAC/B;UACF,CAAC,MAAM;YACL,IAAIS,KAAK,CAACC,OAAO,CAACZ,UAAU,CAACa,eAAe,CAAC,EAAE;cAC7Cb,UAAU,CAACa,eAAe,GAAGb,UAAU,CAACa,eAAe,CAACU,GAAG,CACxDN,cAAc,IAAK;gBAClB,IAAIA,cAAc,CAACC,OAAO,KAAKhB,KAAK,CAACgB,OAAO,EAAE;kBAC5C,OAAO;oBACL,GAAGD,cAAc;oBACjBT,UAAU,EAAEZ,UAAU,KAAK3B,cAAc,CAACuD;kBAC5C,CAAC;gBACH;gBAEA,OAAOP,cAAc;cACvB,CACF,CAAC;YACH,CAAC,MAAM;cACLjB,UAAU,CAACa,eAAe,GAAG,CAACX,KAAK,CAAC;YACtC;UACF;UACA;QACF;MACA,KAAKlC,aAAa,CAAC0D,YAAY;QAAE;UAC/B1B,UAAU,CAAC2B,IAAI,GAAG5D,UAAU,CAAC6D,aAAa,CAACjC,IAAI,CAACgC,IAAI,CAAC;UACrD;QACF;MACA,KAAK3D,aAAa,CAAC6D,uBAAuB;QAAE;UAC1C7B,UAAU,CAAC8B,cAAc,GAAG/D,UAAU,CAACgE,uBAAuB,CAC5DpC,IAAI,CAACmC,cACP,CAAC;UACD;QACF;MACA,KAAK9D,aAAa,CAACgE,gBAAgB;QAAE;UACnChC,UAAU,CAACiC,QAAQ,GAAGtC,IAAI,CAACsC,QAAQ;UACnC;QACF;MACA,KAAKjE,aAAa,CAACkE,YAAY;QAAE;UAC/BlC,UAAU,CAACmC,IAAI,GAAGxC,IAAI,CAACwC,IAAI;UAC3B;QACF;MACA;QAAS;UACPnC,UAAU,GAAG;YAAE,GAAGA,UAAU;YAAE,GAAGL;UAAK,CAAC;UACvC;QACF;IACF;IAEA,IAAIyC,MAAM,CAACC,IAAI,CAACrC,UAAU,CAAC,CAACsC,MAAM,GAAG,CAAC,EAAE;MACtC,IAAI,CAACjD,KAAK,CAACI,GAAG,CAACP,MAAM,EAAEc,UAAU,CAAC;IACpC;EACF;EAEAtB,OAAOA,CAAA,EAAG;IACR,IAAI,CAACW,KAAK,CAACkD,KAAK,CAAC,CAAC;EACpB;AACF;AAEA,OAAO,SAAS/C,yBAAyBA,CACvCV,EAAU,EACVI,MAAc,EACdC,QAAW,EACW;EACtB,MAAMQ,IAAS,GAAGvB,UAAU,CAACoE,eAAe,CAAC;IAC3C1D,EAAE;IACFI,MAAM;IACNC;EACF,CAAC,CAAC;EAEF,IAAIsD,KAAK;EAET,IAAItD,QAAQ,KAAK,MAAM,EAAE;IACvBsD,KAAK,GAAG9C,IAAI,GAAG5B,UAAU,CAAC6D,aAAa,CAACjC,IAAI,CAACgC,IAAI,CAAC,GAAGhD,SAAS;EAChE,CAAC,MAAM,IAAIQ,QAAQ,KAAK,gBAAgB,EAAE;IACxCsD,KAAK,GAAG9C,IAAI,GACR5B,UAAU,CAACgE,uBAAuB,CAACpC,IAAI,CAACmC,cAAc,CAAC,GACvDnD,SAAS;EACf,CAAC,MAAM,IAAIQ,QAAQ,KAAK,YAAY,EAAE;IACpCsD,KAAK,GAAG9C,IAAI,GACR5B,UAAU,CAAC2E,mBAAmB,CAAC/C,IAAI,CAACe,UAAU,EAAE5B,EAAE,CAAC,GACnDH,SAAS;EACf,CAAC,MAAM,IAAIQ,QAAQ,KAAK,YAAY,EAAE;IACpCsD,KAAK,GAAG9C,IAAI,GACR5B,UAAU,CAAC4E,mBAAmB,CAAChD,IAAI,CAACY,UAAU,EAAEzB,EAAE,CAAC,GACnDH,SAAS;EACf,CAAC,MAAM,IAAIQ,QAAQ,KAAK,iBAAiB,EAAE;IACzCsD,KAAK,GACH9C,IAAI,IAAIgB,KAAK,CAACC,OAAO,CAACjB,IAAI,CAACkB,eAAe,CAAC,GACvC9C,UAAU,CAAC6E,wBAAwB,CAACjD,IAAI,CAACkB,eAAe,EAAE/B,EAAE,CAAC,GAC7DH,SAAS;EACjB,CAAC,MAAM,IAAIQ,QAAQ,KAAK,MAAM,EAAE;IAC9BsD,KAAK,GAAG9C,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAGR,QAAQ,CAAC;EAC1B,CAAC,MAAM;IACLsD,KAAK,GAAG9C,IAAI,GAAGA,IAAI,CAACR,QAAQ,CAAC,GAAGR,SAAS;EAC3C;EAEA,OAAO8D,KAAK;AACd"}
@@ -1 +1 @@
1
- {"version":3,"names":["HMSRTMPConfig","constructor","params","_defineProperty","meetingURL","rtmpURLs","record","resolution"],"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":";;;AAEA,OAAO,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"}
1
+ {"version":3,"names":["HMSRTMPConfig","constructor","params","_defineProperty","meetingURL","rtmpURLs","record","resolution"],"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":";;;AAEA,OAAO,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"}
@@ -1 +1 @@
1
- {"version":3,"names":["HMSPeer","HMSRemoteAudioTrack","HMSRemoteVideoTrack","HMSRemotePeer","constructor","params","_defineProperty","remoteAudio","remoteVideo","remoteAudioTrackData","remoteVideoTrackData"],"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,SAASA,OAAO,QAAQ,WAAW;AACnC,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,mBAAmB,QAAQ,uBAAuB;AAE3D,OAAO,MAAMC,aAAa,SAASH,OAAO,CAAC;EAYzCI,WAAWA,CAACC,MAmBX,EAAE;IACD,KAAK,CAACA,MAAM,CAAC;IAACC,eAAA;IAAAA,eAAA;IAAAA,eAAA,2BA5BG,MAAM;MACvB,OAAO,IAAI,CAACC,WAAW;IACzB,CAAC;IAAAD,eAAA,2BAEkB,MAAM;MACvB,OAAO,IAAI,CAACE,WAAW;IACzB,CAAC;IAuBC,IAAIH,MAAM,CAACI,oBAAoB,EAAE;MAC/B,IAAI,CAACF,WAAW,GAAG,IAAIN,mBAAmB,CAACI,MAAM,CAACI,oBAAoB,CAAC;IACzE;IAEA,IAAIJ,MAAM,CAACK,oBAAoB,EAAE;MAC/B,IAAI,CAACF,WAAW,GAAG,IAAIN,mBAAmB,CAACG,MAAM,CAACK,oBAAoB,CAAC;IACzE;EACF;AACF"}
1
+ {"version":3,"names":["HMSPeer","HMSRemoteAudioTrack","HMSRemoteVideoTrack","HMSRemotePeer","constructor","params","_defineProperty","remoteAudio","remoteVideo","remoteAudioTrackData","remoteVideoTrackData"],"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,SAASA,OAAO,QAAQ,WAAW;AACnC,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,mBAAmB,QAAQ,uBAAuB;AAE3D,OAAO,MAAMC,aAAa,SAASH,OAAO,CAAC;EAYzCI,WAAWA,CAACC,MAkBX,EAAE;IACD,KAAK,CAACA,MAAM,CAAC;IAACC,eAAA;IAAAA,eAAA;IAAAA,eAAA,2BA3BG,MAAM;MACvB,OAAO,IAAI,CAACC,WAAW;IACzB,CAAC;IAAAD,eAAA,2BAEkB,MAAM;MACvB,OAAO,IAAI,CAACE,WAAW;IACzB,CAAC;IAsBC,IAAIH,MAAM,CAACI,oBAAoB,EAAE;MAC/B,IAAI,CAACF,WAAW,GAAG,IAAIN,mBAAmB,CAACI,MAAM,CAACI,oBAAoB,CAAC;IACzE;IAEA,IAAIJ,MAAM,CAACK,oBAAoB,EAAE;MAC/B,IAAI,CAACF,WAAW,GAAG,IAAIN,mBAAmB,CAACG,MAAM,CAACK,oBAAoB,CAAC;IACzE;EACF;AACF"}
@@ -939,6 +939,7 @@ export class HMSSDK {
939
939
  }
940
940
  });
941
941
  /**
942
+ * Android Only
942
943
  * - This wrapper function used to switch output to device other than the default, currently available only for android.
943
944
  *
944
945
  * checkout {@link https://www.100ms.live/docs/react-native/v2/features/audio-output-routing#switch-audio-focus-to-another-device} for more info
@@ -961,6 +962,17 @@ export class HMSSDK {
961
962
  return 'API currently not available for iOS';
962
963
  }
963
964
  });
965
+ _defineProperty(this, "switchAudioOutputUsingIOSUI", () => {
966
+ logger === null || logger === void 0 ? void 0 : logger.verbose('#Function switchAudioOutputUsingIOSUI', {
967
+ id: this.id
968
+ });
969
+ if (Platform.OS !== 'ios') {
970
+ throw new Error('#Function `switchAudioOutputUsingIOSUI` is only available on iOS, use `switchAudioOutput` method instead!');
971
+ }
972
+ return HMSManager.switchAudioOutputUsingIOSUI({
973
+ id: this.id
974
+ });
975
+ });
964
976
  /**
965
977
  * - This wrapper function used to change Audio Mode manually, currently available only for android.
966
978
  *
@@ -1006,36 +1018,6 @@ export class HMSSDK {
1006
1018
  return 'API currently not available for iOS';
1007
1019
  }
1008
1020
  });
1009
- /**
1010
- * @deprecated Older SessionMetaData APIs has been deprecated in favour of newer Session Store APIs.
1011
- * You can subscribe to `ON_SESSION_STORE_AVAILABLE` event to get notified when the `HMSSessionStore`
1012
- * is available and use `set` method on `HMSSessionStore` instance
1013
- * checkout {@link https://www.100ms.live/docs/react-native/v2/how-to-guides/}
1014
- */
1015
- _defineProperty(this, "setSessionMetaData", async sessionMetaData => {
1016
- logger === null || logger === void 0 ? void 0 : logger.verbose('#Function setSessionMetaData', {
1017
- id: this.id,
1018
- sessionMetaData
1019
- });
1020
- return await HMSManager.setSessionMetaData({
1021
- id: this.id,
1022
- sessionMetaData
1023
- });
1024
- });
1025
- /**
1026
- * @deprecated Older SessionMetaData APIs has been deprecated in favour of newer Session Store APIs.
1027
- * You can subscribe to `ON_SESSION_STORE_AVAILABLE` event to get notified when the `HMSSessionStore`
1028
- * is available and use `get` or `addKeyChangeListener` method on `HMSSessionStore` instance
1029
- * checkout {@link https://www.100ms.live/docs/react-native/v2/how-to-guides/}
1030
- */
1031
- _defineProperty(this, "getSessionMetaData", async () => {
1032
- logger === null || logger === void 0 ? void 0 : logger.verbose('#Function getSessionMetaData', {
1033
- id: this.id
1034
- });
1035
- return await HMSManager.getSessionMetaData({
1036
- id: this.id
1037
- });
1038
- });
1039
1021
  _defineProperty(this, "getRemoteVideoTrackFromTrackId", async trackId => {
1040
1022
  logger === null || logger === void 0 ? void 0 : logger.verbose('#Function getRemoteVideoTrackFromTrackId', {
1041
1023
  id: this.id,
@@ -1058,6 +1040,24 @@ export class HMSSDK {
1058
1040
  });
1059
1041
  return HMSEncoder.encodeHmsRemoteAudioTrack(remoteAudioTrackData, this.id);
1060
1042
  });
1043
+ _defineProperty(this, "getPeerFromPeerId", peerId => {
1044
+ logger === null || logger === void 0 ? void 0 : logger.verbose('#Function getPeerFromPeerId', {
1045
+ id: this.id,
1046
+ peerId
1047
+ });
1048
+ // Getting Peer Cache
1049
+ const peersCache = getHmsPeersCache();
1050
+
1051
+ // If Peer Cache doesn't exist, return `undefined` as we don't have Peer
1052
+ if (!peersCache) return;
1053
+ const peerRole = peersCache.getProperty(peerId, 'role');
1054
+
1055
+ // If Peer doesn't have valid Role, return `undefined` as we don't have Peer
1056
+ if (!peerRole) return;
1057
+ return HMSEncoder.encodeHmsPeer({
1058
+ peerID: peerId
1059
+ });
1060
+ });
1061
1061
  /**
1062
1062
  * - This is a prototype event listener that takes action and listens for updates related to that particular action
1063
1063
  *