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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/android/build.gradle +3 -3
  2. package/android/local.properties +8 -1
  3. package/android/src/main/java/com/reactnativehmssdk/HMSAudioshareActivity.kt +1 -0
  4. package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +43 -15
  5. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayer.kt +113 -68
  6. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayerManager.kt +17 -4
  7. package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +75 -21
  8. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +483 -184
  9. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +587 -177
  10. package/android/src/main/java/com/reactnativehmssdk/HMSSDKViewManager.kt +26 -7
  11. package/android/src/main/java/com/reactnativehmssdk/HMSView.kt +32 -12
  12. package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +1 -0
  13. package/android/src/main/java/com/reactnativehmssdk/PipActionReceiver.kt +10 -6
  14. package/android/src/main/res/layout/player_view.xml +3 -2
  15. package/ios/HMSConstants.swift +1 -0
  16. package/ios/HMSDecoder.swift +18 -7
  17. package/ios/HMSHLSPlayerManager.swift +18 -2
  18. package/ios/HMSHelper.swift +33 -4
  19. package/ios/HMSManager.m +256 -73
  20. package/ios/HMSManager.swift +47 -3
  21. package/ios/HMSRNSDK.swift +224 -140
  22. package/ios/HMSView.swift +17 -3
  23. package/ios/Hmssdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  24. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  25. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/jatinnagar.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  26. package/ios/Hmssdk.xcodeproj/xcuserdata/jatinnagar.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  27. package/lib/commonjs/classes/HMSAudioCodec.js +1 -2
  28. package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
  29. package/lib/commonjs/classes/HMSAudioDevice.js +1 -2
  30. package/lib/commonjs/classes/HMSAudioDevice.js.map +1 -1
  31. package/lib/commonjs/classes/HMSAudioMixingMode.js +1 -2
  32. package/lib/commonjs/classes/HMSAudioMixingMode.js.map +1 -1
  33. package/lib/commonjs/classes/HMSAudioMode.js +1 -2
  34. package/lib/commonjs/classes/HMSAudioMode.js.map +1 -1
  35. package/lib/commonjs/classes/HMSCameraFacing.js +1 -2
  36. package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
  37. package/lib/commonjs/classes/HMSConstants.js +1 -2
  38. package/lib/commonjs/classes/HMSConstants.js.map +1 -1
  39. package/lib/commonjs/classes/HMSEncoder.js +6 -0
  40. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  41. package/lib/commonjs/classes/HMSEventEmitter.js +1 -2
  42. package/lib/commonjs/classes/HMSEventEmitter.js.map +1 -1
  43. package/lib/commonjs/classes/HMSIOSAudioMode.js +1 -2
  44. package/lib/commonjs/classes/HMSIOSAudioMode.js.map +1 -1
  45. package/lib/commonjs/classes/HMSLayer.js +1 -2
  46. package/lib/commonjs/classes/HMSLayer.js.map +1 -1
  47. package/lib/commonjs/classes/HMSLogAlarmManager.js +1 -2
  48. package/lib/commonjs/classes/HMSLogAlarmManager.js.map +1 -1
  49. package/lib/commonjs/classes/HMSLogLevel.js +1 -2
  50. package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
  51. package/lib/commonjs/classes/HMSLogger.js +1 -2
  52. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  53. package/lib/commonjs/classes/HMSManagerModule.js +1 -2
  54. package/lib/commonjs/classes/HMSManagerModule.js.map +1 -1
  55. package/lib/commonjs/classes/HMSMessageRecipientType.js +1 -2
  56. package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
  57. package/lib/commonjs/classes/HMSNativeEventListener.js +1 -2
  58. package/lib/commonjs/classes/HMSNativeEventListener.js.map +1 -1
  59. package/lib/commonjs/classes/HMSPIPListenerActions.js +2 -2
  60. package/lib/commonjs/classes/HMSPIPListenerActions.js.map +1 -1
  61. package/lib/commonjs/classes/HMSPeer.js +15 -0
  62. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  63. package/lib/commonjs/classes/HMSPeerListIterator.js +64 -0
  64. package/lib/commonjs/classes/HMSPeerListIterator.js.map +1 -0
  65. package/lib/commonjs/classes/HMSPeerListIteratorOptions.js +2 -0
  66. package/lib/commonjs/classes/HMSPeerListIteratorOptions.js.map +1 -0
  67. package/lib/commonjs/classes/HMSPeerUpdate.js +3 -4
  68. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  69. package/lib/commonjs/classes/HMSPeersCache.js +8 -2
  70. package/lib/commonjs/classes/HMSPeersCache.js.map +1 -1
  71. package/lib/commonjs/classes/HMSQualityLimitationReason.js +1 -2
  72. package/lib/commonjs/classes/HMSQualityLimitationReason.js.map +1 -1
  73. package/lib/commonjs/classes/HMSRoomCache.js +1 -2
  74. package/lib/commonjs/classes/HMSRoomCache.js.map +1 -1
  75. package/lib/commonjs/classes/HMSRoomUpdate.js +1 -2
  76. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  77. package/lib/commonjs/classes/HMSSDK.js +192 -32
  78. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  79. package/lib/commonjs/classes/HMSTrackSettingsInitState.js +1 -2
  80. package/lib/commonjs/classes/HMSTrackSettingsInitState.js.map +1 -1
  81. package/lib/commonjs/classes/HMSTrackSource.js +1 -2
  82. package/lib/commonjs/classes/HMSTrackSource.js.map +1 -1
  83. package/lib/commonjs/classes/HMSTrackType.js +1 -2
  84. package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
  85. package/lib/commonjs/classes/HMSTrackUpdate.js +1 -2
  86. package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
  87. package/lib/commonjs/classes/HMSUpdateListenerActions.js +2 -2
  88. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  89. package/lib/commonjs/classes/HMSVideoCodec.js +1 -2
  90. package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
  91. package/lib/commonjs/classes/HMSVideoViewMode.js +1 -2
  92. package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
  93. package/lib/commonjs/classes/HmsView.js +3 -4
  94. package/lib/commonjs/classes/HmsView.js.map +1 -1
  95. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js +13 -9
  96. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  97. package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js +2 -4
  98. package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js.map +1 -1
  99. package/lib/commonjs/components/HMSHLSPlayer/hooks.js +5 -10
  100. package/lib/commonjs/components/HMSHLSPlayer/hooks.js.map +1 -1
  101. package/lib/commonjs/hooks/useHMSPeerUpdates.js +2 -2
  102. package/lib/commonjs/hooks/useHMSPeerUpdates.js.map +1 -1
  103. package/lib/commonjs/index.js +1 -2
  104. package/lib/commonjs/index.js.map +1 -1
  105. package/lib/commonjs/stores/hls-player-stats-store.js +1 -2
  106. package/lib/commonjs/stores/hls-player-stats-store.js.map +1 -1
  107. package/lib/commonjs/stores/hms-store.js +1 -2
  108. package/lib/commonjs/stores/hms-store.js.map +1 -1
  109. package/lib/commonjs/types.js +4 -6
  110. package/lib/commonjs/types.js.map +1 -1
  111. package/lib/module/classes/HMSEncoder.js +6 -0
  112. package/lib/module/classes/HMSEncoder.js.map +1 -1
  113. package/lib/module/classes/HMSPIPListenerActions.js +1 -0
  114. package/lib/module/classes/HMSPIPListenerActions.js.map +1 -1
  115. package/lib/module/classes/HMSPeer.js +15 -0
  116. package/lib/module/classes/HMSPeer.js.map +1 -1
  117. package/lib/module/classes/HMSPeerListIterator.js +58 -0
  118. package/lib/module/classes/HMSPeerListIterator.js.map +1 -0
  119. package/lib/module/classes/HMSPeerListIteratorOptions.js +2 -0
  120. package/lib/module/classes/HMSPeerListIteratorOptions.js.map +1 -0
  121. package/lib/module/classes/HMSPeerUpdate.js +2 -1
  122. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  123. package/lib/module/classes/HMSPeersCache.js +7 -0
  124. package/lib/module/classes/HMSPeersCache.js.map +1 -1
  125. package/lib/module/classes/HMSSDK.js +193 -33
  126. package/lib/module/classes/HMSSDK.js.map +1 -1
  127. package/lib/module/classes/HMSUpdateListenerActions.js +1 -0
  128. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  129. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js +11 -6
  130. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  131. package/lib/module/index.js.map +1 -1
  132. package/lib/module/types.js +1 -0
  133. package/lib/module/types.js.map +1 -1
  134. package/lib/typescript/classes/HMSEncoder.d.ts +1 -0
  135. package/lib/typescript/classes/HMSPIPListenerActions.d.ts +1 -0
  136. package/lib/typescript/classes/HMSPeer.d.ts +3 -0
  137. package/lib/typescript/classes/HMSPeerListIterator.d.ts +9 -0
  138. package/lib/typescript/classes/HMSPeerListIteratorOptions.d.ts +24 -0
  139. package/lib/typescript/classes/HMSPeerUpdate.d.ts +2 -1
  140. package/lib/typescript/classes/HMSPeersCache.d.ts +1 -0
  141. package/lib/typescript/classes/HMSSDK.d.ts +69 -13
  142. package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +2 -1
  143. package/lib/typescript/index.d.ts +1 -1
  144. package/lib/typescript/types.d.ts +3 -1
  145. package/package.json +1 -1
  146. package/sdk-versions.json +2 -2
  147. package/src/classes/HMSEncoder.ts +9 -0
  148. package/src/classes/HMSPIPListenerActions.ts +1 -0
  149. package/src/classes/HMSPeer.ts +25 -0
  150. package/src/classes/HMSPeerListIterator.ts +60 -0
  151. package/src/classes/HMSPeerListIteratorOptions.ts +26 -0
  152. package/src/classes/HMSPeerUpdate.ts +2 -0
  153. package/src/classes/HMSPeersCache.ts +7 -0
  154. package/src/classes/HMSSDK.tsx +235 -28
  155. package/src/classes/HMSUpdateListenerActions.ts +1 -0
  156. package/src/components/HMSHLSPlayer/HMSHLSPlayer.tsx +15 -13
  157. package/src/index.ts +4 -1
  158. package/src/types.ts +2 -0
  159. package/android/.gradle/6.7.1/executionHistory/executionHistory.bin +0 -0
  160. package/android/.gradle/6.7.1/executionHistory/executionHistory.lock +0 -0
  161. package/android/.gradle/6.7.1/fileChanges/last-build.bin +0 -0
  162. package/android/.gradle/6.7.1/fileHashes/fileHashes.bin +0 -0
  163. package/android/.gradle/6.7.1/fileHashes/fileHashes.lock +0 -0
  164. package/android/.gradle/6.7.1/gc.properties +0 -0
  165. package/android/.gradle/6.9/executionHistory/executionHistory.bin +0 -0
  166. package/android/.gradle/6.9/executionHistory/executionHistory.lock +0 -0
  167. package/android/.gradle/6.9/fileChanges/last-build.bin +0 -0
  168. package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
  169. package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
  170. package/android/.gradle/6.9/gc.properties +0 -0
  171. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  172. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  173. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  174. package/android/.gradle/checksums/checksums.lock +0 -0
  175. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  176. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  177. package/android/.gradle/configuration-cache/gc.properties +0 -0
  178. package/android/.gradle/vcs-1/gc.properties +0 -0
@@ -26,6 +26,7 @@ export let HMSUpdateListenerActions = /*#__PURE__*/function (HMSUpdateListenerAc
26
26
  HMSUpdateListenerActions["ON_AUDIO_DEVICE_CHANGED"] = "ON_AUDIO_DEVICE_CHANGED";
27
27
  HMSUpdateListenerActions["ON_SESSION_STORE_AVAILABLE"] = "ON_SESSION_STORE_AVAILABLE";
28
28
  HMSUpdateListenerActions["ON_SESSION_STORE_CHANGED"] = "ON_SESSION_STORE_CHANGED";
29
+ HMSUpdateListenerActions["ON_PEER_LIST_UPDATED"] = "ON_PEER_LIST_UPDATED";
29
30
  return HMSUpdateListenerActions;
30
31
  }({});
31
32
  //# sourceMappingURL=HMSUpdateListenerActions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["HMSUpdateListenerActions"],"sources":["HMSUpdateListenerActions.ts"],"sourcesContent":["/**\n * These are the available events emitted by the `HMSSDK`\n *\n * For more info about these events, checkout Event Listener docs\n * {@link https://www.100ms.live/docs/react-native/v2/how-to-guides/listen-to-room-updates/event-listeners}\n */\nexport enum HMSUpdateListenerActions {\n ON_PREVIEW = 'ON_PREVIEW',\n ON_JOIN = 'ON_JOIN',\n ON_ROOM_UPDATE = 'ON_ROOM_UPDATE',\n ON_PEER_UPDATE = '3',\n ON_TRACK_UPDATE = 'ON_TRACK_UPDATE',\n ON_ERROR = 'ON_ERROR',\n ON_MESSAGE = 'ON_MESSAGE',\n ON_SPEAKER = 'ON_SPEAKER',\n RECONNECTING = 'RECONNECTING',\n RECONNECTED = 'RECONNECTED',\n ON_ROLE_CHANGE_REQUEST = 'ON_ROLE_CHANGE_REQUEST',\n ON_CHANGE_TRACK_STATE_REQUEST = 'ON_CHANGE_TRACK_STATE_REQUEST',\n ON_REMOVED_FROM_ROOM = 'ON_REMOVED_FROM_ROOM',\n ON_RTC_STATS = 'ON_RTC_STATS',\n ON_LOCAL_AUDIO_STATS = 'ON_LOCAL_AUDIO_STATS',\n ON_LOCAL_VIDEO_STATS = 'ON_LOCAL_VIDEO_STATS',\n ON_REMOTE_AUDIO_STATS = 'ON_REMOTE_AUDIO_STATS',\n ON_REMOTE_VIDEO_STATS = 'ON_REMOTE_VIDEO_STATS',\n ON_AUDIO_DEVICE_CHANGED = 'ON_AUDIO_DEVICE_CHANGED',\n ON_SESSION_STORE_AVAILABLE = 'ON_SESSION_STORE_AVAILABLE',\n ON_SESSION_STORE_CHANGED = 'ON_SESSION_STORE_CHANGED',\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,WAAYA,wBAAwB,0BAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAA,OAAxBA,wBAAwB;AAAA"}
1
+ {"version":3,"names":["HMSUpdateListenerActions"],"sources":["HMSUpdateListenerActions.ts"],"sourcesContent":["/**\n * These are the available events emitted by the `HMSSDK`\n *\n * For more info about these events, checkout Event Listener docs\n * {@link https://www.100ms.live/docs/react-native/v2/how-to-guides/listen-to-room-updates/event-listeners}\n */\nexport enum HMSUpdateListenerActions {\n ON_PREVIEW = 'ON_PREVIEW',\n ON_JOIN = 'ON_JOIN',\n ON_ROOM_UPDATE = 'ON_ROOM_UPDATE',\n ON_PEER_UPDATE = '3',\n ON_TRACK_UPDATE = 'ON_TRACK_UPDATE',\n ON_ERROR = 'ON_ERROR',\n ON_MESSAGE = 'ON_MESSAGE',\n ON_SPEAKER = 'ON_SPEAKER',\n RECONNECTING = 'RECONNECTING',\n RECONNECTED = 'RECONNECTED',\n ON_ROLE_CHANGE_REQUEST = 'ON_ROLE_CHANGE_REQUEST',\n ON_CHANGE_TRACK_STATE_REQUEST = 'ON_CHANGE_TRACK_STATE_REQUEST',\n ON_REMOVED_FROM_ROOM = 'ON_REMOVED_FROM_ROOM',\n ON_RTC_STATS = 'ON_RTC_STATS',\n ON_LOCAL_AUDIO_STATS = 'ON_LOCAL_AUDIO_STATS',\n ON_LOCAL_VIDEO_STATS = 'ON_LOCAL_VIDEO_STATS',\n ON_REMOTE_AUDIO_STATS = 'ON_REMOTE_AUDIO_STATS',\n ON_REMOTE_VIDEO_STATS = 'ON_REMOTE_VIDEO_STATS',\n ON_AUDIO_DEVICE_CHANGED = 'ON_AUDIO_DEVICE_CHANGED',\n ON_SESSION_STORE_AVAILABLE = 'ON_SESSION_STORE_AVAILABLE',\n ON_SESSION_STORE_CHANGED = 'ON_SESSION_STORE_CHANGED',\n ON_PEER_LIST_UPDATED = 'ON_PEER_LIST_UPDATED',\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,WAAYA,wBAAwB,0BAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAA,OAAxBA,wBAAwB;AAAA"}
@@ -1,4 +1,4 @@
1
- import React, { useImperativeHandle, useRef } from 'react';
1
+ import React, { useImperativeHandle, useRef, useState } from 'react';
2
2
  import { View, StyleSheet, UIManager, findNodeHandle } from 'react-native';
3
3
  import { setHMSHLSPlayerCue, setHMSHLSPlayerPlaybackError, setHMSHLSPlayerPlaybackState, setHMSHLSPlayerStats, setHMSHLSPlayerStatsError } from './hooks';
4
4
  import { RCTHMSHLSPlayer, RCTHMSHLSPlayerViewManagerConfig } from './RCTHMSHLSPlayer';
@@ -9,11 +9,11 @@ const _HMSHLSPlayer = (_ref, ref) => {
9
9
  url = '',
10
10
  style,
11
11
  containerStyle,
12
- aspectRatio = 9 / 16,
13
12
  enableStats,
14
13
  enableControls = false
15
14
  } = _ref;
16
15
  const hmsHlsPlayerRef = useRef(null);
16
+ const [aspectRatio, setAspectRatio] = useState(16 / 9);
17
17
  useImperativeHandle(ref, () => ({
18
18
  play: url => {
19
19
  if (hmsHlsPlayerRef.current && RCTHMSHLSPlayerViewManagerConfig.Commands.play) {
@@ -82,6 +82,11 @@ const _HMSHLSPlayer = (_ref, ref) => {
82
82
  setHMSHLSPlayerPlaybackError(data.error);
83
83
  } else {
84
84
  setHMSHLSPlayerPlaybackState(data.state);
85
+ if (data.state === 'onVideoSizeChanged') {
86
+ if (typeof data.aspectRatio === 'number') {
87
+ setAspectRatio(data.aspectRatio);
88
+ }
89
+ }
85
90
  }
86
91
  };
87
92
 
@@ -108,7 +113,8 @@ const _HMSHLSPlayer = (_ref, ref) => {
108
113
  ref: hmsHlsPlayerRef,
109
114
  url: url,
110
115
  style: [styles.player, {
111
- aspectRatio
116
+ aspectRatio: aspectRatio,
117
+ flex: aspectRatio < 1 ? 1 : undefined
112
118
  }],
113
119
  enableStats: enableStats,
114
120
  enableControls: enableControls,
@@ -130,9 +136,8 @@ const styles = StyleSheet.create({
130
136
  },
131
137
  player: {
132
138
  width: '100%',
133
- maxHeight: '100%',
134
- maxWidth: '100%',
135
- aspectRatio: 9 / 16
139
+ aspectRatio: 16 / 9,
140
+ flex: 1
136
141
  }
137
142
  });
138
143
  //# sourceMappingURL=HMSHLSPlayer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useImperativeHandle","useRef","View","StyleSheet","UIManager","findNodeHandle","setHMSHLSPlayerCue","setHMSHLSPlayerPlaybackError","setHMSHLSPlayerPlaybackState","setHMSHLSPlayerStats","setHMSHLSPlayerStatsError","RCTHMSHLSPlayer","RCTHMSHLSPlayerViewManagerConfig","HMSHLSPlayerPlaybackEventTypes","HMSHLSPlayerStatsEventTypes","HMSEncoder","_HMSHLSPlayer","_ref","ref","url","style","containerStyle","aspectRatio","enableStats","enableControls","hmsHlsPlayerRef","play","current","Commands","dispatchViewManagerCommand","stop","undefined","pause","resume","seekForward","seconds","Error","seekBackward","seekToLivePosition","setVolume","level","handleHLSPlaybackEvent","_ref2","nativeEvent","event","data","ON_PLAYBACK_CUE_EVENT","transformedData","transformHMSHLSCueEventData","ON_PLAYBACK_FAILURE_EVENT","error","state","handleHLSStatsEvent","_ref3","ON_STATS_EVENT_ERROR","createElement","styles","container","playerWrapper","player","onHmsHlsPlaybackEvent","onHmsHlsStatsEvent","HMSHLSPlayer","forwardRef","create","flex","alignItems","justifyContent","backgroundColor","width","maxHeight","maxWidth"],"sources":["HMSHLSPlayer.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef } from 'react';\nimport { View, StyleSheet, UIManager, findNodeHandle } from 'react-native';\nimport type { StyleProp, ViewStyle } from 'react-native';\n\nimport {\n setHMSHLSPlayerCue,\n setHMSHLSPlayerPlaybackError,\n setHMSHLSPlayerPlaybackState,\n setHMSHLSPlayerStats,\n setHMSHLSPlayerStatsError,\n} from './hooks';\nimport {\n RCTHMSHLSPlayer,\n RCTHMSHLSPlayerViewManagerConfig,\n} from './RCTHMSHLSPlayer';\nimport type {\n HmsHlsPlaybackEventHandler,\n HmsHlsStatsEventHandler,\n RCTHMSHLSPlayerRef,\n} from './RCTHMSHLSPlayer';\nimport {\n HMSHLSPlayerPlaybackEventTypes,\n HMSHLSPlayerStatsEventTypes,\n} from '../../types';\nimport type { HMSHLSPlayerPlaybackCueEventData } from '../../types';\nimport { HMSEncoder } from '../../classes/HMSEncoder';\nimport type { HMSHLSPlayerPlaybackCue } from '../../stores/types';\n\nexport interface HMSHLSPlayerProps {\n url?: string;\n style?: StyleProp<ViewStyle>;\n containerStyle?: StyleProp<ViewStyle>;\n aspectRatio?: number;\n enableStats?: boolean;\n enableControls?: boolean;\n}\n\nexport interface HMSHLSPlayerRefProperties {\n play: (url?: string) => void;\n stop: () => void;\n pause: () => void;\n resume: () => void;\n seekForward: (seconds: number) => void;\n seekBackward: (seconds: number) => void;\n seekToLivePosition: () => void;\n setVolume: (level: number) => void;\n}\n\nconst _HMSHLSPlayer: React.ForwardRefRenderFunction<\n HMSHLSPlayerRefProperties,\n HMSHLSPlayerProps\n> = (\n {\n url = '',\n style,\n containerStyle,\n aspectRatio = 9 / 16,\n enableStats,\n enableControls = false,\n },\n ref\n) => {\n const hmsHlsPlayerRef = useRef<RCTHMSHLSPlayerRef | null>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n play: (url?: string) => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.play\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.play,\n url ? [url] : ['']\n );\n }\n },\n stop: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.stop\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.stop,\n undefined\n );\n }\n },\n pause: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.pause\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.pause,\n undefined\n );\n }\n },\n resume: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.resume\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.resume,\n undefined\n );\n }\n },\n seekForward: (seconds: number) => {\n if (typeof seconds !== 'number') {\n throw new Error(\n seconds\n ? 'seconds must be a `number` type'\n : 'seconds was not provided'\n );\n }\n\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekForward\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekForward,\n [seconds]\n );\n }\n },\n seekBackward: (seconds: number) => {\n if (typeof seconds !== 'number') {\n throw new Error(\n seconds\n ? 'seconds must be a `number` type'\n : 'seconds was not provided'\n );\n }\n\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekBackward\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekBackward,\n [seconds]\n );\n }\n },\n seekToLivePosition: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekToLivePosition\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekToLivePosition,\n undefined\n );\n }\n },\n setVolume: (level: number) => {\n if (typeof level !== 'number') {\n throw new Error(\n level ? 'level must be a `number` type' : 'level was not provided'\n );\n }\n\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.setVolume\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.setVolume,\n [level]\n );\n }\n },\n }),\n []\n );\n\n // Handle HLS Playback events\n const handleHLSPlaybackEvent: HmsHlsPlaybackEventHandler = ({\n nativeEvent,\n }) => {\n const { event, data } = nativeEvent;\n\n if (event === HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_CUE_EVENT) {\n const transformedData = HMSEncoder.transformHMSHLSCueEventData<\n HMSHLSPlayerPlaybackCueEventData,\n HMSHLSPlayerPlaybackCue\n >(data);\n setHMSHLSPlayerCue(transformedData);\n } else if (\n event === HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_FAILURE_EVENT\n ) {\n setHMSHLSPlayerPlaybackError(data.error);\n } else {\n setHMSHLSPlayerPlaybackState(data.state);\n }\n };\n\n // Handle HLS Stats events\n const handleHLSStatsEvent: HmsHlsStatsEventHandler = ({ nativeEvent }) => {\n const { event, data } = nativeEvent;\n\n if (event === HMSHLSPlayerStatsEventTypes.ON_STATS_EVENT_ERROR) {\n setHMSHLSPlayerStatsError(data);\n } else {\n setHMSHLSPlayerStats(data);\n }\n };\n\n return (\n <View style={[styles.container, containerStyle]}>\n <View style={[styles.playerWrapper, style]}>\n <RCTHMSHLSPlayer\n ref={hmsHlsPlayerRef}\n url={url}\n style={[styles.player, { aspectRatio }]}\n enableStats={enableStats}\n enableControls={enableControls}\n onHmsHlsPlaybackEvent={handleHLSPlaybackEvent}\n onHmsHlsStatsEvent={handleHLSStatsEvent}\n />\n </View>\n </View>\n );\n};\n\nexport const HMSHLSPlayer = React.forwardRef<\n HMSHLSPlayerRefProperties,\n HMSHLSPlayerProps\n>(_HMSHLSPlayer);\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n playerWrapper: {\n backgroundColor: '#000000',\n alignItems: 'center',\n justifyContent: 'center',\n },\n player: {\n width: '100%',\n maxHeight: '100%',\n maxWidth: '100%',\n aspectRatio: 9 / 16,\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useImperativeHandle","useRef","useState","View","StyleSheet","UIManager","findNodeHandle","setHMSHLSPlayerCue","setHMSHLSPlayerPlaybackError","setHMSHLSPlayerPlaybackState","setHMSHLSPlayerStats","setHMSHLSPlayerStatsError","RCTHMSHLSPlayer","RCTHMSHLSPlayerViewManagerConfig","HMSHLSPlayerPlaybackEventTypes","HMSHLSPlayerStatsEventTypes","HMSEncoder","_HMSHLSPlayer","_ref","ref","url","style","containerStyle","enableStats","enableControls","hmsHlsPlayerRef","aspectRatio","setAspectRatio","play","current","Commands","dispatchViewManagerCommand","stop","undefined","pause","resume","seekForward","seconds","Error","seekBackward","seekToLivePosition","setVolume","level","handleHLSPlaybackEvent","_ref2","nativeEvent","event","data","ON_PLAYBACK_CUE_EVENT","transformedData","transformHMSHLSCueEventData","ON_PLAYBACK_FAILURE_EVENT","error","state","handleHLSStatsEvent","_ref3","ON_STATS_EVENT_ERROR","createElement","styles","container","playerWrapper","player","flex","onHmsHlsPlaybackEvent","onHmsHlsStatsEvent","HMSHLSPlayer","forwardRef","create","alignItems","justifyContent","backgroundColor","width"],"sources":["HMSHLSPlayer.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState } from 'react';\nimport { View, StyleSheet, UIManager, findNodeHandle } from 'react-native';\nimport type { StyleProp, ViewStyle } from 'react-native';\n\nimport {\n setHMSHLSPlayerCue,\n setHMSHLSPlayerPlaybackError,\n setHMSHLSPlayerPlaybackState,\n setHMSHLSPlayerStats,\n setHMSHLSPlayerStatsError,\n} from './hooks';\nimport {\n RCTHMSHLSPlayer,\n RCTHMSHLSPlayerViewManagerConfig,\n} from './RCTHMSHLSPlayer';\nimport type {\n HmsHlsPlaybackEventHandler,\n HmsHlsStatsEventHandler,\n RCTHMSHLSPlayerRef,\n} from './RCTHMSHLSPlayer';\nimport {\n HMSHLSPlayerPlaybackEventTypes,\n HMSHLSPlayerStatsEventTypes,\n} from '../../types';\nimport type { HMSHLSPlayerPlaybackCueEventData } from '../../types';\nimport { HMSEncoder } from '../../classes/HMSEncoder';\nimport type { HMSHLSPlayerPlaybackCue } from '../../stores/types';\n\nexport interface HMSHLSPlayerProps {\n url?: string;\n style?: StyleProp<ViewStyle>;\n containerStyle?: StyleProp<ViewStyle>;\n aspectRatio?: number;\n enableStats?: boolean;\n enableControls?: boolean;\n}\n\nexport interface HMSHLSPlayerRefProperties {\n play: (url?: string) => void;\n stop: () => void;\n pause: () => void;\n resume: () => void;\n seekForward: (seconds: number) => void;\n seekBackward: (seconds: number) => void;\n seekToLivePosition: () => void;\n setVolume: (level: number) => void;\n}\n\nconst _HMSHLSPlayer: React.ForwardRefRenderFunction<\n HMSHLSPlayerRefProperties,\n HMSHLSPlayerProps\n> = (\n { url = '', style, containerStyle, enableStats, enableControls = false },\n ref\n) => {\n const hmsHlsPlayerRef = useRef<RCTHMSHLSPlayerRef | null>(null);\n\n const [aspectRatio, setAspectRatio] = useState(16 / 9);\n\n useImperativeHandle(\n ref,\n () => ({\n play: (url?: string) => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.play\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.play,\n url ? [url] : ['']\n );\n }\n },\n stop: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.stop\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.stop,\n undefined\n );\n }\n },\n pause: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.pause\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.pause,\n undefined\n );\n }\n },\n resume: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.resume\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.resume,\n undefined\n );\n }\n },\n seekForward: (seconds: number) => {\n if (typeof seconds !== 'number') {\n throw new Error(\n seconds\n ? 'seconds must be a `number` type'\n : 'seconds was not provided'\n );\n }\n\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekForward\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekForward,\n [seconds]\n );\n }\n },\n seekBackward: (seconds: number) => {\n if (typeof seconds !== 'number') {\n throw new Error(\n seconds\n ? 'seconds must be a `number` type'\n : 'seconds was not provided'\n );\n }\n\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekBackward\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekBackward,\n [seconds]\n );\n }\n },\n seekToLivePosition: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekToLivePosition\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekToLivePosition,\n undefined\n );\n }\n },\n setVolume: (level: number) => {\n if (typeof level !== 'number') {\n throw new Error(\n level ? 'level must be a `number` type' : 'level was not provided'\n );\n }\n\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.setVolume\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.setVolume,\n [level]\n );\n }\n },\n }),\n []\n );\n\n // Handle HLS Playback events\n const handleHLSPlaybackEvent: HmsHlsPlaybackEventHandler = ({\n nativeEvent,\n }) => {\n const { event, data } = nativeEvent;\n\n if (event === HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_CUE_EVENT) {\n const transformedData = HMSEncoder.transformHMSHLSCueEventData<\n HMSHLSPlayerPlaybackCueEventData,\n HMSHLSPlayerPlaybackCue\n >(data);\n setHMSHLSPlayerCue(transformedData);\n } else if (\n event === HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_FAILURE_EVENT\n ) {\n setHMSHLSPlayerPlaybackError(data.error);\n } else {\n setHMSHLSPlayerPlaybackState(data.state);\n if (data.state === 'onVideoSizeChanged') {\n if (typeof data.aspectRatio === 'number') {\n setAspectRatio(data.aspectRatio);\n }\n }\n }\n };\n\n // Handle HLS Stats events\n const handleHLSStatsEvent: HmsHlsStatsEventHandler = ({ nativeEvent }) => {\n const { event, data } = nativeEvent;\n\n if (event === HMSHLSPlayerStatsEventTypes.ON_STATS_EVENT_ERROR) {\n setHMSHLSPlayerStatsError(data);\n } else {\n setHMSHLSPlayerStats(data);\n }\n };\n\n return (\n <View style={[styles.container, containerStyle]}>\n <View style={[styles.playerWrapper, style]}>\n <RCTHMSHLSPlayer\n ref={hmsHlsPlayerRef}\n url={url}\n style={[\n styles.player,\n { aspectRatio: aspectRatio, flex: aspectRatio < 1 ? 1 : undefined },\n ]}\n enableStats={enableStats}\n enableControls={enableControls}\n onHmsHlsPlaybackEvent={handleHLSPlaybackEvent}\n onHmsHlsStatsEvent={handleHLSStatsEvent}\n />\n </View>\n </View>\n );\n};\n\nexport const HMSHLSPlayer = React.forwardRef<\n HMSHLSPlayerRefProperties,\n HMSHLSPlayerProps\n>(_HMSHLSPlayer);\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n playerWrapper: {\n backgroundColor: '#000000',\n alignItems: 'center',\n justifyContent: 'center',\n },\n player: {\n width: '100%',\n aspectRatio: 16 / 9,\n flex: 1,\n },\n});\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,mBAAmB,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACpE,SAASC,IAAI,EAAEC,UAAU,EAAEC,SAAS,EAAEC,cAAc,QAAQ,cAAc;AAG1E,SACEC,kBAAkB,EAClBC,4BAA4B,EAC5BC,4BAA4B,EAC5BC,oBAAoB,EACpBC,yBAAyB,QACpB,SAAS;AAChB,SACEC,eAAe,EACfC,gCAAgC,QAC3B,mBAAmB;AAM1B,SACEC,8BAA8B,EAC9BC,2BAA2B,QACtB,aAAa;AAEpB,SAASC,UAAU,QAAQ,0BAA0B;AAuBrD,MAAMC,aAGL,GAAGA,CAAAC,IAAA,EAEFC,GAAG,KACA;EAAA,IAFH;IAAEC,GAAG,GAAG,EAAE;IAAEC,KAAK;IAAEC,cAAc;IAAEC,WAAW;IAAEC,cAAc,GAAG;EAAM,CAAC,GAAAN,IAAA;EAGxE,MAAMO,eAAe,GAAGxB,MAAM,CAA4B,IAAI,CAAC;EAE/D,MAAM,CAACyB,WAAW,EAAEC,cAAc,CAAC,GAAGzB,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;EAEtDF,mBAAmB,CACjBmB,GAAG,EACH,OAAO;IACLS,IAAI,EAAGR,GAAY,IAAK;MACtB,IACEK,eAAe,CAACI,OAAO,IACvBhB,gCAAgC,CAACiB,QAAQ,CAACF,IAAI,EAC9C;QACAvB,SAAS,CAAC0B,0BAA0B,CAClCzB,cAAc,CAACmB,eAAe,CAACI,OAAO,CAAC,EACvChB,gCAAgC,CAACiB,QAAQ,CAACF,IAAI,EAC9CR,GAAG,GAAG,CAACA,GAAG,CAAC,GAAG,CAAC,EAAE,CACnB,CAAC;MACH;IACF,CAAC;IACDY,IAAI,EAAEA,CAAA,KAAM;MACV,IACEP,eAAe,CAACI,OAAO,IACvBhB,gCAAgC,CAACiB,QAAQ,CAACE,IAAI,EAC9C;QACA3B,SAAS,CAAC0B,0BAA0B,CAClCzB,cAAc,CAACmB,eAAe,CAACI,OAAO,CAAC,EACvChB,gCAAgC,CAACiB,QAAQ,CAACE,IAAI,EAC9CC,SACF,CAAC;MACH;IACF,CAAC;IACDC,KAAK,EAAEA,CAAA,KAAM;MACX,IACET,eAAe,CAACI,OAAO,IACvBhB,gCAAgC,CAACiB,QAAQ,CAACI,KAAK,EAC/C;QACA7B,SAAS,CAAC0B,0BAA0B,CAClCzB,cAAc,CAACmB,eAAe,CAACI,OAAO,CAAC,EACvChB,gCAAgC,CAACiB,QAAQ,CAACI,KAAK,EAC/CD,SACF,CAAC;MACH;IACF,CAAC;IACDE,MAAM,EAAEA,CAAA,KAAM;MACZ,IACEV,eAAe,CAACI,OAAO,IACvBhB,gCAAgC,CAACiB,QAAQ,CAACK,MAAM,EAChD;QACA9B,SAAS,CAAC0B,0BAA0B,CAClCzB,cAAc,CAACmB,eAAe,CAACI,OAAO,CAAC,EACvChB,gCAAgC,CAACiB,QAAQ,CAACK,MAAM,EAChDF,SACF,CAAC;MACH;IACF,CAAC;IACDG,WAAW,EAAGC,OAAe,IAAK;MAChC,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;QAC/B,MAAM,IAAIC,KAAK,CACbD,OAAO,GACH,iCAAiC,GACjC,0BACN,CAAC;MACH;MAEA,IACEZ,eAAe,CAACI,OAAO,IACvBhB,gCAAgC,CAACiB,QAAQ,CAACM,WAAW,EACrD;QACA/B,SAAS,CAAC0B,0BAA0B,CAClCzB,cAAc,CAACmB,eAAe,CAACI,OAAO,CAAC,EACvChB,gCAAgC,CAACiB,QAAQ,CAACM,WAAW,EACrD,CAACC,OAAO,CACV,CAAC;MACH;IACF,CAAC;IACDE,YAAY,EAAGF,OAAe,IAAK;MACjC,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;QAC/B,MAAM,IAAIC,KAAK,CACbD,OAAO,GACH,iCAAiC,GACjC,0BACN,CAAC;MACH;MAEA,IACEZ,eAAe,CAACI,OAAO,IACvBhB,gCAAgC,CAACiB,QAAQ,CAACS,YAAY,EACtD;QACAlC,SAAS,CAAC0B,0BAA0B,CAClCzB,cAAc,CAACmB,eAAe,CAACI,OAAO,CAAC,EACvChB,gCAAgC,CAACiB,QAAQ,CAACS,YAAY,EACtD,CAACF,OAAO,CACV,CAAC;MACH;IACF,CAAC;IACDG,kBAAkB,EAAEA,CAAA,KAAM;MACxB,IACEf,eAAe,CAACI,OAAO,IACvBhB,gCAAgC,CAACiB,QAAQ,CAACU,kBAAkB,EAC5D;QACAnC,SAAS,CAAC0B,0BAA0B,CAClCzB,cAAc,CAACmB,eAAe,CAACI,OAAO,CAAC,EACvChB,gCAAgC,CAACiB,QAAQ,CAACU,kBAAkB,EAC5DP,SACF,CAAC;MACH;IACF,CAAC;IACDQ,SAAS,EAAGC,KAAa,IAAK;MAC5B,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,IAAIJ,KAAK,CACbI,KAAK,GAAG,+BAA+B,GAAG,wBAC5C,CAAC;MACH;MAEA,IACEjB,eAAe,CAACI,OAAO,IACvBhB,gCAAgC,CAACiB,QAAQ,CAACW,SAAS,EACnD;QACApC,SAAS,CAAC0B,0BAA0B,CAClCzB,cAAc,CAACmB,eAAe,CAACI,OAAO,CAAC,EACvChB,gCAAgC,CAACiB,QAAQ,CAACW,SAAS,EACnD,CAACC,KAAK,CACR,CAAC;MACH;IACF;EACF,CAAC,CAAC,EACF,EACF,CAAC;;EAED;EACA,MAAMC,sBAAkD,GAAGC,KAAA,IAErD;IAAA,IAFsD;MAC1DC;IACF,CAAC,GAAAD,KAAA;IACC,MAAM;MAAEE,KAAK;MAAEC;IAAK,CAAC,GAAGF,WAAW;IAEnC,IAAIC,KAAK,KAAKhC,8BAA8B,CAACkC,qBAAqB,EAAE;MAClE,MAAMC,eAAe,GAAGjC,UAAU,CAACkC,2BAA2B,CAG5DH,IAAI,CAAC;MACPxC,kBAAkB,CAAC0C,eAAe,CAAC;IACrC,CAAC,MAAM,IACLH,KAAK,KAAKhC,8BAA8B,CAACqC,yBAAyB,EAClE;MACA3C,4BAA4B,CAACuC,IAAI,CAACK,KAAK,CAAC;IAC1C,CAAC,MAAM;MACL3C,4BAA4B,CAACsC,IAAI,CAACM,KAAK,CAAC;MACxC,IAAIN,IAAI,CAACM,KAAK,KAAK,oBAAoB,EAAE;QACvC,IAAI,OAAON,IAAI,CAACrB,WAAW,KAAK,QAAQ,EAAE;UACxCC,cAAc,CAACoB,IAAI,CAACrB,WAAW,CAAC;QAClC;MACF;IACF;EACF,CAAC;;EAED;EACA,MAAM4B,mBAA4C,GAAGC,KAAA,IAAqB;IAAA,IAApB;MAAEV;IAAY,CAAC,GAAAU,KAAA;IACnE,MAAM;MAAET,KAAK;MAAEC;IAAK,CAAC,GAAGF,WAAW;IAEnC,IAAIC,KAAK,KAAK/B,2BAA2B,CAACyC,oBAAoB,EAAE;MAC9D7C,yBAAyB,CAACoC,IAAI,CAAC;IACjC,CAAC,MAAM;MACLrC,oBAAoB,CAACqC,IAAI,CAAC;IAC5B;EACF,CAAC;EAED,oBACEhD,KAAA,CAAA0D,aAAA,CAACtD,IAAI;IAACkB,KAAK,EAAE,CAACqC,MAAM,CAACC,SAAS,EAAErC,cAAc;EAAE,gBAC9CvB,KAAA,CAAA0D,aAAA,CAACtD,IAAI;IAACkB,KAAK,EAAE,CAACqC,MAAM,CAACE,aAAa,EAAEvC,KAAK;EAAE,gBACzCtB,KAAA,CAAA0D,aAAA,CAAC7C,eAAe;IACdO,GAAG,EAAEM,eAAgB;IACrBL,GAAG,EAAEA,GAAI;IACTC,KAAK,EAAE,CACLqC,MAAM,CAACG,MAAM,EACb;MAAEnC,WAAW,EAAEA,WAAW;MAAEoC,IAAI,EAAEpC,WAAW,GAAG,CAAC,GAAG,CAAC,GAAGO;IAAU,CAAC,CACnE;IACFV,WAAW,EAAEA,WAAY;IACzBC,cAAc,EAAEA,cAAe;IAC/BuC,qBAAqB,EAAEpB,sBAAuB;IAC9CqB,kBAAkB,EAAEV;EAAoB,CACzC,CACG,CACF,CAAC;AAEX,CAAC;AAED,OAAO,MAAMW,YAAY,gBAAGlE,KAAK,CAACmE,UAAU,CAG1CjD,aAAa,CAAC;AAEhB,MAAMyC,MAAM,GAAGtD,UAAU,CAAC+D,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTG,IAAI,EAAE,CAAC;IACPM,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDT,aAAa,EAAE;IACbU,eAAe,EAAE,SAAS;IAC1BF,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDR,MAAM,EAAE;IACNU,KAAK,EAAE,MAAM;IACb7C,WAAW,EAAE,EAAE,GAAG,CAAC;IACnBoC,IAAI,EAAE;EACR;AACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["HMSSDK","HmsManager","default","HMSManagerModule"],"sources":["index.ts"],"sourcesContent":["export * from './classes/HMSConfig';\nexport * from './classes/HMSUpdateListenerActions';\nexport * from './classes/HMSMessage';\nexport * from './classes/HMSVideoTrackSettings';\nexport * from './classes/HMSVideoTrack';\nexport * from './classes/HMSVideoSettings';\nexport * from './classes/HMSVideoCodec';\nexport * from './classes/HMSTrackSettings';\nexport * from './classes/HMSTrack';\nexport * from './classes/HMSTrackType';\nexport * from './classes/HMSTrackSource';\nexport * from './classes/HMSSubscribeSettings';\nexport * from './classes/HMSSimulcastSettings';\nexport * from './classes/HMSSimulcastLayerSettings';\nexport * from './classes/HMSSDK';\nexport * from './classes/HMSRoom';\nexport * from './classes/HMSRoleChangeRequest';\nexport * from './classes/HMSRole';\nexport * from './classes/HMSRemoteVideoTrack';\nexport * from './classes/HMSRemotePeer';\nexport * from './classes/HMSRemoteAudioTrack';\nexport * from './classes/HMSPublishSettings';\nexport * from './classes/HMSPermissions';\nexport * from './classes/HMSPeer';\nexport * from './classes/HMSLocalVideoTrack';\nexport * from './classes/HMSLocalPeer';\nexport * from './classes/HMSLocalAudioTrack';\nexport * from './classes/HMSHelper';\nexport * from './classes/HMSEncoder';\nexport * from './classes/HMSAudioTrackSettings';\nexport * from './classes/HMSAudioTrack';\nexport * from './classes/HMSAudioSettings';\nexport * from './classes/HMSAudioCodec';\nexport * from './classes/HMSPeerUpdate';\nexport * from './classes/HMSRoomUpdate';\nexport * from './classes/HMSTrackUpdate';\nexport * from './classes/HMSLogger';\nexport * from './classes/HMSLogLevel';\nexport * from './classes/HMSVideoViewMode';\nexport * from './classes/HMSChangeTrackStateRequest';\nexport * from './classes/HMSSpeaker';\nexport * from './classes/HMSCameraFacing';\nexport * from './classes/HMSException';\nexport * from './classes/HMSRtmpStreamingState';\nexport * from './classes/HMSServerRecordingState';\nexport * from './classes/HMSBrowserRecordingState';\nexport * from './classes/HMSRTMPConfig';\nexport * from './classes/HMSHLSConfig';\nexport * from './classes/HMSHLSMeetingURLVariant';\nexport * from './classes/HMSHLSVariant';\nexport * from './classes/HMSHLSStreamingState';\nexport * from './classes/HMSVideoResolution';\nexport * from './classes/HMSLocalAudioStats';\nexport * from './classes/HMSLocalVideoStats';\nexport * from './classes/HMSRTCStats';\nexport * from './classes/HMSRTCStatsReport';\nexport * from './classes/HMSRemoteAudioStats';\nexport * from './classes/HMSRemoteVideoStats';\nexport * from './classes/HMSHLSRecordingConfig';\nexport * from './classes/HMSHLSRecordingState';\nexport * from './classes/HMSMessageRecipient';\nexport * from './classes/HMSMessageRecipientType';\nexport * from './classes/HMSNetworkQuality';\nexport * from './classes/HMSRtmpVideoResolution';\nexport * from './classes/HMSAudioDevice';\nexport * from './classes/HMSAudioMode';\nexport * from './classes/HMSAudioMixingMode';\nexport * from './classes/HMSAudioNode';\nexport * from './classes/HMSMicNode';\nexport * from './classes/HMSScreenBroadcastAudioReceiverNode';\nexport * from './classes/HMSAudioFilePlayerNode';\nexport * from './classes/HMSAudioMixerSource';\nexport * from './classes/HMSTrackSettingsInitState';\nexport * from './classes/HMSLogSettings';\nexport * from './classes/HMSLogAlarmManager';\nexport * from './classes/HMSPIPListenerActions';\nexport * from './classes/HMSLayer';\nexport * from './classes/HMSSimulcastLayerDefinition';\nexport * from './classes/HMSQualityLimitationReasons';\nexport * from './classes/HMSQualityLimitationReason';\nexport * from './classes/HMSCameraControl';\nexport * from './classes/HMSIOSAudioMode';\nexport type {\n HMSSessionStore,\n HMSSessionStoreValue,\n} from './classes/HMSSessionStore';\nexport type { HmsViewComponent as HMSView } from './classes/HmsView';\n\nimport { HMSSDK as HmsManager } from './classes/HMSSDK';\n\n// 100ms React Native Native Module\nexport { default as HMSManagerModule } from './classes/HMSManagerModule';\n\n// 100ms Components\nexport * from './components/HMSHLSPlayer';\n\n// 100ms Hooks\nexport * from './hooks/useHMSPeerUpdates';\n\n// 100ms types\nexport * from './types';\nexport * from './stores/types';\n\nexport default HmsManager;\n"],"mappings":"AAAA,cAAc,qBAAqB;AACnC,cAAc,oCAAoC;AAClD,cAAc,sBAAsB;AACpC,cAAc,iCAAiC;AAC/C,cAAc,yBAAyB;AACvC,cAAc,4BAA4B;AAC1C,cAAc,yBAAyB;AACvC,cAAc,4BAA4B;AAC1C,cAAc,oBAAoB;AAClC,cAAc,wBAAwB;AACtC,cAAc,0BAA0B;AACxC,cAAc,gCAAgC;AAC9C,cAAc,gCAAgC;AAC9C,cAAc,qCAAqC;AACnD,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,gCAAgC;AAC9C,cAAc,mBAAmB;AACjC,cAAc,+BAA+B;AAC7C,cAAc,yBAAyB;AACvC,cAAc,+BAA+B;AAC7C,cAAc,8BAA8B;AAC5C,cAAc,0BAA0B;AACxC,cAAc,mBAAmB;AACjC,cAAc,8BAA8B;AAC5C,cAAc,wBAAwB;AACtC,cAAc,8BAA8B;AAC5C,cAAc,qBAAqB;AACnC,cAAc,sBAAsB;AACpC,cAAc,iCAAiC;AAC/C,cAAc,yBAAyB;AACvC,cAAc,4BAA4B;AAC1C,cAAc,yBAAyB;AACvC,cAAc,yBAAyB;AACvC,cAAc,yBAAyB;AACvC,cAAc,0BAA0B;AACxC,cAAc,qBAAqB;AACnC,cAAc,uBAAuB;AACrC,cAAc,4BAA4B;AAC1C,cAAc,sCAAsC;AACpD,cAAc,sBAAsB;AACpC,cAAc,2BAA2B;AACzC,cAAc,wBAAwB;AACtC,cAAc,iCAAiC;AAC/C,cAAc,mCAAmC;AACjD,cAAc,oCAAoC;AAClD,cAAc,yBAAyB;AACvC,cAAc,wBAAwB;AACtC,cAAc,mCAAmC;AACjD,cAAc,yBAAyB;AACvC,cAAc,gCAAgC;AAC9C,cAAc,8BAA8B;AAC5C,cAAc,8BAA8B;AAC5C,cAAc,8BAA8B;AAC5C,cAAc,uBAAuB;AACrC,cAAc,6BAA6B;AAC3C,cAAc,+BAA+B;AAC7C,cAAc,+BAA+B;AAC7C,cAAc,iCAAiC;AAC/C,cAAc,gCAAgC;AAC9C,cAAc,+BAA+B;AAC7C,cAAc,mCAAmC;AACjD,cAAc,6BAA6B;AAC3C,cAAc,kCAAkC;AAChD,cAAc,0BAA0B;AACxC,cAAc,wBAAwB;AACtC,cAAc,8BAA8B;AAC5C,cAAc,wBAAwB;AACtC,cAAc,sBAAsB;AACpC,cAAc,+CAA+C;AAC7D,cAAc,kCAAkC;AAChD,cAAc,+BAA+B;AAC7C,cAAc,qCAAqC;AACnD,cAAc,0BAA0B;AACxC,cAAc,8BAA8B;AAC5C,cAAc,iCAAiC;AAC/C,cAAc,oBAAoB;AAClC,cAAc,uCAAuC;AACrD,cAAc,uCAAuC;AACrD,cAAc,sCAAsC;AACpD,cAAc,4BAA4B;AAC1C,cAAc,2BAA2B;AAOzC,SAASA,MAAM,IAAIC,UAAU,QAAQ,kBAAkB;;AAEvD;AACA,SAASC,OAAO,IAAIC,gBAAgB,QAAQ,4BAA4B;;AAExE;AACA,cAAc,2BAA2B;;AAEzC;AACA,cAAc,2BAA2B;;AAEzC;AACA,cAAc,SAAS;AACvB,cAAc,gBAAgB;AAE9B,eAAeF,UAAU"}
1
+ {"version":3,"names":["HMSSDK","HmsManager","default","HMSManagerModule"],"sources":["index.ts"],"sourcesContent":["export * from './classes/HMSConfig';\nexport * from './classes/HMSUpdateListenerActions';\nexport * from './classes/HMSMessage';\nexport * from './classes/HMSVideoTrackSettings';\nexport * from './classes/HMSVideoTrack';\nexport * from './classes/HMSVideoSettings';\nexport * from './classes/HMSVideoCodec';\nexport * from './classes/HMSTrackSettings';\nexport * from './classes/HMSTrack';\nexport * from './classes/HMSTrackType';\nexport * from './classes/HMSTrackSource';\nexport * from './classes/HMSSubscribeSettings';\nexport * from './classes/HMSSimulcastSettings';\nexport * from './classes/HMSSimulcastLayerSettings';\nexport * from './classes/HMSSDK';\nexport * from './classes/HMSRoom';\nexport * from './classes/HMSRoleChangeRequest';\nexport * from './classes/HMSRole';\nexport * from './classes/HMSRemoteVideoTrack';\nexport * from './classes/HMSRemotePeer';\nexport * from './classes/HMSRemoteAudioTrack';\nexport * from './classes/HMSPublishSettings';\nexport * from './classes/HMSPermissions';\nexport * from './classes/HMSPeer';\nexport * from './classes/HMSLocalVideoTrack';\nexport * from './classes/HMSLocalPeer';\nexport * from './classes/HMSLocalAudioTrack';\nexport * from './classes/HMSHelper';\nexport * from './classes/HMSEncoder';\nexport * from './classes/HMSAudioTrackSettings';\nexport * from './classes/HMSAudioTrack';\nexport * from './classes/HMSAudioSettings';\nexport * from './classes/HMSAudioCodec';\nexport * from './classes/HMSPeerUpdate';\nexport * from './classes/HMSRoomUpdate';\nexport * from './classes/HMSTrackUpdate';\nexport * from './classes/HMSLogger';\nexport * from './classes/HMSLogLevel';\nexport * from './classes/HMSVideoViewMode';\nexport * from './classes/HMSChangeTrackStateRequest';\nexport * from './classes/HMSSpeaker';\nexport * from './classes/HMSCameraFacing';\nexport * from './classes/HMSException';\nexport * from './classes/HMSRtmpStreamingState';\nexport * from './classes/HMSServerRecordingState';\nexport * from './classes/HMSBrowserRecordingState';\nexport * from './classes/HMSRTMPConfig';\nexport * from './classes/HMSHLSConfig';\nexport * from './classes/HMSHLSMeetingURLVariant';\nexport * from './classes/HMSHLSVariant';\nexport * from './classes/HMSHLSStreamingState';\nexport * from './classes/HMSVideoResolution';\nexport * from './classes/HMSLocalAudioStats';\nexport * from './classes/HMSLocalVideoStats';\nexport * from './classes/HMSRTCStats';\nexport * from './classes/HMSRTCStatsReport';\nexport * from './classes/HMSRemoteAudioStats';\nexport * from './classes/HMSRemoteVideoStats';\nexport * from './classes/HMSHLSRecordingConfig';\nexport * from './classes/HMSHLSRecordingState';\nexport * from './classes/HMSMessageRecipient';\nexport * from './classes/HMSMessageRecipientType';\nexport * from './classes/HMSNetworkQuality';\nexport * from './classes/HMSRtmpVideoResolution';\nexport * from './classes/HMSAudioDevice';\nexport * from './classes/HMSAudioMode';\nexport * from './classes/HMSAudioMixingMode';\nexport * from './classes/HMSAudioNode';\nexport * from './classes/HMSMicNode';\nexport * from './classes/HMSScreenBroadcastAudioReceiverNode';\nexport * from './classes/HMSAudioFilePlayerNode';\nexport * from './classes/HMSAudioMixerSource';\nexport * from './classes/HMSTrackSettingsInitState';\nexport * from './classes/HMSLogSettings';\nexport * from './classes/HMSLogAlarmManager';\nexport * from './classes/HMSPIPListenerActions';\nexport * from './classes/HMSLayer';\nexport * from './classes/HMSSimulcastLayerDefinition';\nexport * from './classes/HMSQualityLimitationReasons';\nexport * from './classes/HMSQualityLimitationReason';\nexport * from './classes/HMSCameraControl';\nexport * from './classes/HMSIOSAudioMode';\nexport type {\n HMSSessionStore,\n HMSSessionStoreValue,\n} from './classes/HMSSessionStore';\nexport type {\n HmsViewComponent as HMSView,\n HmsComponentProps as HMSViewProps,\n} from './classes/HmsView';\n\nimport { HMSSDK as HmsManager } from './classes/HMSSDK';\n\n// 100ms React Native Native Module\nexport { default as HMSManagerModule } from './classes/HMSManagerModule';\n\n// 100ms Components\nexport * from './components/HMSHLSPlayer';\n\n// 100ms Hooks\nexport * from './hooks/useHMSPeerUpdates';\n\n// 100ms types\nexport * from './types';\nexport * from './stores/types';\n\nexport default HmsManager;\n"],"mappings":"AAAA,cAAc,qBAAqB;AACnC,cAAc,oCAAoC;AAClD,cAAc,sBAAsB;AACpC,cAAc,iCAAiC;AAC/C,cAAc,yBAAyB;AACvC,cAAc,4BAA4B;AAC1C,cAAc,yBAAyB;AACvC,cAAc,4BAA4B;AAC1C,cAAc,oBAAoB;AAClC,cAAc,wBAAwB;AACtC,cAAc,0BAA0B;AACxC,cAAc,gCAAgC;AAC9C,cAAc,gCAAgC;AAC9C,cAAc,qCAAqC;AACnD,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,gCAAgC;AAC9C,cAAc,mBAAmB;AACjC,cAAc,+BAA+B;AAC7C,cAAc,yBAAyB;AACvC,cAAc,+BAA+B;AAC7C,cAAc,8BAA8B;AAC5C,cAAc,0BAA0B;AACxC,cAAc,mBAAmB;AACjC,cAAc,8BAA8B;AAC5C,cAAc,wBAAwB;AACtC,cAAc,8BAA8B;AAC5C,cAAc,qBAAqB;AACnC,cAAc,sBAAsB;AACpC,cAAc,iCAAiC;AAC/C,cAAc,yBAAyB;AACvC,cAAc,4BAA4B;AAC1C,cAAc,yBAAyB;AACvC,cAAc,yBAAyB;AACvC,cAAc,yBAAyB;AACvC,cAAc,0BAA0B;AACxC,cAAc,qBAAqB;AACnC,cAAc,uBAAuB;AACrC,cAAc,4BAA4B;AAC1C,cAAc,sCAAsC;AACpD,cAAc,sBAAsB;AACpC,cAAc,2BAA2B;AACzC,cAAc,wBAAwB;AACtC,cAAc,iCAAiC;AAC/C,cAAc,mCAAmC;AACjD,cAAc,oCAAoC;AAClD,cAAc,yBAAyB;AACvC,cAAc,wBAAwB;AACtC,cAAc,mCAAmC;AACjD,cAAc,yBAAyB;AACvC,cAAc,gCAAgC;AAC9C,cAAc,8BAA8B;AAC5C,cAAc,8BAA8B;AAC5C,cAAc,8BAA8B;AAC5C,cAAc,uBAAuB;AACrC,cAAc,6BAA6B;AAC3C,cAAc,+BAA+B;AAC7C,cAAc,+BAA+B;AAC7C,cAAc,iCAAiC;AAC/C,cAAc,gCAAgC;AAC9C,cAAc,+BAA+B;AAC7C,cAAc,mCAAmC;AACjD,cAAc,6BAA6B;AAC3C,cAAc,kCAAkC;AAChD,cAAc,0BAA0B;AACxC,cAAc,wBAAwB;AACtC,cAAc,8BAA8B;AAC5C,cAAc,wBAAwB;AACtC,cAAc,sBAAsB;AACpC,cAAc,+CAA+C;AAC7D,cAAc,kCAAkC;AAChD,cAAc,+BAA+B;AAC7C,cAAc,qCAAqC;AACnD,cAAc,0BAA0B;AACxC,cAAc,8BAA8B;AAC5C,cAAc,iCAAiC;AAC/C,cAAc,oBAAoB;AAClC,cAAc,uCAAuC;AACrD,cAAc,uCAAuC;AACrD,cAAc,sCAAsC;AACpD,cAAc,4BAA4B;AAC1C,cAAc,2BAA2B;AAUzC,SAASA,MAAM,IAAIC,UAAU,QAAQ,kBAAkB;;AAEvD;AACA,SAASC,OAAO,IAAIC,gBAAgB,QAAQ,4BAA4B;;AAExE;AACA,cAAc,2BAA2B;;AAEzC;AACA,cAAc,2BAA2B;;AAEzC;AACA,cAAc,SAAS;AACvB,cAAc,gBAAgB;AAE9B,eAAeF,UAAU"}
@@ -15,6 +15,7 @@ export let HMSHLSPlayerPlaybackState = /*#__PURE__*/function (HMSHLSPlayerPlayba
15
15
  HMSHLSPlayerPlaybackState["PLAYING"] = "playing";
16
16
  HMSHLSPlayerPlaybackState["STOPPED"] = "stopped";
17
17
  HMSHLSPlayerPlaybackState["UNKNOWN"] = "unknown";
18
+ HMSHLSPlayerPlaybackState["onVideoSizeChanged"] = "onVideoSizeChanged";
18
19
  return HMSHLSPlayerPlaybackState;
19
20
  }({});
20
21
  // #endregion HMS HLSPlayer Playback Events
@@ -1 +1 @@
1
- {"version":3,"names":["HMSHLSPlayerPlaybackEventTypes","HMSHLSPlayerPlaybackState","HMSHLSPlayerStatsEventTypes"],"sources":["types.ts"],"sourcesContent":["// Base HMSHLSPlayer Event\ntype HMSHLSPlayerEvent<T extends string, U> = {\n event: T;\n data: U;\n};\n\n// #region HMSHLSPlayer Playback Events\n\nexport enum HMSHLSPlayerPlaybackEventTypes {\n ON_PLAYBACK_CUE_EVENT = 'ON_PLAYBACK_CUE_EVENT',\n ON_PLAYBACK_FAILURE_EVENT = 'ON_PLAYBACK_FAILURE_EVENT',\n ON_PLAYBACK_STATE_CHANGE_EVENT = 'ON_PLAYBACK_STATE_CHANGE_EVENT',\n}\n\nexport type HMSHLSPlayerPlaybackCueEventData = {\n id?: string;\n endDate?: string;\n payloadval?: string;\n startDate: string;\n};\n\nexport type HMSHLSPlayerPlaybackFailureEventData = {\n error: {\n errorCode: number;\n errorCodeName: string;\n message?: string;\n };\n};\n\nexport enum HMSHLSPlayerPlaybackState {\n BUFFERING = 'buffering',\n FAILED = 'failed',\n PAUSED = 'paused',\n PLAYING = 'playing',\n STOPPED = 'stopped',\n UNKNOWN = 'unknown',\n}\n\nexport type HMSHLSPlayerPlaybackStateChangeEventData = {\n state: HMSHLSPlayerPlaybackState;\n};\n\ntype HMSHLSPlayerPlaybackCueEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_CUE_EVENT,\n HMSHLSPlayerPlaybackCueEventData\n>;\n\ntype HMSHLSPlayerPlaybackFailureEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_FAILURE_EVENT,\n HMSHLSPlayerPlaybackFailureEventData\n>;\n\ntype HMSHLSPlayerPlaybackStateChangeEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_STATE_CHANGE_EVENT,\n HMSHLSPlayerPlaybackStateChangeEventData\n>;\n\nexport type HMSHLSPlayerPlaybackEvent =\n | HMSHLSPlayerPlaybackCueEvent\n | HMSHLSPlayerPlaybackFailureEvent\n | HMSHLSPlayerPlaybackStateChangeEvent;\n\n// #endregion HMS HLSPlayer Playback Events\n\n// #region HMS HLSPlayer Stats Events\n\nexport enum HMSHLSPlayerStatsEventTypes {\n ON_STATS_EVENT_ERROR = 'ON_STATS_EVENT_ERROR',\n ON_STATS_EVENT_UPDATE = 'ON_STATS_EVENT_UPDATE',\n}\n\nexport type HMSHLSPlayerStatsErrorEventData = {\n action: string;\n code: number;\n description: string;\n isTerminal: boolean;\n message: string;\n name: string;\n};\n\nexport type HMSHLSPlayerStatsUpdateEventData = {\n // bandwidth\n bandWidthEstimate: number;\n totalBytesLoaded: number;\n\n // bufferedDuration\n bufferedDuration: number;\n\n // distanceFromLive\n distanceFromLive: number;\n\n // frameInfo\n droppedFrameCount: number;\n\n // videoInfo\n averageBitrate: number;\n\n videoHeight: number;\n videoWidth: number;\n};\n\ntype HMSHLSPlayerStatsErrorEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerStatsEventTypes.ON_STATS_EVENT_ERROR,\n HMSHLSPlayerStatsErrorEventData\n>;\n\ntype HMSHLSPlayerStatsUpdateEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerStatsEventTypes.ON_STATS_EVENT_UPDATE,\n HMSHLSPlayerStatsUpdateEventData\n>;\n\nexport type HMSHLSPlayerStatsEvent =\n | HMSHLSPlayerStatsErrorEvent\n | HMSHLSPlayerStatsUpdateEvent;\n\n// #endregion HMS HLSPlayer Stats Events\n\n// #region Utility types\n// #endregion Utility types\n"],"mappings":"AAAA;;AAMA;;AAEA,WAAYA,8BAA8B,0BAA9BA,8BAA8B;EAA9BA,8BAA8B;EAA9BA,8BAA8B;EAA9BA,8BAA8B;EAAA,OAA9BA,8BAA8B;AAAA;AAqB1C,WAAYC,yBAAyB,0BAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA;AAiCrC;AAEA;AAEA,WAAYC,2BAA2B,0BAA3BA,2BAA2B;EAA3BA,2BAA2B;EAA3BA,2BAA2B;EAAA,OAA3BA,2BAA2B;AAAA;;AAiDvC;;AAEA;AACA"}
1
+ {"version":3,"names":["HMSHLSPlayerPlaybackEventTypes","HMSHLSPlayerPlaybackState","HMSHLSPlayerStatsEventTypes"],"sources":["types.ts"],"sourcesContent":["// Base HMSHLSPlayer Event\ntype HMSHLSPlayerEvent<T extends string, U> = {\n event: T;\n data: U;\n};\n\n// #region HMSHLSPlayer Playback Events\n\nexport enum HMSHLSPlayerPlaybackEventTypes {\n ON_PLAYBACK_CUE_EVENT = 'ON_PLAYBACK_CUE_EVENT',\n ON_PLAYBACK_FAILURE_EVENT = 'ON_PLAYBACK_FAILURE_EVENT',\n ON_PLAYBACK_STATE_CHANGE_EVENT = 'ON_PLAYBACK_STATE_CHANGE_EVENT',\n}\n\nexport type HMSHLSPlayerPlaybackCueEventData = {\n id?: string;\n endDate?: string;\n payloadval?: string;\n startDate: string;\n};\n\nexport type HMSHLSPlayerPlaybackFailureEventData = {\n error: {\n errorCode: number;\n errorCodeName: string;\n message?: string;\n };\n};\n\nexport enum HMSHLSPlayerPlaybackState {\n BUFFERING = 'buffering',\n FAILED = 'failed',\n PAUSED = 'paused',\n PLAYING = 'playing',\n STOPPED = 'stopped',\n UNKNOWN = 'unknown',\n onVideoSizeChanged = 'onVideoSizeChanged',\n}\n\nexport type HMSHLSPlayerPlaybackStateChangeEventData = {\n state: HMSHLSPlayerPlaybackState;\n aspectRatio: number | undefined;\n};\n\ntype HMSHLSPlayerPlaybackCueEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_CUE_EVENT,\n HMSHLSPlayerPlaybackCueEventData\n>;\n\ntype HMSHLSPlayerPlaybackFailureEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_FAILURE_EVENT,\n HMSHLSPlayerPlaybackFailureEventData\n>;\n\ntype HMSHLSPlayerPlaybackStateChangeEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_STATE_CHANGE_EVENT,\n HMSHLSPlayerPlaybackStateChangeEventData\n>;\n\nexport type HMSHLSPlayerPlaybackEvent =\n | HMSHLSPlayerPlaybackCueEvent\n | HMSHLSPlayerPlaybackFailureEvent\n | HMSHLSPlayerPlaybackStateChangeEvent;\n\n// #endregion HMS HLSPlayer Playback Events\n\n// #region HMS HLSPlayer Stats Events\n\nexport enum HMSHLSPlayerStatsEventTypes {\n ON_STATS_EVENT_ERROR = 'ON_STATS_EVENT_ERROR',\n ON_STATS_EVENT_UPDATE = 'ON_STATS_EVENT_UPDATE',\n}\n\nexport type HMSHLSPlayerStatsErrorEventData = {\n action: string;\n code: number;\n description: string;\n isTerminal: boolean;\n message: string;\n name: string;\n};\n\nexport type HMSHLSPlayerStatsUpdateEventData = {\n // bandwidth\n bandWidthEstimate: number;\n totalBytesLoaded: number;\n\n // bufferedDuration\n bufferedDuration: number;\n\n // distanceFromLive\n distanceFromLive: number;\n\n // frameInfo\n droppedFrameCount: number;\n\n // videoInfo\n averageBitrate: number;\n\n videoHeight: number;\n videoWidth: number;\n};\n\ntype HMSHLSPlayerStatsErrorEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerStatsEventTypes.ON_STATS_EVENT_ERROR,\n HMSHLSPlayerStatsErrorEventData\n>;\n\ntype HMSHLSPlayerStatsUpdateEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerStatsEventTypes.ON_STATS_EVENT_UPDATE,\n HMSHLSPlayerStatsUpdateEventData\n>;\n\nexport type HMSHLSPlayerStatsEvent =\n | HMSHLSPlayerStatsErrorEvent\n | HMSHLSPlayerStatsUpdateEvent;\n\n// #endregion HMS HLSPlayer Stats Events\n\n// #region Utility types\n// #endregion Utility types\n"],"mappings":"AAAA;;AAMA;;AAEA,WAAYA,8BAA8B,0BAA9BA,8BAA8B;EAA9BA,8BAA8B;EAA9BA,8BAA8B;EAA9BA,8BAA8B;EAAA,OAA9BA,8BAA8B;AAAA;AAqB1C,WAAYC,yBAAyB,0BAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA;AAmCrC;AAEA;AAEA,WAAYC,2BAA2B,0BAA3BA,2BAA2B;EAA3BA,2BAA2B;EAA3BA,2BAA2B;EAAA,OAA3BA,2BAA2B;AAAA;;AAiDvC;;AAEA;AACA"}
@@ -56,6 +56,7 @@ export declare class HMSEncoder {
56
56
  static encodeHmsRemoteAudioTrack(track: any, id: string): HMSRemoteAudioTrack;
57
57
  static encodeHmsRemoteVideoTrack(track: any, id: string): HMSRemoteVideoTrack;
58
58
  static encodeHmsPreviewTracks(previewTracks: any[], id: string): HMSTrack[];
59
+ static encodeHmsPreviewForRoleTracks(previewTracks: any[], id: string): (HMSLocalAudioTrack | HMSLocalVideoTrack)[];
59
60
  static encodeHmsRoles(roles: any[]): HMSRole[];
60
61
  static encodeHmsRole(role: any): HMSRole;
61
62
  static encodeHmsRoleChangeRequest(data: any): HMSRoleChangeRequest;
@@ -1,3 +1,4 @@
1
1
  export declare enum HMSPIPListenerActions {
2
+ ON_PIP_MODE_CHANGED = "ON_PIP_MODE_CHANGED",
2
3
  ON_PIP_ROOM_LEAVE = "ON_PIP_ROOM_LEAVE"
3
4
  }
@@ -10,7 +10,9 @@ export declare class HMSPeer {
10
10
  private _customerUserID;
11
11
  private _metadata;
12
12
  private _role;
13
+ private _isHandRaised;
13
14
  private _updateIsLocal;
15
+ private _updateIsHandRaised;
14
16
  private _updateCustomerUserID;
15
17
  private _updateMetadata;
16
18
  private _updateRole;
@@ -19,6 +21,7 @@ export declare class HMSPeer {
19
21
  name: string;
20
22
  });
21
23
  get isLocal(): boolean | undefined;
24
+ get isHandRaised(): boolean;
22
25
  get networkQuality(): HMSNetworkQuality | undefined;
23
26
  get customerUserID(): string | undefined;
24
27
  get metadata(): string | undefined;
@@ -0,0 +1,9 @@
1
+ import type { HMSPeer } from './HMSPeer';
2
+ export declare class HMSPeerListIterator {
3
+ private readonly uniqueId;
4
+ private _totalCount;
5
+ get totalCount(): number;
6
+ constructor(uniqueId: string, totalCount: number);
7
+ hasNext(): Promise<boolean>;
8
+ next(): Promise<HMSPeer[]>;
9
+ }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * options for creating `HMSPeerListIterator` instance
3
+ *
4
+ * ```
5
+ * const peerListIterator = hmsInstance.getPeerListIterator({
6
+ * limit: 10,
7
+ * byRoleName: 'viewer-realtime',
8
+ * });
9
+ * ```
10
+ */
11
+ export interface HMSPeerListIteratorOptions {
12
+ /**
13
+ * filter by role of the peers
14
+ */
15
+ byRoleName?: string;
16
+ /**
17
+ * `peerID`s of the peers you want to fetch with iterator.
18
+ */
19
+ byPeerIds?: string[];
20
+ /**
21
+ * number of peers fetched by the iterator in `next` method call. Default value is `10`
22
+ */
23
+ limit?: number;
24
+ }
@@ -4,6 +4,7 @@ export declare enum HMSPeerUpdate {
4
4
  METADATA_CHANGED = "METADATA_CHANGED",
5
5
  ROLE_CHANGED = "ROLE_CHANGED",
6
6
  NAME_CHANGED = "NAME_CHANGED",
7
- NETWORK_QUALITY_UPDATED = "NETWORK_QUALITY_UPDATED"
7
+ NETWORK_QUALITY_UPDATED = "NETWORK_QUALITY_UPDATED",
8
+ HAND_RAISED_CHANGED = "HAND_RAISED_CHANGED"
8
9
  }
9
10
  export declare const HMSPeerUpdateOrdinals: Map<string, HMSPeerUpdate>;
@@ -20,6 +20,7 @@ export type HMSPeerCacheProps = {
20
20
  audioTrack?: HMSAudioTrack | undefined;
21
21
  videoTrack?: HMSVideoTrack | undefined;
22
22
  auxiliaryTracks?: HMSTrack[] | undefined;
23
+ isHandRaised?: boolean | undefined;
23
24
  };
24
25
  export declare class HMSPeersCache {
25
26
  private _data;
@@ -18,8 +18,11 @@ import type { HMSAudioMode } from './HMSAudioMode';
18
18
  import type { HMSAudioMixingMode } from './HMSAudioMixingMode';
19
19
  import type { HMSLogSettings } from './HMSLogSettings';
20
20
  import { HMSPIPListenerActions } from './HMSPIPListenerActions';
21
+ import type { HMSPeerListIteratorOptions } from './HMSPeerListIteratorOptions';
22
+ import { HMSPeerListIterator } from './HMSPeerListIterator';
21
23
  type HmsViewProps = Omit<HmsComponentProps, 'id'>;
22
24
  interface PIPConfig {
25
+ autoEnterPipMode?: boolean;
23
26
  aspectRatio?: [number, number];
24
27
  endButton?: boolean;
25
28
  audioButton?: boolean;
@@ -33,6 +36,7 @@ export declare class HMSSDK {
33
36
  private onJoinDelegate?;
34
37
  private onRoomDelegate?;
35
38
  private onPeerDelegate?;
39
+ private onPeerListUpdatedDelegate?;
36
40
  private onTrackDelegate?;
37
41
  private onErrorDelegate?;
38
42
  private onMessageDelegate?;
@@ -50,6 +54,7 @@ export declare class HMSSDK {
50
54
  private onAudioDeviceChangedDelegate?;
51
55
  private onSessionStoreAvailableDelegate?;
52
56
  private onPIPRoomLeaveDelegate?;
57
+ private onPIPModeChangedDelegate?;
53
58
  private emitterSubscriptions;
54
59
  private constructor();
55
60
  /**
@@ -110,18 +115,6 @@ export declare class HMSSDK {
110
115
  * @memberof HMSSDK
111
116
  */
112
117
  preview: (config: HMSConfig) => void;
113
- /**
114
- * - previewForRole can be used when there is role change request for current localPeer and we want
115
- * to show the localPeer how the tracks look before publishing them to room.
116
- *
117
- * - It requires a role of type [HMSRole]{@link HMSRole} for which we want to preview the tracks.
118
- *
119
- * checkout {@link https://www.100ms.live/docs/react-native} for more info
120
- *
121
- * @param {HMSRole}
122
- * @memberof HMSSDK
123
- */
124
- previewForRole: (role: HMSRole) => Promise<any>;
125
118
  /**
126
119
  * - HmsView is react component that takes trackId and starts showing that track on a tile.
127
120
  * - The appearance of tile is completely customizable with style prop.
@@ -321,6 +314,29 @@ export declare class HMSSDK {
321
314
  * @memberof HMSSDK
322
315
  */
323
316
  changeName: (name: string) => Promise<any>;
317
+ /**
318
+ * -Preview for a specific Role before changing it.
319
+ *
320
+ * By previewing before doing a Role Change, users can see their expected Audio & Video tracks which will be visible to other Peers in Room post changing the Role.
321
+ *
322
+ * checkout {@link https://www.100ms.live/docs/react-native/v2/how-to-guides/interact-with-room/peer/change-role} for more info
323
+ *
324
+ * @param {role: string}
325
+ * @memberof HMSSDK
326
+ */
327
+ previewForRole: (role: string) => Promise<(import("./HMSLocalAudioTrack").HMSLocalAudioTrack | import("./HMSLocalVideoTrack").HMSLocalVideoTrack)[]>;
328
+ /**
329
+ * Cancel the Previewing for Role invocation.
330
+ *
331
+ * If a [previewForRole] call was performed previously then calling this method clears the tracks created anticipating a Change of Role
332
+ *
333
+ * checkout {@link https://www.100ms.live/docs/react-native/v2/how-to-guides/interact-with-room/peer/change-role} for more info
334
+ *
335
+ * @memberof HMSSDK
336
+ */
337
+ cancelPreview: () => Promise<{
338
+ data: string;
339
+ }>;
324
340
  /**
325
341
  * - Calling this function will accept the most recent roleChange request made by anyone in the room
326
342
  *
@@ -514,6 +530,40 @@ export declare class HMSSDK {
514
530
  getRemoteVideoTrackFromTrackId: (trackId: string) => Promise<import("./HMSRemoteVideoTrack").HMSRemoteVideoTrack>;
515
531
  getRemoteAudioTrackFromTrackId: (trackId: string) => Promise<import("./HMSRemoteAudioTrack").HMSRemoteAudioTrack>;
516
532
  getPeerFromPeerId: (peerId: string) => HMSPeer | undefined;
533
+ /**
534
+ * - This function is used to raise hand for the local peer
535
+ * @memberof HMSSDK
536
+ */
537
+ raiseLocalPeerHand: () => Promise<any>;
538
+ /**
539
+ * - This function is used to lower hand for the local peer
540
+ * @memberof HMSSDK
541
+ */
542
+ lowerLocalPeerHand: () => Promise<any>;
543
+ /**
544
+ * - This function is used to lower hand for the remote peer
545
+ * @param peer
546
+ */
547
+ lowerRemotePeerHand: (peer: HMSPeer) => Promise<any>;
548
+ /**
549
+ * `getPeerListIterator` method returns an instance of `HMSPeerListIterator` class
550
+ *
551
+ * @param options options for configuring iterator
552
+ * @returns instance of HMSPeerListIterator class
553
+ *
554
+ * Example usage:
555
+ * ```
556
+ * const peerListIterator = hmsInstance.getPeerListIterator();
557
+ * ```
558
+ * OR
559
+ * ```
560
+ * const peerListIterator = hmsInstance.getPeerListIterator({
561
+ * limit: 10,
562
+ * byRoleName: 'viewer-realtime',
563
+ * });
564
+ * ```
565
+ */
566
+ getPeerListIterator: (options?: HMSPeerListIteratorOptions) => HMSPeerListIterator;
517
567
  /**
518
568
  * - This is a prototype event listener that takes action and listens for updates related to that particular action
519
569
  *
@@ -554,6 +604,9 @@ export declare class HMSSDK {
554
604
  onJoinListener: (data: any) => void;
555
605
  onRoomListener: (data: any) => void;
556
606
  onPeerListener: (peerData: any) => void;
607
+ private sendPeerUpdate;
608
+ private sendPeerUpdateWhenPeerLeaves;
609
+ onPeerListUpdatedListener: (data: any) => void;
557
610
  onTrackListener: (data: any) => void;
558
611
  onMessageListener: (data: any) => void;
559
612
  onSpeakerListener: (data: any) => void;
@@ -579,8 +632,11 @@ export declare class HMSSDK {
579
632
  onPIPRoomLeaveListener: (data: {
580
633
  id: string;
581
634
  }) => void;
635
+ onPIPModeChangedListener: (data: {
636
+ isInPictureInPictureMode: boolean;
637
+ }) => void;
582
638
  isPipModeSupported(): Promise<undefined | boolean>;
583
- enablePipMode(data?: PIPConfig): Promise<undefined | boolean>;
639
+ enterPipMode(data?: PIPConfig): Promise<undefined | boolean>;
584
640
  setPipParams(data?: PIPConfig): Promise<undefined | boolean>;
585
641
  /**
586
642
  * - Returns the instance of logger which can be used to manipulate log levels.
@@ -25,5 +25,6 @@ export declare enum HMSUpdateListenerActions {
25
25
  ON_REMOTE_VIDEO_STATS = "ON_REMOTE_VIDEO_STATS",
26
26
  ON_AUDIO_DEVICE_CHANGED = "ON_AUDIO_DEVICE_CHANGED",
27
27
  ON_SESSION_STORE_AVAILABLE = "ON_SESSION_STORE_AVAILABLE",
28
- ON_SESSION_STORE_CHANGED = "ON_SESSION_STORE_CHANGED"
28
+ ON_SESSION_STORE_CHANGED = "ON_SESSION_STORE_CHANGED",
29
+ ON_PEER_LIST_UPDATED = "ON_PEER_LIST_UPDATED"
29
30
  }
@@ -81,7 +81,7 @@ export * from './classes/HMSQualityLimitationReason';
81
81
  export * from './classes/HMSCameraControl';
82
82
  export * from './classes/HMSIOSAudioMode';
83
83
  export type { HMSSessionStore, HMSSessionStoreValue, } from './classes/HMSSessionStore';
84
- export type { HmsViewComponent as HMSView } from './classes/HmsView';
84
+ export type { HmsViewComponent as HMSView, HmsComponentProps as HMSViewProps, } from './classes/HmsView';
85
85
  import { HMSSDK as HmsManager } from './classes/HMSSDK';
86
86
  export { default as HMSManagerModule } from './classes/HMSManagerModule';
87
87
  export * from './components/HMSHLSPlayer';
@@ -26,10 +26,12 @@ export declare enum HMSHLSPlayerPlaybackState {
26
26
  PAUSED = "paused",
27
27
  PLAYING = "playing",
28
28
  STOPPED = "stopped",
29
- UNKNOWN = "unknown"
29
+ UNKNOWN = "unknown",
30
+ onVideoSizeChanged = "onVideoSizeChanged"
30
31
  }
31
32
  export type HMSHLSPlayerPlaybackStateChangeEventData = {
32
33
  state: HMSHLSPlayerPlaybackState;
34
+ aspectRatio: number | undefined;
33
35
  };
34
36
  type HMSHLSPlayerPlaybackCueEvent = HMSHLSPlayerEvent<HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_CUE_EVENT, HMSHLSPlayerPlaybackCueEventData>;
35
37
  type HMSHLSPlayerPlaybackFailureEvent = HMSHLSPlayerEvent<HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_FAILURE_EVENT, HMSHLSPlayerPlaybackFailureEventData>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@100mslive/react-native-hms",
3
- "version": "1.7.2",
3
+ "version": "1.9.0",
4
4
  "description": "Integrate Real Time Audio and Video conferencing, Interactive Live Streaming, and Chat in your apps with 100ms React Native SDK. With support for HLS and RTMP Live Streaming and Recording, Picture-in-Picture (PiP), one-to-one Video Call Modes, Audio Rooms, Video Player and much more, add immersive real-time communications to your apps.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
package/sdk-versions.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "ios": "0.9.10",
2
+ "ios": "1.1.0",
3
3
  "iOSBroadcastExtension": "0.0.9",
4
4
  "iOSHMSHLSPlayer": "0.0.2",
5
- "android": "2.7.3"
5
+ "android": "2.7.7"
6
6
  }
@@ -39,6 +39,7 @@ import { HMSRemoteVideoStats } from './HMSRemoteVideoStats';
39
39
  import { HMSLayer } from './HMSLayer';
40
40
  import { HMSSimulcastLayerDefinition } from './HMSSimulcastLayerDefinition';
41
41
  import { HMSQualityLimitationReasons } from './HMSQualityLimitationReasons';
42
+ import { HMSTrackType } from './HMSTrackType';
42
43
 
43
44
  interface InitialData {
44
45
  roles: Record<string, HMSRole>;
@@ -326,6 +327,14 @@ export class HMSEncoder {
326
327
  });
327
328
  }
328
329
 
330
+ static encodeHmsPreviewForRoleTracks(previewTracks: any[], id: string) {
331
+ return previewTracks?.map((track) => {
332
+ return track.type === HMSTrackType.VIDEO
333
+ ? this.encodeHmsLocalVideoTrack(track, id)
334
+ : this.encodeHmsLocalAudioTrack(track, id);
335
+ });
336
+ }
337
+
329
338
  static encodeHmsRoles(roles: any[]) {
330
339
  const encodedRoles: HMSRole[] = [];
331
340
 
@@ -1,3 +1,4 @@
1
1
  export enum HMSPIPListenerActions {
2
+ ON_PIP_MODE_CHANGED = 'ON_PIP_MODE_CHANGED',
2
3
  ON_PIP_ROOM_LEAVE = 'ON_PIP_ROOM_LEAVE',
3
4
  }
@@ -13,6 +13,7 @@ export class HMSPeer {
13
13
  private _customerUserID: string | undefined;
14
14
  private _metadata: string | undefined;
15
15
  private _role: HMSRole | undefined;
16
+ private _isHandRaised: boolean = false;
16
17
 
17
18
  private _updateIsLocal(value: boolean) {
18
19
  // If `_isLocal` is outdated, update it
@@ -21,6 +22,13 @@ export class HMSPeer {
21
22
  }
22
23
  }
23
24
 
25
+ private _updateIsHandRaised(value: boolean) {
26
+ // If `_isHandRaised` is outdated, update it
27
+ if (this._isHandRaised !== value) {
28
+ this._isHandRaised = value;
29
+ }
30
+ }
31
+
24
32
  private _updateCustomerUserID(value: string) {
25
33
  // If `_customerUserID` is outdated, update it
26
34
  if (this._customerUserID !== value) {
@@ -64,6 +72,23 @@ export class HMSPeer {
64
72
  return value ?? this._isLocal;
65
73
  }
66
74
 
75
+ get isHandRaised(): boolean {
76
+ const hmsPeersCache = getHmsPeersCache();
77
+
78
+ const value = hmsPeersCache
79
+ ? hmsPeersCache.getProperty(this.peerID, 'isHandRaised')
80
+ : getPeerPropertyFromNative(
81
+ HMSConstants.DEFAULT_SDK_ID,
82
+ this.peerID,
83
+ 'isHandRaised'
84
+ );
85
+
86
+ if (typeof value === 'boolean') {
87
+ this._updateIsHandRaised(value);
88
+ }
89
+ return value ?? this._isHandRaised;
90
+ }
91
+
67
92
  get networkQuality(): HMSNetworkQuality | undefined {
68
93
  const hmsPeersCache = getHmsPeersCache();
69
94
 
@@ -0,0 +1,60 @@
1
+ // import type { HMSException } from "./HMSException";
2
+ import type { HMSPeer } from './HMSPeer';
3
+ import HMSManagerModule from './HMSManagerModule';
4
+ import { HMSEncoder, logger } from '@100mslive/react-native-hms';
5
+ import { HMSConstants } from './HMSConstants';
6
+ import { getHmsPeersCache } from './HMSPeersCache';
7
+
8
+ export class HMSPeerListIterator {
9
+ private readonly uniqueId: string;
10
+ private _totalCount: number = 0;
11
+
12
+ get totalCount() {
13
+ return this._totalCount;
14
+ }
15
+
16
+ constructor(uniqueId: string, totalCount: number) {
17
+ this.uniqueId = uniqueId;
18
+ this._totalCount = totalCount;
19
+ }
20
+
21
+ async hasNext(): Promise<boolean> {
22
+ logger?.verbose('#Function HMSPeerListIterator#hasNext', this.uniqueId);
23
+ try {
24
+ return HMSManagerModule.peerListIteratorHasNext({
25
+ id: HMSConstants.DEFAULT_SDK_ID,
26
+ uniqueId: this.uniqueId,
27
+ });
28
+ } catch (e) {
29
+ logger?.error('#Error in #Function HMSPeerListIterator#hasNext ', e);
30
+ return Promise.reject(e);
31
+ }
32
+ }
33
+
34
+ async next(): Promise<HMSPeer[]> {
35
+ logger?.verbose('#Function HMSPeerListIterator#next', this.uniqueId);
36
+ try {
37
+ const { totalCount, peers } = await HMSManagerModule.peerListIteratorNext({
38
+ id: HMSConstants.DEFAULT_SDK_ID,
39
+ uniqueId: this.uniqueId,
40
+ });
41
+
42
+ this._totalCount = totalCount;
43
+
44
+ if (Array.isArray(peers) && peers.length > 0) {
45
+ const hmsPeersCache = getHmsPeersCache();
46
+
47
+ if (hmsPeersCache) {
48
+ peers.forEach(peer => {
49
+ hmsPeersCache.updatePeerCache(peer.peerID, peer);
50
+ });
51
+ }
52
+ }
53
+
54
+ return HMSEncoder.encodeHmsPeers(peers);
55
+ } catch (e) {
56
+ logger?.error('#Error in #Function HMSPeerListIterator#next ', e);
57
+ return Promise.reject(e);
58
+ }
59
+ }
60
+ }