@100mslive/react-native-hms 1.10.6 → 1.10.7

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 (274) hide show
  1. package/android/build.gradle +0 -5
  2. package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +90 -0
  3. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayer.kt +14 -3
  4. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayerManager.kt +4 -6
  5. package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +2 -3
  6. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +26 -9
  7. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +64 -3
  8. package/android/src/main/java/com/reactnativehmssdk/HMSSDKViewManager.kt +9 -17
  9. package/android/src/main/java/com/reactnativehmssdk/HMSView.kt +7 -3
  10. package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +3 -6
  11. package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSInteractivityDecoder.kt +13 -16
  12. package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSInteractivityHelper.kt +14 -13
  13. package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSRNInteractivityCenter.kt +19 -4
  14. package/android/src/main/java/com/reactnativehmssdk/PipActionReceiver.kt +10 -2
  15. package/ios/HMSConstants.swift +1 -0
  16. package/ios/HMSDecoder.swift +75 -0
  17. package/ios/HMSManager.m +6 -0
  18. package/ios/HMSManager.swift +11 -1
  19. package/ios/HMSRNSDK.swift +65 -0
  20. package/ios/Hmssdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  21. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  22. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/yogesh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  23. package/ios/Hmssdk.xcodeproj/xcuserdata/yogesh.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  24. package/lib/commonjs/classes/HMSAudioMixerSource.js +1 -1
  25. package/lib/commonjs/classes/HMSAudioNode.js +1 -1
  26. package/lib/commonjs/classes/HMSAudioNode.js.map +1 -1
  27. package/lib/commonjs/classes/HMSAudioSettings.js +1 -1
  28. package/lib/commonjs/classes/HMSAudioTrackSettings.js +1 -1
  29. package/lib/commonjs/classes/HMSBrowserRecordingState.js +1 -1
  30. package/lib/commonjs/classes/HMSCameraControl.js +1 -1
  31. package/lib/commonjs/classes/HMSCameraControl.js.map +1 -1
  32. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js +1 -1
  33. package/lib/commonjs/classes/HMSConfig.js +1 -1
  34. package/lib/commonjs/classes/HMSEncoder.js +32 -2
  35. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  36. package/lib/commonjs/classes/HMSException.js +1 -1
  37. package/lib/commonjs/classes/HMSHLSConfig.js +1 -1
  38. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js +1 -1
  39. package/lib/commonjs/classes/HMSHLSRecordingConfig.js +1 -1
  40. package/lib/commonjs/classes/HMSHLSRecordingState.js +1 -1
  41. package/lib/commonjs/classes/HMSHLSStreamingState.js +1 -1
  42. package/lib/commonjs/classes/HMSHLSVariant.js +1 -1
  43. package/lib/commonjs/classes/HMSInteractivityCenter.js +2 -2
  44. package/lib/commonjs/classes/HMSInteractivityCenter.js.map +1 -1
  45. package/lib/commonjs/classes/HMSLocalAudioStats.js +1 -1
  46. package/lib/commonjs/classes/HMSLocalAudioTrack.js +1 -1
  47. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  48. package/lib/commonjs/classes/HMSLocalPeer.js +1 -1
  49. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  50. package/lib/commonjs/classes/HMSLocalVideoStats.js +1 -1
  51. package/lib/commonjs/classes/HMSLocalVideoTrack.js +1 -1
  52. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  53. package/lib/commonjs/classes/HMSLogSettings.js +1 -1
  54. package/lib/commonjs/classes/HMSLogger.js +1 -1
  55. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  56. package/lib/commonjs/classes/HMSMessage.js +1 -1
  57. package/lib/commonjs/classes/HMSMessageRecipient.js +1 -1
  58. package/lib/commonjs/classes/HMSNativeEventEmitter.js +1 -1
  59. package/lib/commonjs/classes/HMSNativeEventEmitter.js.map +1 -1
  60. package/lib/commonjs/classes/HMSNativeEventListener.js +1 -1
  61. package/lib/commonjs/classes/HMSNativeEventListener.js.map +1 -1
  62. package/lib/commonjs/classes/HMSNetworkQuality.js +1 -1
  63. package/lib/commonjs/classes/HMSNoiseCancellationPlugin.js +2 -2
  64. package/lib/commonjs/classes/HMSNoiseCancellationPlugin.js.map +1 -1
  65. package/lib/commonjs/classes/HMSPeer.js +20 -3
  66. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  67. package/lib/commonjs/classes/HMSPeerListIterator.js +2 -2
  68. package/lib/commonjs/classes/HMSPeerListIterator.js.map +1 -1
  69. package/lib/commonjs/classes/HMSPeersCache.js +2 -2
  70. package/lib/commonjs/classes/HMSPeersCache.js.map +1 -1
  71. package/lib/commonjs/classes/HMSPermissions.js +3 -1
  72. package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
  73. package/lib/commonjs/classes/HMSPublishSettings.js +1 -1
  74. package/lib/commonjs/classes/HMSQualityLimitationReasons.js +1 -1
  75. package/lib/commonjs/classes/HMSRTCStats.js +1 -1
  76. package/lib/commonjs/classes/HMSRTCStatsReport.js +1 -1
  77. package/lib/commonjs/classes/HMSRTMPConfig.js +1 -1
  78. package/lib/commonjs/classes/HMSRemoteAudioStats.js +1 -1
  79. package/lib/commonjs/classes/HMSRemoteAudioTrack.js +1 -1
  80. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  81. package/lib/commonjs/classes/HMSRemotePeer.js +1 -1
  82. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  83. package/lib/commonjs/classes/HMSRemoteVideoStats.js +1 -1
  84. package/lib/commonjs/classes/HMSRemoteVideoTrack.js +1 -1
  85. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  86. package/lib/commonjs/classes/HMSRole.js +1 -1
  87. package/lib/commonjs/classes/HMSRoleChangeRequest.js +1 -1
  88. package/lib/commonjs/classes/HMSRoom.js +8 -1
  89. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  90. package/lib/commonjs/classes/HMSRoomCache.js +9 -2
  91. package/lib/commonjs/classes/HMSRoomCache.js.map +1 -1
  92. package/lib/commonjs/classes/HMSRoomUpdate.js +1 -0
  93. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  94. package/lib/commonjs/classes/HMSRtmpStreamingState.js +1 -1
  95. package/lib/commonjs/classes/HMSRtmpVideoResolution.js +1 -1
  96. package/lib/commonjs/classes/HMSSDK.js +53 -2
  97. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  98. package/lib/commonjs/classes/HMSServerRecordingState.js +1 -1
  99. package/lib/commonjs/classes/HMSSessionStore.js +2 -2
  100. package/lib/commonjs/classes/HMSSessionStore.js.map +1 -1
  101. package/lib/commonjs/classes/HMSSimulcastLayerDefinition.js +1 -1
  102. package/lib/commonjs/classes/HMSSimulcastLayerSettings.js +1 -1
  103. package/lib/commonjs/classes/HMSSimulcastLayerSettingsPolicy.js +1 -1
  104. package/lib/commonjs/classes/HMSSimulcastSettings.js +1 -1
  105. package/lib/commonjs/classes/HMSSimulcastSettingsPolicy.js +1 -1
  106. package/lib/commonjs/classes/HMSSpeaker.js +1 -1
  107. package/lib/commonjs/classes/HMSSubscribeDegradationPolicy.js +1 -1
  108. package/lib/commonjs/classes/HMSSubscribeSettings.js +1 -1
  109. package/lib/commonjs/classes/HMSTrack.js +1 -1
  110. package/lib/commonjs/classes/HMSTrackSettings.js +1 -1
  111. package/lib/commonjs/classes/HMSUpdateListenerActions.js +1 -0
  112. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  113. package/lib/commonjs/classes/HMSVideoResolution.js +1 -1
  114. package/lib/commonjs/classes/HMSVideoSettings.js +1 -1
  115. package/lib/commonjs/classes/HMSVideoTrack.js +1 -1
  116. package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
  117. package/lib/commonjs/classes/HMSVideoTrackSettings.js +1 -1
  118. package/lib/commonjs/classes/transcriptions/HMSTranscript.js +6 -0
  119. package/lib/commonjs/classes/transcriptions/HMSTranscript.js.map +1 -0
  120. package/lib/commonjs/classes/transcriptions/OnTranscriptionError.js +2 -0
  121. package/lib/commonjs/classes/transcriptions/OnTranscriptionError.js.map +1 -0
  122. package/lib/commonjs/classes/transcriptions/TranscriptionState.js +14 -0
  123. package/lib/commonjs/classes/transcriptions/TranscriptionState.js.map +1 -0
  124. package/lib/commonjs/classes/transcriptions/Transcriptions.js +6 -0
  125. package/lib/commonjs/classes/transcriptions/Transcriptions.js.map +1 -0
  126. package/lib/commonjs/classes/transcriptions/TranscriptionsMode.js +12 -0
  127. package/lib/commonjs/classes/transcriptions/TranscriptionsMode.js.map +1 -0
  128. package/lib/commonjs/classes/transcriptions/index.js +61 -0
  129. package/lib/commonjs/classes/transcriptions/index.js.map +1 -0
  130. package/lib/commonjs/classes/whiteboard/registerCallbacks.js +1 -1
  131. package/lib/commonjs/classes/whiteboard/registerCallbacks.js.map +1 -1
  132. package/lib/commonjs/hooks/useHMSPeerUpdates.js +1 -1
  133. package/lib/commonjs/hooks/useHMSPeerUpdates.js.map +1 -1
  134. package/lib/commonjs/index.js +13 -1
  135. package/lib/commonjs/index.js.map +1 -1
  136. package/lib/commonjs/modules/HMSManagerModule.js.map +1 -1
  137. package/lib/commonjs/utils/emitter/EventEmitter.js +1 -1
  138. package/lib/commonjs/utils/emitter/EventEmitter.js.map +1 -1
  139. package/lib/commonjs/utils/emitter/_EmitterSubscription.js +1 -1
  140. package/lib/commonjs/utils/emitter/_EmitterSubscription.js.map +1 -1
  141. package/lib/commonjs/utils/emitter/_EventSubscription.js +1 -1
  142. package/lib/commonjs/utils/emitter/_EventSubscriptionVendor.js +1 -1
  143. package/lib/commonjs/utils/keyboard.js +1 -1
  144. package/lib/commonjs/utils/keyboard.js.map +1 -1
  145. package/lib/commonjs/utils/notification.js +1 -1
  146. package/lib/commonjs/utils/notification.js.map +1 -1
  147. package/lib/commonjs/utils/windowController.js +1 -1
  148. package/lib/commonjs/utils/windowController.js.map +1 -1
  149. package/lib/module/classes/HMSAudioMixerSource.js +1 -1
  150. package/lib/module/classes/HMSAudioNode.js +1 -1
  151. package/lib/module/classes/HMSAudioSettings.js +1 -1
  152. package/lib/module/classes/HMSAudioTrackSettings.js +1 -1
  153. package/lib/module/classes/HMSBrowserRecordingState.js +1 -1
  154. package/lib/module/classes/HMSChangeTrackStateRequest.js +1 -1
  155. package/lib/module/classes/HMSConfig.js +1 -1
  156. package/lib/module/classes/HMSEncoder.js +31 -1
  157. package/lib/module/classes/HMSEncoder.js.map +1 -1
  158. package/lib/module/classes/HMSException.js +1 -1
  159. package/lib/module/classes/HMSHLSConfig.js +1 -1
  160. package/lib/module/classes/HMSHLSMeetingURLVariant.js +1 -1
  161. package/lib/module/classes/HMSHLSRecordingConfig.js +1 -1
  162. package/lib/module/classes/HMSHLSRecordingState.js +1 -1
  163. package/lib/module/classes/HMSHLSStreamingState.js +1 -1
  164. package/lib/module/classes/HMSHLSVariant.js +1 -1
  165. package/lib/module/classes/HMSInteractivityCenter.js +1 -1
  166. package/lib/module/classes/HMSLocalAudioStats.js +1 -1
  167. package/lib/module/classes/HMSLocalAudioTrack.js +1 -1
  168. package/lib/module/classes/HMSLocalPeer.js +1 -1
  169. package/lib/module/classes/HMSLocalVideoStats.js +1 -1
  170. package/lib/module/classes/HMSLocalVideoTrack.js +1 -1
  171. package/lib/module/classes/HMSLogSettings.js +1 -1
  172. package/lib/module/classes/HMSLogger.js +1 -1
  173. package/lib/module/classes/HMSLogger.js.map +1 -1
  174. package/lib/module/classes/HMSMessage.js +1 -1
  175. package/lib/module/classes/HMSMessageRecipient.js +1 -1
  176. package/lib/module/classes/HMSNativeEventEmitter.js +1 -1
  177. package/lib/module/classes/HMSNetworkQuality.js +1 -1
  178. package/lib/module/classes/HMSNoiseCancellationPlugin.js +1 -1
  179. package/lib/module/classes/HMSPeer.js +20 -3
  180. package/lib/module/classes/HMSPeer.js.map +1 -1
  181. package/lib/module/classes/HMSPeerListIterator.js +1 -1
  182. package/lib/module/classes/HMSPeersCache.js +1 -1
  183. package/lib/module/classes/HMSPermissions.js +3 -1
  184. package/lib/module/classes/HMSPermissions.js.map +1 -1
  185. package/lib/module/classes/HMSPublishSettings.js +1 -1
  186. package/lib/module/classes/HMSQualityLimitationReasons.js +1 -1
  187. package/lib/module/classes/HMSRTCStats.js +1 -1
  188. package/lib/module/classes/HMSRTCStatsReport.js +1 -1
  189. package/lib/module/classes/HMSRTMPConfig.js +1 -1
  190. package/lib/module/classes/HMSRemoteAudioStats.js +1 -1
  191. package/lib/module/classes/HMSRemoteAudioTrack.js +1 -1
  192. package/lib/module/classes/HMSRemotePeer.js +1 -1
  193. package/lib/module/classes/HMSRemoteVideoStats.js +1 -1
  194. package/lib/module/classes/HMSRemoteVideoTrack.js +1 -1
  195. package/lib/module/classes/HMSRole.js +1 -1
  196. package/lib/module/classes/HMSRoleChangeRequest.js +1 -1
  197. package/lib/module/classes/HMSRoom.js +8 -1
  198. package/lib/module/classes/HMSRoom.js.map +1 -1
  199. package/lib/module/classes/HMSRoomCache.js +8 -1
  200. package/lib/module/classes/HMSRoomCache.js.map +1 -1
  201. package/lib/module/classes/HMSRoomUpdate.js +1 -0
  202. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  203. package/lib/module/classes/HMSRtmpStreamingState.js +1 -1
  204. package/lib/module/classes/HMSRtmpVideoResolution.js +1 -1
  205. package/lib/module/classes/HMSSDK.js +52 -1
  206. package/lib/module/classes/HMSSDK.js.map +1 -1
  207. package/lib/module/classes/HMSServerRecordingState.js +1 -1
  208. package/lib/module/classes/HMSSessionStore.js +1 -1
  209. package/lib/module/classes/HMSSimulcastLayerDefinition.js +1 -1
  210. package/lib/module/classes/HMSSimulcastLayerSettings.js +1 -1
  211. package/lib/module/classes/HMSSimulcastLayerSettingsPolicy.js +1 -1
  212. package/lib/module/classes/HMSSimulcastSettings.js +1 -1
  213. package/lib/module/classes/HMSSimulcastSettingsPolicy.js +1 -1
  214. package/lib/module/classes/HMSSpeaker.js +1 -1
  215. package/lib/module/classes/HMSSubscribeDegradationPolicy.js +1 -1
  216. package/lib/module/classes/HMSSubscribeSettings.js +1 -1
  217. package/lib/module/classes/HMSTrack.js +1 -1
  218. package/lib/module/classes/HMSTrackSettings.js +1 -1
  219. package/lib/module/classes/HMSUpdateListenerActions.js +1 -0
  220. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  221. package/lib/module/classes/HMSVideoResolution.js +1 -1
  222. package/lib/module/classes/HMSVideoSettings.js +1 -1
  223. package/lib/module/classes/HMSVideoTrack.js +1 -1
  224. package/lib/module/classes/HMSVideoTrackSettings.js +1 -1
  225. package/lib/module/classes/transcriptions/HMSTranscript.js +2 -0
  226. package/lib/module/classes/transcriptions/HMSTranscript.js.map +1 -0
  227. package/lib/module/classes/transcriptions/OnTranscriptionError.js +2 -0
  228. package/lib/module/classes/transcriptions/OnTranscriptionError.js.map +1 -0
  229. package/lib/module/classes/transcriptions/TranscriptionState.js +8 -0
  230. package/lib/module/classes/transcriptions/TranscriptionState.js.map +1 -0
  231. package/lib/module/classes/transcriptions/Transcriptions.js +2 -0
  232. package/lib/module/classes/transcriptions/Transcriptions.js.map +1 -0
  233. package/lib/module/classes/transcriptions/TranscriptionsMode.js +6 -0
  234. package/lib/module/classes/transcriptions/TranscriptionsMode.js.map +1 -0
  235. package/lib/module/classes/transcriptions/index.js +6 -0
  236. package/lib/module/classes/transcriptions/index.js.map +1 -0
  237. package/lib/module/index.js +1 -0
  238. package/lib/module/index.js.map +1 -1
  239. package/lib/module/modules/HMSManagerModule.js.map +1 -1
  240. package/lib/module/utils/emitter/EventEmitter.js +1 -1
  241. package/lib/module/utils/emitter/_EmitterSubscription.js +1 -1
  242. package/lib/module/utils/emitter/_EventSubscription.js +1 -1
  243. package/lib/module/utils/emitter/_EventSubscriptionVendor.js +1 -1
  244. package/lib/typescript/classes/HMSEncoder.d.ts +3 -0
  245. package/lib/typescript/classes/HMSPeer.d.ts +3 -1
  246. package/lib/typescript/classes/HMSPermissions.d.ts +7 -0
  247. package/lib/typescript/classes/HMSRoom.d.ts +2 -0
  248. package/lib/typescript/classes/HMSRoomUpdate.d.ts +2 -1
  249. package/lib/typescript/classes/HMSSDK.d.ts +4 -0
  250. package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +2 -1
  251. package/lib/typescript/classes/transcriptions/HMSTranscript.d.ts +8 -0
  252. package/lib/typescript/classes/transcriptions/OnTranscriptionError.d.ts +4 -0
  253. package/lib/typescript/classes/transcriptions/TranscriptionState.d.ts +6 -0
  254. package/lib/typescript/classes/transcriptions/Transcriptions.d.ts +12 -0
  255. package/lib/typescript/classes/transcriptions/TranscriptionsMode.d.ts +4 -0
  256. package/lib/typescript/classes/transcriptions/index.d.ts +5 -0
  257. package/lib/typescript/index.d.ts +1 -0
  258. package/package.json +1 -1
  259. package/sdk-versions.json +2 -2
  260. package/src/classes/HMSEncoder.ts +35 -0
  261. package/src/classes/HMSPeer.ts +29 -2
  262. package/src/classes/HMSPermissions.ts +10 -0
  263. package/src/classes/HMSRoom.ts +14 -0
  264. package/src/classes/HMSRoomCache.ts +9 -0
  265. package/src/classes/HMSRoomUpdate.ts +1 -0
  266. package/src/classes/HMSSDK.tsx +63 -0
  267. package/src/classes/HMSUpdateListenerActions.ts +1 -0
  268. package/src/classes/transcriptions/HMSTranscript.ts +13 -0
  269. package/src/classes/transcriptions/OnTranscriptionError.ts +5 -0
  270. package/src/classes/transcriptions/TranscriptionState.ts +6 -0
  271. package/src/classes/transcriptions/Transcriptions.ts +19 -0
  272. package/src/classes/transcriptions/TranscriptionsMode.ts +4 -0
  273. package/src/classes/transcriptions/index.ts +5 -0
  274. package/src/index.ts +2 -0
@@ -9,7 +9,7 @@ import { HMSPeerType } from './HMSPeerType';
9
9
 
10
10
  export class HMSPeer {
11
11
  peerID: string;
12
- name: string;
12
+ private _name: string | undefined;
13
13
  private _isLocal: boolean | undefined;
14
14
  private _customerUserID: string | undefined;
15
15
  private _metadata: string | undefined;
@@ -17,6 +17,13 @@ export class HMSPeer {
17
17
  private _isHandRaised: boolean = false;
18
18
  private _type: HMSPeerType = HMSPeerType.REGULAR;
19
19
 
20
+ private _updateName(value: string) {
21
+ // If `_isLocal` is outdated, update it
22
+ if (this._name !== value) {
23
+ this._name = value;
24
+ }
25
+ }
26
+
20
27
  private _updateIsLocal(value: boolean) {
21
28
  // If `_isLocal` is outdated, update it
22
29
  if (this._isLocal !== value) {
@@ -61,7 +68,27 @@ export class HMSPeer {
61
68
 
62
69
  constructor(params: { peerID: string; name: string }) {
63
70
  this.peerID = params.peerID;
64
- this.name = params.name;
71
+ this._name = params.name;
72
+ }
73
+
74
+ get name(): string | undefined {
75
+ if (this._name) {
76
+ return this._name;
77
+ }
78
+ const hmsPeersCache = getHmsPeersCache();
79
+
80
+ const value = hmsPeersCache
81
+ ? hmsPeersCache.getProperty(this.peerID, 'name')
82
+ : getPeerPropertyFromNative(
83
+ HMSConstants.DEFAULT_SDK_ID,
84
+ this.peerID,
85
+ 'name'
86
+ );
87
+
88
+ if (typeof value === 'string') {
89
+ this._updateName(value);
90
+ }
91
+ return value ?? this._name;
65
92
  }
66
93
 
67
94
  get isLocal(): boolean | undefined {
@@ -1,9 +1,16 @@
1
+ import type { TranscriptionsMode } from './transcriptions';
2
+
1
3
  export interface HMSWhiteboardPermission {
2
4
  admin?: boolean;
3
5
  write?: boolean;
4
6
  read?: boolean;
5
7
  }
6
8
 
9
+ export interface HMSTranscriptionPermissions {
10
+ admin: boolean;
11
+ mode?: TranscriptionsMode;
12
+ }
13
+
7
14
  export class HMSPermissions {
8
15
  endRoom?: boolean;
9
16
  removeOthers?: boolean;
@@ -16,6 +23,7 @@ export class HMSPermissions {
16
23
  pollRead?: boolean;
17
24
  pollWrite?: boolean;
18
25
  whiteboard?: HMSWhiteboardPermission;
26
+ transcriptions?: Array<HMSTranscriptionPermissions>;
19
27
 
20
28
  constructor(params?: {
21
29
  endRoom?: boolean;
@@ -29,6 +37,7 @@ export class HMSPermissions {
29
37
  pollRead?: boolean;
30
38
  pollWrite?: boolean;
31
39
  whiteboard?: HMSWhiteboardPermission;
40
+ transcriptions?: Array<HMSTranscriptionPermissions>;
32
41
  }) {
33
42
  if (params) {
34
43
  this.endRoom = params.endRoom;
@@ -42,6 +51,7 @@ export class HMSPermissions {
42
51
  this.pollRead = params.pollRead;
43
52
  this.pollWrite = params.pollWrite;
44
53
  this.whiteboard = params.whiteboard;
54
+ this.transcriptions = params.transcriptions;
45
55
  }
46
56
  }
47
57
  }
@@ -7,6 +7,7 @@ import type { HMSHLSRecordingState } from './HMSHLSRecordingState';
7
7
  import type { HMSLocalPeer } from './HMSLocalPeer';
8
8
  import { getHmsRoomCache, getHMSRoomPropertyFromNative } from './HMSRoomCache';
9
9
  import { HMSConstants } from './HMSConstants';
10
+ import type { Transcriptions } from './transcriptions/Transcriptions';
10
11
 
11
12
  export class HMSRoom {
12
13
  id: string;
@@ -166,4 +167,17 @@ export class HMSRoom {
166
167
  'isLargeRoom'
167
168
  );
168
169
  }
170
+
171
+ get transcriptions(): Array<Transcriptions> {
172
+ const hmsRoomCache = getHmsRoomCache();
173
+
174
+ if (hmsRoomCache) {
175
+ return hmsRoomCache.getProperty('transcriptions');
176
+ }
177
+
178
+ return getHMSRoomPropertyFromNative(
179
+ HMSConstants.DEFAULT_SDK_ID,
180
+ 'transcriptions'
181
+ );
182
+ }
169
183
  }
@@ -99,6 +99,13 @@ export class HMSRoomCache {
99
99
  );
100
100
  break;
101
101
  }
102
+ case HMSRoomUpdate.TRANSCRIPTIONS_UPDATED: {
103
+ this._data.set(
104
+ 'transcriptions',
105
+ encodeHMSRoomProperty(this.id, 'transcriptions', data)
106
+ );
107
+ break;
108
+ }
102
109
  default: {
103
110
  for (const key in data) {
104
111
  const property = key as keyof HMSRoomCacheProps;
@@ -153,6 +160,8 @@ function encodeHMSRoomProperty<T extends keyof HMSRoomCacheProps>(
153
160
  value = HMSEncoder.encodeHLSStreamingState(data.hlsStreamingState);
154
161
  } else if (property === 'hlsRecordingState') {
155
162
  value = HMSEncoder.encodeHLSRecordingState(data.hlsRecordingState);
163
+ } else if (property === 'transcriptions') {
164
+ value = HMSEncoder.encodeTranscriptions(data.transcriptions);
156
165
  } else if (property === 'localPeer') {
157
166
  value = HMSEncoder.encodeHmsLocalPeer(data.localPeer, id);
158
167
  } else if (property === 'peerCount') {
@@ -7,4 +7,5 @@ export enum HMSRoomUpdate {
7
7
  HLS_STREAMING_STATE_UPDATED = 'HLS_STREAMING_STATE_UPDATED',
8
8
  HLS_RECORDING_STATE_UPDATED = 'HLS_RECORDING_STATE_UPDATED',
9
9
  ROOM_PEER_COUNT_UPDATED = 'ROOM_PEER_COUNT_UPDATED',
10
+ TRANSCRIPTIONS_UPDATED = 'TRANSCRIPTIONS_UPDATED',
10
11
  }
@@ -63,6 +63,7 @@ export class HMSSDK {
63
63
  private onPreviewDelegate?: any;
64
64
  private onJoinDelegate?: any;
65
65
  private onRoomDelegate?: any;
66
+ private onTranscriptsDelegate?: any;
66
67
  private onPeerDelegate?: any;
67
68
  private onPeerListUpdatedDelegate?: any;
68
69
  private onTrackDelegate?: any;
@@ -1288,6 +1289,24 @@ export class HMSSDK {
1288
1289
  this.onRoomDelegate = callback;
1289
1290
  break;
1290
1291
  }
1292
+ case HMSUpdateListenerActions.ON_TRANSCRIPTS: {
1293
+ // Checking if we already have ON_TRANSCRIPTS subscription
1294
+ if (
1295
+ !this.emitterSubscriptions[HMSUpdateListenerActions.ON_TRANSCRIPTS]
1296
+ ) {
1297
+ // Adding ON_TRANSCRIPTS native listener
1298
+ const transcriptsSubscription = HMSNativeEventListener.addListener(
1299
+ this.id,
1300
+ HMSUpdateListenerActions.ON_TRANSCRIPTS,
1301
+ this.onTranscriptsListener
1302
+ );
1303
+ this.emitterSubscriptions[HMSUpdateListenerActions.ON_TRANSCRIPTS] =
1304
+ transcriptsSubscription;
1305
+ }
1306
+ // Adding App Delegate listener
1307
+ this.onTranscriptsDelegate = callback;
1308
+ break;
1309
+ }
1291
1310
  case HMSUpdateListenerActions.ON_PEER_UPDATE: {
1292
1311
  // Checking if we already have ON_PEER_UPDATE subscription
1293
1312
  if (
@@ -1734,6 +1753,20 @@ export class HMSSDK {
1734
1753
  this.onRoomDelegate = null;
1735
1754
  break;
1736
1755
  }
1756
+ case HMSUpdateListenerActions.ON_TRANSCRIPTS: {
1757
+ const subscription =
1758
+ this.emitterSubscriptions[HMSUpdateListenerActions.ON_TRANSCRIPTS];
1759
+ // Removing ON_TRANSCRIPTS native listener
1760
+ if (subscription) {
1761
+ subscription.remove();
1762
+
1763
+ this.emitterSubscriptions[HMSUpdateListenerActions.ON_TRANSCRIPTS] =
1764
+ undefined;
1765
+ }
1766
+ // Removing App Delegate listener
1767
+ this.onTranscriptsDelegate = null;
1768
+ break;
1769
+ }
1737
1770
  case HMSUpdateListenerActions.ON_PEER_UPDATE: {
1738
1771
  const subscription =
1739
1772
  this.emitterSubscriptions[HMSUpdateListenerActions.ON_PEER_UPDATE];
@@ -2139,6 +2172,18 @@ export class HMSSDK {
2139
2172
  }
2140
2173
  };
2141
2174
 
2175
+ onTranscriptsListener = (data: any) => {
2176
+ if (data.id !== this.id) {
2177
+ return;
2178
+ }
2179
+ HMSEncoder.transformTranscripts(data.transcripts);
2180
+
2181
+ if (this.onTranscriptsDelegate) {
2182
+ logger?.verbose('#Listener ON_TRANSCRIPTS_LISTENER_CALL', data);
2183
+ this.onTranscriptsDelegate(data);
2184
+ }
2185
+ };
2186
+
2142
2187
  onPeerListener = (peerData: any) => {
2143
2188
  const data: { peer: any; type: any } = {
2144
2189
  peer: peerData,
@@ -2516,6 +2561,24 @@ export class HMSSDK {
2516
2561
  });
2517
2562
  }
2518
2563
 
2564
+ async startRealTimeTranscription() {
2565
+ const data = {
2566
+ id: this.id,
2567
+ action: 'start',
2568
+ };
2569
+ logger?.verbose('#Function startRealTimeTranscription', data);
2570
+ return HMSManager.handleRealTimeTranscription(data);
2571
+ }
2572
+
2573
+ async stopRealTimeTranscription() {
2574
+ const data = {
2575
+ id: this.id,
2576
+ action: 'stop',
2577
+ };
2578
+ logger?.verbose('#Function stopRealTimeTranscription', data);
2579
+ return HMSManager.handleRealTimeTranscription(data);
2580
+ }
2581
+
2519
2582
  get interactivityCenter() {
2520
2583
  if (!this._interactivityCenter) {
2521
2584
  this._interactivityCenter = new HMSInteractivityCenter();
@@ -27,4 +27,5 @@ export enum HMSUpdateListenerActions {
27
27
  ON_SESSION_STORE_AVAILABLE = 'ON_SESSION_STORE_AVAILABLE',
28
28
  ON_SESSION_STORE_CHANGED = 'ON_SESSION_STORE_CHANGED',
29
29
  ON_PEER_LIST_UPDATED = 'ON_PEER_LIST_UPDATED',
30
+ ON_TRANSCRIPTS = 'ON_TRANSCRIPTS',
30
31
  }
@@ -0,0 +1,13 @@
1
+ import type { HMSPeer } from '../HMSPeer';
2
+
3
+ export interface HMSTranscript {
4
+ transcript: string;
5
+
6
+ peer: HMSPeer;
7
+
8
+ end: number;
9
+
10
+ start: number;
11
+
12
+ isFinal: boolean;
13
+ }
@@ -0,0 +1,5 @@
1
+ export interface OnTranscriptionError {
2
+ code?: number;
3
+
4
+ message?: string;
5
+ }
@@ -0,0 +1,6 @@
1
+ export enum TranscriptionState {
2
+ FAILED = 'FAILED',
3
+ INITIALIZED = 'INITIALIZED',
4
+ STARTED = 'STARTED',
5
+ STOPPED = 'STOPPED',
6
+ }
@@ -0,0 +1,19 @@
1
+ import type { OnTranscriptionError } from './OnTranscriptionError';
2
+ import type { TranscriptionState } from './TranscriptionState';
3
+ import type { TranscriptionsMode } from './TranscriptionsMode';
4
+
5
+ export interface Transcriptions {
6
+ error?: OnTranscriptionError;
7
+
8
+ mode?: TranscriptionsMode;
9
+
10
+ state?: TranscriptionState;
11
+
12
+ initialisedAt?: Date;
13
+
14
+ startedAt?: Date;
15
+
16
+ stoppedAt?: Date;
17
+
18
+ updatedAt?: Date;
19
+ }
@@ -0,0 +1,4 @@
1
+ export enum TranscriptionsMode {
2
+ CAPTION = 'CAPTION',
3
+ LIVE = 'LIVE',
4
+ }
@@ -0,0 +1,5 @@
1
+ export * from './OnTranscriptionError';
2
+ export * from './TranscriptionState';
3
+ export * from './TranscriptionsMode';
4
+ export * from './Transcriptions';
5
+ export * from './HMSTranscript';
package/src/index.ts CHANGED
@@ -114,6 +114,8 @@ export { PollLeaderboardResponse } from './classes/polls/PollLeaderboardResponse
114
114
  export { HMSPollLeaderboardEntry } from './classes/polls/HMSPollLeaderboardEntry';
115
115
  export { HMSPollLeaderboardSummary } from './classes/polls/HMSPollLeaderboardSummary';
116
116
 
117
+ export * from './classes/transcriptions';
118
+
117
119
  import { HMSSDK as HmsManager } from './classes/HMSSDK';
118
120
 
119
121
  // 100ms React Native Module