@100mslive/react-native-hms 0.8.4 → 0.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 (82) hide show
  1. package/README.md +6 -6
  2. package/android/build.gradle +3 -1
  3. package/android/src/main/java/com/reactnativehmssdk/HmsDecoder.kt +27 -2
  4. package/android/src/main/java/com/reactnativehmssdk/HmsHelper.kt +25 -0
  5. package/android/src/main/java/com/reactnativehmssdk/HmsModule.kt +81 -4
  6. package/android/src/main/java/com/reactnativehmssdk/HmsSDK.kt +174 -84
  7. package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +66 -0
  8. package/android/src/main/java/com/reactnativehmssdk/HmsView.kt +28 -3
  9. package/android/src/main/java/com/reactnativehmssdk/HmssdkViewManager.kt +10 -1
  10. package/android/src/main/res/layout/hms_view.xml +19 -0
  11. package/ios/HmsDecoder.swift +58 -2
  12. package/ios/HmsHelper.swift +21 -0
  13. package/ios/HmsManager.m +4 -2
  14. package/ios/HmsManager.swift +16 -2
  15. package/ios/HmsSDK.swift +63 -11
  16. package/ios/HmsView.swift +22 -54
  17. package/lib/commonjs/classes/HMSEncoder.js +2 -1
  18. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  19. package/lib/commonjs/classes/HMSHLSConfig.js +20 -0
  20. package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -0
  21. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js +23 -0
  22. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js.map +1 -0
  23. package/lib/commonjs/classes/HMSHLSStreamingState.js +23 -0
  24. package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -0
  25. package/lib/commonjs/classes/HMSHLSVariant.js +29 -0
  26. package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -0
  27. package/lib/commonjs/classes/HMSLogger.js +27 -0
  28. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  29. package/lib/commonjs/classes/HMSRoom.js +3 -0
  30. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  31. package/lib/commonjs/classes/HMSRoomUpdate.js +6 -0
  32. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  33. package/lib/commonjs/classes/HMSSDK.js +203 -96
  34. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  35. package/lib/commonjs/classes/HmsView.js +26 -4
  36. package/lib/commonjs/classes/HmsView.js.map +1 -1
  37. package/lib/commonjs/index.js +56 -0
  38. package/lib/commonjs/index.js.map +1 -1
  39. package/lib/module/classes/HMSEncoder.js +2 -1
  40. package/lib/module/classes/HMSEncoder.js.map +1 -1
  41. package/lib/module/classes/HMSHLSConfig.js +11 -0
  42. package/lib/module/classes/HMSHLSConfig.js.map +1 -0
  43. package/lib/module/classes/HMSHLSMeetingURLVariant.js +14 -0
  44. package/lib/module/classes/HMSHLSMeetingURLVariant.js.map +1 -0
  45. package/lib/module/classes/HMSHLSStreamingState.js +14 -0
  46. package/lib/module/classes/HMSHLSStreamingState.js.map +1 -0
  47. package/lib/module/classes/HMSHLSVariant.js +20 -0
  48. package/lib/module/classes/HMSHLSVariant.js.map +1 -0
  49. package/lib/module/classes/HMSLogger.js +27 -0
  50. package/lib/module/classes/HMSLogger.js.map +1 -1
  51. package/lib/module/classes/HMSRoom.js +3 -0
  52. package/lib/module/classes/HMSRoom.js.map +1 -1
  53. package/lib/module/classes/HMSRoomUpdate.js +6 -0
  54. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  55. package/lib/module/classes/HMSSDK.js +204 -97
  56. package/lib/module/classes/HMSSDK.js.map +1 -1
  57. package/lib/module/classes/HmsView.js +23 -4
  58. package/lib/module/classes/HmsView.js.map +1 -1
  59. package/lib/module/index.js +4 -0
  60. package/lib/module/index.js.map +1 -1
  61. package/lib/typescript/classes/HMSHLSConfig.d.ts +7 -0
  62. package/lib/typescript/classes/HMSHLSMeetingURLVariant.d.ts +8 -0
  63. package/lib/typescript/classes/HMSHLSStreamingState.d.ts +9 -0
  64. package/lib/typescript/classes/HMSHLSVariant.d.ts +12 -0
  65. package/lib/typescript/classes/HMSLogger.d.ts +2 -0
  66. package/lib/typescript/classes/HMSRoom.d.ts +3 -0
  67. package/lib/typescript/classes/HMSRoomUpdate.d.ts +7 -1
  68. package/lib/typescript/classes/HMSSDK.d.ts +16 -7
  69. package/lib/typescript/index.d.ts +4 -0
  70. package/package.json +1 -2
  71. package/react-native-hms.podspec +1 -1
  72. package/src/classes/HMSEncoder.ts +1 -0
  73. package/src/classes/HMSHLSConfig.ts +9 -0
  74. package/src/classes/HMSHLSMeetingURLVariant.ts +9 -0
  75. package/src/classes/HMSHLSStreamingState.ts +11 -0
  76. package/src/classes/HMSHLSVariant.ts +18 -0
  77. package/src/classes/HMSLogger.ts +14 -0
  78. package/src/classes/HMSRoom.ts +4 -0
  79. package/src/classes/HMSRoomUpdate.ts +6 -0
  80. package/src/classes/HMSSDK.tsx +95 -19
  81. package/src/classes/HmsView.tsx +32 -4
  82. package/src/index.ts +4 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["HMSSDK.tsx"],"names":["React","NativeEventEmitter","NativeModules","HMSUpdateListenerActions","HMSEncoder","HMSMessage","HMSHelper","HmsView","HMSViewComponent","HMSVideoViewMode","HmsManager","HmsEventEmitter","HmsSdk","logger","HMSSDK","constructor","id","hmsLogger","verbose","removeListeners","addListener","ON_PREVIEW","onPreviewListener","ON_JOIN","onJoinListener","ON_ROOM_UPDATE","onRoomListener","ON_PEER_UPDATE","onPeerListener","ON_TRACK_UPDATE","onTrackListener","ON_ERROR","onErrorListener","ON_MESSAGE","onMessageListener","ON_SPEAKER","onSpeakerListener","RECONNECTING","reconnectingListener","RECONNECTED","reconnectedListener","ON_ROLE_CHANGE_REQUEST","onRoleChangeRequestListener","ON_CHANGE_TRACK_STATE_REQUEST","onChangeTrackStateRequestListener","ON_REMOVED_FROM_ROOM","onRemovedFromRoomListener","removeListener","config","join","preview","sink","trackId","style","mirror","scaleType","ASPECT_FIT","data","op","leave","muteStatus","undefined","localPeer","remotePeers","room","knownRoles","message","type","sendBroadcastMessage","roles","sendGroupMessage","getRoleNames","peerId","sendDirectMessage","metadata","changeMetadata","startRTMPOrRecording","stopRtmpAndRecording","peer","role","force","peerID","name","changeRole","track","mute","changeTrackState","source","changeTrackStateRoles","reason","removePeer","lock","endRoom","acceptRoleChange","muteAllPeersAudio","roomID","hmsRoom","getRoom","encodedHmsRoom","encodeHmsRoom","volume","setVolume","action","callback","onPreviewDelegate","onJoinDelegate","onRoomDelegate","onPeerDelegate","onTrackDelegate","onErrorDelegate","onMessageDelegate","onSpeakerDelegate","onReconnectingDelegate","onReconnectedDelegate","onRoleChangeRequestDelegate","onChangeTrackStateRequestDelegate","onRemovedFromRoomDelegate","encodeHmsLocalPeer","previewTracks","encodeHmsPreviewTracks","encodeHmsRemotePeers","encodeHmsRoles","encodeHmsPeer","encodeHmsTrack","warn","encodedRoleChangeRequest","encodeHmsRoleChangeRequest","encodeHmsChangeTrackStateRequest","requestedBy","roomEnded","build","params","trackSettings","attachPreviewListener","attachListeners","getLogger"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { NativeEventEmitter, NativeModules, ViewStyle } from 'react-native';\nimport { HMSUpdateListenerActions } from './HMSUpdateListenerActions';\nimport type { HMSConfig } from './HMSConfig';\nimport type { HMSLocalPeer } from './HMSLocalPeer';\nimport type { HMSRemotePeer } from './HMSRemotePeer';\nimport type { HMSRoom } from './HMSRoom';\nimport type { HMSRole } from './HMSRole';\nimport { HMSEncoder } from './HMSEncoder';\nimport { HMSMessage } from './HMSMessage';\nimport { HMSHelper } from './HMSHelper';\nimport type { HMSTrack } from './HMSTrack';\nimport type { HMSTrackType } from './HMSTrackType';\nimport type { HMSLogger } from './HMSLogger';\nimport type { HMSPeer } from './HMSPeer';\nimport { HmsView as HMSViewComponent } from './HmsView';\nimport { HMSVideoViewMode } from './HMSVideoViewMode';\nimport type { HMSTrackSettings } from './HMSTrackSettings';\nimport type { HMSRTMPConfig } from './HMSRTMPConfig';\n\ninterface HmsComponentProps {\n trackId: string;\n sink: boolean;\n style: ViewStyle;\n mirror?: boolean;\n scaleType: HMSVideoViewMode;\n id?: string | null;\n}\n\nconst {\n /**\n * @ignore\n */\n HmsManager,\n} = NativeModules;\n\nconst HmsEventEmitter = new NativeEventEmitter(HmsManager);\n\nlet HmsSdk: HMSSDK | undefined;\n\nlet logger: HMSLogger | undefined;\n\nexport class HMSSDK {\n room?: HMSRoom;\n localPeer?: HMSLocalPeer;\n remotePeers?: HMSRemotePeer[];\n knownRoles?: HMSRole[];\n id: string;\n private muteStatus: boolean | undefined;\n\n onPreviewDelegate?: any;\n onJoinDelegate?: any;\n onRoomDelegate?: any;\n onPeerDelegate?: any;\n onTrackDelegate?: any;\n onErrorDelegate?: any;\n onMessageDelegate?: any;\n onSpeakerDelegate?: any;\n onReconnectingDelegate?: any;\n onReconnectedDelegate?: any;\n onRoleChangeRequestDelegate?: any;\n onChangeTrackStateRequestDelegate?: any;\n onRemovedFromRoomDelegate?: any;\n\n constructor(id: string) {\n this.id = id;\n }\n\n /**\n * - Returns an instance of [HMSSDK]{@link HMSSDK}\n * - This function must be called to get an instance of HMSSDK class and only then user can interact with its methods\n *\n * @static\n * @returns\n * @memberof HMSSDK\n */\n static async build(params?: { trackSettings?: HMSTrackSettings }) {\n let id = await HmsManager.build(params?.trackSettings || {});\n HmsSdk = new HMSSDK(id);\n HmsSdk.attachPreviewListener();\n HmsSdk.attachListeners();\n return HmsSdk;\n }\n\n static getLogger() {\n return logger;\n }\n\n setLogger = (hmsLogger: HMSLogger) => {\n logger = hmsLogger;\n hmsLogger.verbose('#Function setLogger', { id: this.id });\n };\n\n destroy = () => {\n this.removeListeners();\n };\n\n attachPreviewListener = () => {\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_PREVIEW,\n this.onPreviewListener\n );\n };\n\n attachListeners = () => {\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_JOIN,\n this.onJoinListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_ROOM_UPDATE,\n this.onRoomListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_PEER_UPDATE,\n this.onPeerListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_TRACK_UPDATE,\n this.onTrackListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_ERROR,\n this.onErrorListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_MESSAGE,\n this.onMessageListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_SPEAKER,\n this.onSpeakerListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.RECONNECTING,\n this.reconnectingListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.RECONNECTED,\n this.reconnectedListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST,\n this.onRoleChangeRequestListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_CHANGE_TRACK_STATE_REQUEST,\n this.onChangeTrackStateRequestListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM,\n this.onRemovedFromRoomListener\n );\n };\n\n removeListeners = () => {\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_JOIN,\n this.onJoinListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_ROOM_UPDATE,\n this.onRoomListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_PEER_UPDATE,\n this.onPeerListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_TRACK_UPDATE,\n this.onTrackListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_ERROR,\n this.onErrorListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_MESSAGE,\n this.onMessageListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_SPEAKER,\n this.onSpeakerListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.RECONNECTING,\n this.reconnectingListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.RECONNECTED,\n this.reconnectedListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST,\n this.onRoleChangeRequestListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_CHANGE_TRACK_STATE_REQUEST,\n this.onChangeTrackStateRequestListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM,\n this.onRemovedFromRoomListener\n );\n };\n\n /**\n * takes an instance of [HMSConfig]{@link HMSConfig} and joins the room\n * after joining the room user will start receiving the events and updates of the room\n *\n * @param {HMSConfig} config\n * @memberof HMSSDK\n */\n join = async (config: HMSConfig) => {\n logger?.verbose('#Function join', { config, id: this.id });\n await HmsManager.join({ ...config, id: this.id });\n };\n\n preview = (config: HMSConfig) => {\n logger?.verbose('#Function preview', { config, id: this.id });\n HmsManager.preview({ ...config, id: this.id });\n };\n\n HmsView = ({\n sink,\n trackId,\n style,\n mirror,\n scaleType = HMSVideoViewMode.ASPECT_FIT,\n }: HmsComponentProps) => {\n return (\n <HMSViewComponent\n sink={sink}\n trackId={trackId}\n style={style}\n mirror={mirror}\n scaleType={scaleType}\n id={this.id}\n />\n );\n };\n\n /**\n * Calls leave function of native sdk and session of current user is invalidated\n *\n * @memberof HMSSDK\n */\n leave = async () => {\n logger?.verbose('#Function leave', { id: this.id });\n const data = {\n id: this.id,\n };\n\n const op = await HmsManager.leave(data);\n this.muteStatus = undefined;\n this.localPeer = undefined;\n this.remotePeers = undefined;\n this.room = undefined;\n this.knownRoles = undefined;\n return op;\n };\n\n sendBroadcastMessage = async (message: string, type?: string) => {\n logger?.verbose('#Function sendBroadcastMessage', {\n message,\n type: type || null,\n id: this.id,\n });\n return await HmsManager.sendBroadcastMessage({\n message,\n type: type || null,\n id: this.id,\n });\n };\n\n sendGroupMessage = async (\n message: string,\n roles: HMSRole[],\n type?: string\n ) => {\n logger?.verbose('#Function sendGroupMessage', {\n message,\n roles,\n id: this.id,\n type: type || null,\n });\n return await HmsManager.sendGroupMessage({\n message,\n roles: HMSHelper.getRoleNames(roles),\n id: this.id,\n type: type || null,\n });\n };\n\n sendDirectMessage = async (\n message: string,\n peerId: string,\n type?: string\n ) => {\n logger?.verbose('#Function sendDirectMessage', {\n message,\n peerId,\n id: this.id,\n type: type || null,\n });\n return await HmsManager.sendDirectMessage({\n message,\n peerId,\n id: this.id,\n type: type || null,\n });\n };\n\n changeMetadata = (metadata: string) => {\n logger?.verbose('#Function changeMetadata', { metadata, id: this.id });\n HmsManager.changeMetadata({ metadata, id: this.id });\n };\n\n startRTMPOrRecording = async (data: HMSRTMPConfig) => {\n logger?.verbose('#Function startRTMPOrRecording', {\n ...data,\n id: this.id,\n });\n\n const op = await HmsManager.startRTMPOrRecording({ ...data, id: this.id });\n return op;\n };\n\n stopRtmpAndRecording = async () => {\n logger?.verbose('#Function stopRtmpAndRecording', {});\n const op = await HmsManager.stopRtmpAndRecording({ id: this.id });\n return op;\n };\n\n changeRole = async (peer: HMSPeer, role: HMSRole, force: boolean = false) => {\n const data = {\n peerId: peer?.peerID,\n role: role?.name,\n force: force,\n id: this.id,\n };\n logger?.verbose('#Function changeRole', data);\n return await HmsManager.changeRole(data);\n };\n\n changeTrackState = async (track: HMSTrack, mute: boolean) => {\n logger?.verbose('#Function changeTrackState', {\n track,\n mute,\n id: this.id,\n });\n const data = {\n trackId: track.trackId,\n mute,\n id: this.id,\n };\n\n return await HmsManager.changeTrackState(data);\n };\n\n changeTrackStateRoles = async (\n type: HMSTrackType,\n mute: boolean,\n source: string,\n roles: Array<HMSRole>\n ) => {\n logger?.verbose('#Function changeTrackStateRoles', {\n source,\n mute,\n type,\n roles,\n id: this.id,\n });\n const data = {\n source,\n mute,\n type,\n roles: HMSHelper.getRoleNames(roles),\n id: this.id,\n };\n\n return await HmsManager.changeTrackStateRoles(data);\n };\n\n removePeer = async (peerId: string, reason: string) => {\n logger?.verbose('#Function removePeer', { peerId, reason, id: this.id });\n const data = {\n peerId,\n reason,\n id: this.id,\n };\n\n return await HmsManager.removePeer(data);\n };\n\n endRoom = async (lock: boolean, reason: string) => {\n logger?.verbose('#Function endRoom', { lock, reason, id: this.id });\n const data = {\n lock,\n reason,\n id: this.id,\n };\n\n return await HmsManager.endRoom(data);\n };\n\n acceptRoleChange = async () => {\n logger?.verbose('#Function acceptRoleChange', { id: this.id });\n return await HmsManager.acceptRoleChange({ id: this.id });\n };\n\n muteAllPeersAudio = (mute: boolean) => {\n logger?.verbose('#Function muteAllPeersAudio', { mute, id: this.id });\n this.muteStatus = mute;\n HmsManager.muteAllPeersAudio({ mute, id: this.id });\n };\n\n getRoom = async () => {\n logger?.verbose('#Function getRoom', {\n roomID: this.room?.id,\n id: this.id,\n });\n const hmsRoom = await HmsManager.getRoom({ id: this.id });\n\n const encodedHmsRoom = HMSEncoder.encodeHmsRoom(hmsRoom, this.id);\n return encodedHmsRoom;\n };\n\n setVolume = (track: HMSTrack, volume: number) => {\n logger?.verbose('#Function setVolume', {\n track,\n volume,\n id: this.id,\n });\n HmsManager.setVolume({\n id: this.id,\n trackId: track.trackId,\n volume,\n });\n return;\n };\n\n /**\n * - This is a prototype event listener that takes action and listens for updates related to that particular action\n * - This method will be @deprecated in future and event listener will be passed in join method\n *\n * @param {string} action\n * @param {*} callback\n * @memberof HMSSDK\n */\n addEventListener = (action: HMSUpdateListenerActions, callback: any) => {\n logger?.verbose('#Function addEventListener', {\n action,\n id: this.id,\n });\n switch (action) {\n case HMSUpdateListenerActions.ON_PREVIEW:\n this.onPreviewDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_JOIN:\n this.onJoinDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_ROOM_UPDATE:\n this.onRoomDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_PEER_UPDATE:\n this.onPeerDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_TRACK_UPDATE:\n this.onTrackDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_ERROR:\n this.onErrorDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_MESSAGE:\n this.onMessageDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_SPEAKER:\n this.onSpeakerDelegate = callback;\n break;\n case HMSUpdateListenerActions.RECONNECTING:\n this.onReconnectingDelegate = callback;\n break;\n case HMSUpdateListenerActions.RECONNECTED:\n this.onReconnectedDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST:\n this.onRoleChangeRequestDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_CHANGE_TRACK_STATE_REQUEST:\n this.onChangeTrackStateRequestDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM:\n this.onRemovedFromRoomDelegate = callback;\n break;\n default:\n }\n };\n\n /**\n * - This is a prototype event listener that takes action and listens for updates related to that particular action\n * - This method will be @deprecated in future and event listener will be passed in join method\n *\n * @param {string} action\n * @param {*} callback\n * @memberof HMSSDK\n */\n removeEventListener = (action: HMSUpdateListenerActions) => {\n logger?.verbose('#Function removeEventListener', { action, id: this.id });\n switch (action) {\n case HMSUpdateListenerActions.ON_PREVIEW:\n this.onPreviewDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_JOIN:\n this.onJoinDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_ROOM_UPDATE:\n this.onRoomDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_PEER_UPDATE:\n this.onPeerDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_TRACK_UPDATE:\n this.onTrackDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_ERROR:\n this.onErrorDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_MESSAGE:\n this.onMessageDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_SPEAKER:\n this.onSpeakerDelegate = null;\n break;\n case HMSUpdateListenerActions.RECONNECTING:\n this.onReconnectingDelegate = null;\n break;\n case HMSUpdateListenerActions.RECONNECTED:\n this.onReconnectedDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST:\n this.onRoleChangeRequestDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_CHANGE_TRACK_STATE_REQUEST:\n this.onChangeTrackStateRequestDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM:\n this.onRemovedFromRoomDelegate = null;\n break;\n default:\n }\n };\n\n /**\n * removes all the listeners\n *\n * @memberof HMSSDK\n */\n removeAllListeners = () => {\n this.onPreviewDelegate = null;\n this.onJoinDelegate = null;\n this.onRoomDelegate = null;\n this.onPeerDelegate = null;\n this.onTrackDelegate = null;\n this.onErrorDelegate = null;\n this.onMessageDelegate = null;\n this.onSpeakerDelegate = null;\n this.onReconnectingDelegate = null;\n this.onReconnectedDelegate = null;\n this.onRoleChangeRequestDelegate = null;\n this.onChangeTrackStateRequestDelegate = null;\n this.onRemovedFromRoomDelegate = null;\n\n logger?.verbose('#Function REMOVE_ALL_LISTENER', { id: this.id });\n };\n\n onPreviewListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_PREVIEW', data);\n const room: HMSRoom = HMSEncoder.encodeHmsRoom(data.room, this.id);\n const localPeer: HMSLocalPeer = HMSEncoder.encodeHmsLocalPeer(\n data.localPeer,\n this.id\n );\n\n const previewTracks = HMSEncoder.encodeHmsPreviewTracks(data.previewTracks);\n\n this.localPeer = localPeer;\n this.room = room;\n if (this.onPreviewDelegate) {\n logger?.verbose('#Listener ON_PREVIEW_LISTENER_CALL', {\n ...data,\n room,\n localPeer,\n previewTracks,\n });\n this.onPreviewDelegate({ ...data, room, localPeer, previewTracks });\n }\n };\n\n onJoinListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#LISTENER ON_JOIN', data);\n // Preprocessing\n const room: HMSRoom = HMSEncoder.encodeHmsRoom(data.room, this.id);\n const localPeer: HMSLocalPeer = HMSEncoder.encodeHmsLocalPeer(\n data.localPeer,\n this.id\n );\n const remotePeers: HMSRemotePeer[] = HMSEncoder.encodeHmsRemotePeers(\n data.remotePeers,\n this.id\n );\n const roles: HMSRole[] = HMSEncoder.encodeHmsRoles(data.roles);\n this.room = room;\n this.localPeer = localPeer;\n this.remotePeers = remotePeers;\n this.knownRoles = roles;\n if (this.onJoinDelegate) {\n logger?.verbose('#Listener ON_JOIN_LISTENER_CALL', {\n ...data,\n room,\n localPeer,\n remotePeers,\n });\n this.onJoinDelegate({ ...data, room, localPeer, remotePeers });\n }\n };\n\n onRoomListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_ROOM', data);\n const room: HMSRoom = HMSEncoder.encodeHmsRoom(data.room, this.id);\n const localPeer: HMSLocalPeer = HMSEncoder.encodeHmsLocalPeer(\n data.localPeer,\n this.id\n );\n const remotePeers: HMSRemotePeer[] = HMSEncoder.encodeHmsRemotePeers(\n data.remotePeers,\n this.id\n );\n this.room = room;\n this.localPeer = localPeer;\n this.remotePeers = remotePeers;\n if (this.onRoomDelegate) {\n logger?.verbose('#Listener ON_ROOM_LISTENER_CALL', {\n ...data,\n room,\n localPeer,\n remotePeers,\n });\n this.onRoomDelegate({ ...data, room, localPeer, remotePeers });\n }\n };\n\n onPeerListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_PEER', data);\n const peer: HMSPeer = HMSEncoder.encodeHmsPeer(data.peer, this.id);\n const room: HMSRoom = HMSEncoder.encodeHmsRoom(data.room, this.id);\n const localPeer: HMSLocalPeer = HMSEncoder.encodeHmsLocalPeer(\n data.localPeer,\n this.id\n );\n const remotePeers: HMSRemotePeer[] = HMSEncoder.encodeHmsRemotePeers(\n data.remotePeers,\n this.id\n );\n // this.room = room;\n this.localPeer = localPeer;\n this.remotePeers = remotePeers;\n this.room = room;\n if (this.onPeerDelegate) {\n logger?.verbose('#Listener ON_PEER_LISTENER_CALL', data);\n this.onPeerDelegate({ ...data, localPeer, remotePeers, room, peer });\n }\n };\n\n onTrackListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_TRACK', data);\n const track: HMSTrack = HMSEncoder.encodeHmsTrack(data.track, this.id);\n const peer: HMSPeer = HMSEncoder.encodeHmsPeer(data.peer, this.id);\n const room: HMSRoom = HMSEncoder.encodeHmsRoom(data.room, this.id);\n const localPeer: HMSLocalPeer = HMSEncoder.encodeHmsLocalPeer(\n data.localPeer,\n this.id\n );\n const remotePeers: HMSRemotePeer[] = HMSEncoder.encodeHmsRemotePeers(\n data.remotePeers,\n this.id\n );\n if (this.muteStatus && data?.type === 'TRACK_ADDED') {\n this.muteAllPeersAudio(this.muteStatus);\n }\n this.room = room;\n this.localPeer = localPeer;\n this.remotePeers = remotePeers;\n if (this.onTrackDelegate) {\n logger?.verbose('#Listener ON_TRACK_LISTENER_CALL', data);\n this.onTrackDelegate({\n ...data,\n localPeer,\n remotePeers,\n room,\n peer,\n track,\n });\n }\n };\n\n onMessageListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_MESSAGE', data);\n const message = new HMSMessage(data);\n if (this.onMessageDelegate) {\n logger?.verbose('#Listener ON_MESSAGE_LISTENER_CALL', message);\n this.onMessageDelegate(message);\n }\n };\n\n onSpeakerListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_SPEAKER', data);\n if (this.onSpeakerDelegate) {\n logger?.verbose('#Listener ON_SPEAKER_LISTENER_CALL', data);\n this.onSpeakerDelegate(data);\n }\n };\n\n onErrorListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.warn('#Listener ON_ERROR', data);\n logger?.verbose('#Listener ON_ERROR', data);\n if (this.onErrorDelegate) {\n logger?.verbose('#Listener ON_ERROR_LISTENER_CALL', data);\n logger?.warn('#Listener ON_ERROR_LISTENER_CALL', data);\n this.onErrorDelegate(data);\n }\n };\n\n onRoleChangeRequestListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_ROLE_CHANGE_REQUEST', data);\n if (this.onRoleChangeRequestDelegate) {\n const encodedRoleChangeRequest = HMSEncoder.encodeHmsRoleChangeRequest(\n data,\n this.id\n );\n logger?.verbose(\n '#Listener ON_ROLE_CHANGE_LISTENER_CALL',\n encodedRoleChangeRequest\n );\n this.onRoleChangeRequestDelegate(encodedRoleChangeRequest);\n }\n };\n\n onChangeTrackStateRequestListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_CHANGE_TRACK_STATE_REQUEST', data);\n if (this.onChangeTrackStateRequestDelegate) {\n const encodedRoleChangeRequest =\n HMSEncoder.encodeHmsChangeTrackStateRequest(data, this.id);\n logger?.verbose(\n '#Listener ON_CHANGE_TRACK_STATE_REQUEST_LISTENER_CALL',\n encodedRoleChangeRequest\n );\n this.onChangeTrackStateRequestDelegate(encodedRoleChangeRequest);\n }\n };\n\n onRemovedFromRoomListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_REMOVED_FROM_ROOM', data);\n if (this.onRemovedFromRoomDelegate) {\n let requestedBy = null;\n if (data.requestedBy) {\n requestedBy = HMSEncoder.encodeHmsPeer(data.requestedBy, this.id);\n }\n const reason = data.reason;\n const roomEnded = data.roomEnded;\n\n logger?.verbose('#Listener ON_REMOVED_FROM_ROOM_LISTENER_CALL', {\n requestedBy,\n reason,\n roomEnded,\n id: this.id,\n });\n this.onRemovedFromRoomDelegate({ requestedBy, reason, roomEnded });\n }\n };\n\n reconnectingListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_RECONNECTING', data);\n if (this.onReconnectingDelegate) {\n this.onReconnectingDelegate(data);\n }\n };\n\n reconnectedListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_RECONNECTED', data);\n if (this.onReconnectedDelegate) {\n this.onReconnectedDelegate(data);\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["HMSSDK.tsx"],"names":["React","NativeEventEmitter","NativeModules","Platform","AppState","HMSUpdateListenerActions","HMSEncoder","HMSMessage","HMSHelper","HmsView","HMSViewComponent","HMSVideoViewMode","HmsManager","HmsEventEmitter","HmsSdk","logger","HMSSDK","constructor","id","hmsLogger","verbose","removeListeners","addListener","ON_PREVIEW","onPreviewListener","ON_JOIN","onJoinListener","ON_ROOM_UPDATE","onRoomListener","ON_PEER_UPDATE","onPeerListener","ON_TRACK_UPDATE","onTrackListener","ON_ERROR","onErrorListener","ON_MESSAGE","onMessageListener","ON_SPEAKER","onSpeakerListener","RECONNECTING","reconnectingListener","RECONNECTED","reconnectedListener","ON_ROLE_CHANGE_REQUEST","onRoleChangeRequestListener","ON_CHANGE_TRACK_STATE_REQUEST","onChangeTrackStateRequestListener","ON_REMOVED_FROM_ROOM","onRemovedFromRoomListener","removeListener","config","addAppStateListener","join","preview","sink","trackId","style","mirror","scaleType","ASPECT_FIT","data","op","leave","muteStatus","undefined","localPeer","remotePeers","room","knownRoles","appStateSubscription","remove","message","type","sendBroadcastMessage","roles","sendGroupMessage","getRoleNames","peer","peerId","peerID","sendDirectMessage","metadata","changeMetadata","startRTMPOrRecording","stopRtmpAndRecording","startHLSStreaming","stopHLSStreaming","role","force","name","changeRole","track","mute","changeTrackState","source","roleNames","changeTrackStateForRoles","reason","removePeer","lock","endRoom","acceptRoleChange","muteAllPeersAudio","roomID","hmsRoom","getRoom","encodedHmsRoom","encodeHmsRoom","volume","setVolume","OS","resetVolume","addEventListener","nextAppState","startScreenshare","console","log","isScreenShared","stopScreenshare","action","callback","onPreviewDelegate","onJoinDelegate","onRoomDelegate","onPeerDelegate","onTrackDelegate","onErrorDelegate","onMessageDelegate","onSpeakerDelegate","onReconnectingDelegate","onReconnectedDelegate","onRoleChangeRequestDelegate","onChangeTrackStateRequestDelegate","onRemovedFromRoomDelegate","encodeHmsLocalPeer","previewTracks","encodeHmsPreviewTracks","encodeHmsRemotePeers","encodeHmsRoles","encodeHmsPeer","encodeHmsTrack","warn","encodedRoleChangeRequest","encodeHmsRoleChangeRequest","encodeHmsChangeTrackStateRequest","requestedBy","roomEnded","build","params","trackSettings","attachPreviewListener","attachListeners","getLogger"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n NativeEventEmitter,\n NativeModules,\n Platform,\n ViewStyle,\n AppState,\n} from 'react-native';\nimport { HMSUpdateListenerActions } from './HMSUpdateListenerActions';\nimport type { HMSConfig } from './HMSConfig';\nimport type { HMSLocalPeer } from './HMSLocalPeer';\nimport type { HMSRemotePeer } from './HMSRemotePeer';\nimport type { HMSRoom } from './HMSRoom';\nimport type { HMSRole } from './HMSRole';\nimport { HMSEncoder } from './HMSEncoder';\nimport { HMSMessage } from './HMSMessage';\nimport { HMSHelper } from './HMSHelper';\nimport type { HMSTrack } from './HMSTrack';\nimport type { HMSTrackType } from './HMSTrackType';\nimport type { HMSLogger } from './HMSLogger';\nimport type { HMSPeer } from './HMSPeer';\nimport { HmsView as HMSViewComponent } from './HmsView';\nimport { HMSVideoViewMode } from './HMSVideoViewMode';\nimport type { HMSTrackSettings } from './HMSTrackSettings';\nimport type { HMSRTMPConfig } from './HMSRTMPConfig';\nimport type { HMSHLSConfig } from './HMSHLSConfig';\n\ninterface HmsComponentProps {\n trackId: string;\n sink: boolean;\n style: ViewStyle;\n mirror?: boolean;\n scaleType: HMSVideoViewMode;\n id?: string | null;\n}\n\nconst {\n /**\n * @ignore\n */\n HmsManager,\n} = NativeModules;\n\nconst HmsEventEmitter = new NativeEventEmitter(HmsManager);\n\nlet HmsSdk: HMSSDK | undefined;\n\nlet logger: HMSLogger | undefined;\n\nexport class HMSSDK {\n room?: HMSRoom;\n localPeer?: HMSLocalPeer;\n remotePeers?: HMSRemotePeer[];\n knownRoles?: HMSRole[];\n id: string;\n private muteStatus: boolean | undefined;\n appStateSubscription?: any;\n\n onPreviewDelegate?: any;\n onJoinDelegate?: any;\n onRoomDelegate?: any;\n onPeerDelegate?: any;\n onTrackDelegate?: any;\n onErrorDelegate?: any;\n onMessageDelegate?: any;\n onSpeakerDelegate?: any;\n onReconnectingDelegate?: any;\n onReconnectedDelegate?: any;\n onRoleChangeRequestDelegate?: any;\n onChangeTrackStateRequestDelegate?: any;\n onRemovedFromRoomDelegate?: any;\n\n constructor(id: string) {\n this.id = id;\n }\n\n /**\n * - Returns an instance of [HMSSDK]{@link HMSSDK}\n * - This function must be called to get an instance of HMSSDK class and only then user can interact with its methods\n *\n * @static\n * @returns\n * @memberof HMSSDK\n */\n static async build(params?: { trackSettings: HMSTrackSettings }) {\n let id = await HmsManager.build(params?.trackSettings || {});\n HmsSdk = new HMSSDK(id);\n HmsSdk.attachPreviewListener();\n HmsSdk.attachListeners();\n return HmsSdk;\n }\n\n static getLogger() {\n return logger;\n }\n\n setLogger = (hmsLogger: HMSLogger) => {\n logger = hmsLogger;\n hmsLogger.verbose('#Function setLogger', { id: this.id });\n };\n\n destroy = () => {\n this.removeListeners();\n };\n\n attachPreviewListener = () => {\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_PREVIEW,\n this.onPreviewListener\n );\n };\n\n attachListeners = () => {\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_JOIN,\n this.onJoinListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_ROOM_UPDATE,\n this.onRoomListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_PEER_UPDATE,\n this.onPeerListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_TRACK_UPDATE,\n this.onTrackListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_ERROR,\n this.onErrorListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_MESSAGE,\n this.onMessageListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_SPEAKER,\n this.onSpeakerListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.RECONNECTING,\n this.reconnectingListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.RECONNECTED,\n this.reconnectedListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST,\n this.onRoleChangeRequestListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_CHANGE_TRACK_STATE_REQUEST,\n this.onChangeTrackStateRequestListener\n );\n\n HmsEventEmitter.addListener(\n HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM,\n this.onRemovedFromRoomListener\n );\n };\n\n removeListeners = () => {\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_JOIN,\n this.onJoinListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_ROOM_UPDATE,\n this.onRoomListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_PEER_UPDATE,\n this.onPeerListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_TRACK_UPDATE,\n this.onTrackListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_ERROR,\n this.onErrorListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_MESSAGE,\n this.onMessageListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_SPEAKER,\n this.onSpeakerListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.RECONNECTING,\n this.reconnectingListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.RECONNECTED,\n this.reconnectedListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST,\n this.onRoleChangeRequestListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_CHANGE_TRACK_STATE_REQUEST,\n this.onChangeTrackStateRequestListener\n );\n\n HmsEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM,\n this.onRemovedFromRoomListener\n );\n };\n\n /**\n * takes an instance of [HMSConfig]{@link HMSConfig} and joins the room\n * after joining the room user will start receiving the events and updates of the room\n *\n * @param {HMSConfig} config\n * @memberof HMSSDK\n */\n join = async (config: HMSConfig) => {\n logger?.verbose('#Function join', { config, id: this.id });\n this.addAppStateListener();\n await HmsManager.join({ ...config, id: this.id });\n };\n\n preview = (config: HMSConfig) => {\n logger?.verbose('#Function preview', { config, id: this.id });\n HmsManager.preview({ ...config, id: this.id });\n };\n\n HmsView = ({\n sink,\n trackId,\n style,\n mirror,\n scaleType = HMSVideoViewMode.ASPECT_FIT,\n }: HmsComponentProps) => {\n return (\n <HMSViewComponent\n sink={sink}\n trackId={trackId}\n style={style}\n mirror={mirror}\n scaleType={scaleType}\n id={this.id}\n />\n );\n };\n\n /**\n * Calls leave function of native sdk and session of current user is invalidated\n *\n * @memberof HMSSDK\n */\n leave = async () => {\n logger?.verbose('#Function leave', { id: this.id });\n const data = {\n id: this.id,\n };\n\n const op = await HmsManager.leave(data);\n this.muteStatus = undefined;\n this.localPeer = undefined;\n this.remotePeers = undefined;\n this.room = undefined;\n this.knownRoles = undefined;\n this?.appStateSubscription?.remove();\n return op;\n };\n\n sendBroadcastMessage = async (message: string, type: string = 'chat') => {\n logger?.verbose('#Function sendBroadcastMessage', {\n message,\n type: type || null,\n id: this.id,\n });\n return await HmsManager.sendBroadcastMessage({\n message,\n type: type || null,\n id: this.id,\n });\n };\n\n sendGroupMessage = async (\n message: string,\n roles: HMSRole[],\n type: string = 'chat'\n ) => {\n logger?.verbose('#Function sendGroupMessage', {\n message,\n roles,\n id: this.id,\n type: type || null,\n });\n return await HmsManager.sendGroupMessage({\n message,\n roles: HMSHelper.getRoleNames(roles),\n id: this.id,\n type: type || null,\n });\n };\n\n sendDirectMessage = async (\n message: string,\n peer: HMSPeer,\n type: string = 'chat'\n ) => {\n logger?.verbose('#Function sendDirectMessage', {\n message,\n peerId: peer.peerID,\n id: this.id,\n type: type || null,\n });\n return await HmsManager.sendDirectMessage({\n message,\n peerId: peer.peerID,\n id: this.id,\n type: type || null,\n });\n };\n\n changeMetadata = (metadata: string) => {\n logger?.verbose('#Function changeMetadata', { metadata, id: this.id });\n HmsManager.changeMetadata({ metadata, id: this.id });\n };\n\n startRTMPOrRecording = async (data: HMSRTMPConfig) => {\n logger?.verbose('#Function startRTMPOrRecording', {\n ...data,\n id: this.id,\n });\n\n const op = await HmsManager.startRTMPOrRecording({ ...data, id: this.id });\n return op;\n };\n\n stopRtmpAndRecording = async () => {\n logger?.verbose('#Function stopRtmpAndRecording', {});\n const op = await HmsManager.stopRtmpAndRecording({ id: this.id });\n return op;\n };\n\n startHLSStreaming = async (data: HMSHLSConfig) => {\n logger?.verbose('#Function startHLSStreaming', {\n ...data,\n id: this.id,\n });\n return await HmsManager.startHLSStreaming({ ...data, id: this.id });\n };\n\n stopHLSStreaming = async () => {\n logger?.verbose('#Function stopHLSStreaming', {});\n return await HmsManager.stopHLSStreaming({ id: this.id });\n };\n\n changeRole = async (peer: HMSPeer, role: HMSRole, force: boolean = false) => {\n const data = {\n peerId: peer?.peerID,\n role: role?.name,\n force: force,\n id: this.id,\n };\n logger?.verbose('#Function changeRole', data);\n return await HmsManager.changeRole(data);\n };\n\n changeTrackState = async (track: HMSTrack, mute: boolean) => {\n logger?.verbose('#Function changeTrackState', {\n track,\n mute,\n id: this.id,\n });\n const data = {\n trackId: track.trackId,\n mute,\n id: this.id,\n };\n\n return await HmsManager.changeTrackState(data);\n };\n\n changeTrackStateForRoles = async (\n mute: boolean,\n type?: HMSTrackType,\n source?: string,\n roles?: Array<HMSRole>\n ) => {\n let roleNames = null;\n if (roles) {\n roleNames = HMSHelper.getRoleNames(roles);\n }\n logger?.verbose('#Function changeTrackStateRoles', {\n source,\n mute,\n type,\n roles,\n id: this.id,\n });\n const data = {\n source,\n mute,\n type,\n roles: roleNames,\n id: this.id,\n };\n\n return await HmsManager.changeTrackStateForRoles(data);\n };\n\n removePeer = async (peer: HMSPeer, reason: string) => {\n logger?.verbose('#Function removePeer', {\n peerId: peer.peerID,\n reason,\n id: this.id,\n });\n const data = {\n peerId: peer.peerID,\n reason,\n id: this.id,\n };\n\n return await HmsManager.removePeer(data);\n };\n\n endRoom = async (reason: string, lock: boolean = false) => {\n logger?.verbose('#Function endRoom', { lock, reason, id: this.id });\n const data = {\n lock,\n reason,\n id: this.id,\n };\n\n return await HmsManager.endRoom(data);\n };\n\n acceptRoleChange = async () => {\n logger?.verbose('#Function acceptRoleChange', { id: this.id });\n return await HmsManager.acceptRoleChange({ id: this.id });\n };\n\n muteAllPeersAudio = (mute: boolean) => {\n logger?.verbose('#Function muteAllPeersAudio', { mute, id: this.id });\n this.muteStatus = mute;\n HmsManager.muteAllPeersAudio({ mute, id: this.id });\n };\n\n getRoom = async () => {\n logger?.verbose('#Function getRoom', {\n roomID: this.room?.id,\n id: this.id,\n });\n const hmsRoom = await HmsManager.getRoom({ id: this.id });\n\n const encodedHmsRoom = HMSEncoder.encodeHmsRoom(hmsRoom, this.id);\n return encodedHmsRoom;\n };\n\n setVolume = (track: HMSTrack, volume: number) => {\n logger?.verbose('#Function setVolume', {\n track,\n volume,\n id: this.id,\n });\n HmsManager.setVolume({\n id: this.id,\n trackId: track.trackId,\n volume,\n });\n };\n\n resetVolume = () => {\n logger?.verbose('#Function resetVolume', { id: this.id });\n if (Platform.OS === 'android') HmsManager.resetVolume({ id: this.id });\n };\n\n addAppStateListener = () => {\n logger?.verbose('#Function addAppStateListener', { id: this.id });\n this.appStateSubscription = AppState.addEventListener(\n 'change',\n (nextAppState) => {\n if (nextAppState === 'active' && Platform.OS === 'android') {\n this.resetVolume();\n }\n }\n );\n };\n\n startScreenshare = () => {\n logger?.verbose('#Function startScreenshare', { id: this.id });\n if (Platform.OS === 'android') {\n HmsManager.startScreenshare({ id: this.id });\n } else {\n console.log('API currently not avaialble for iOS');\n }\n };\n\n isScreenShared = async () => {\n logger?.verbose('#Function isScreenShared', { id: this.id });\n if (Platform.OS === 'android') {\n return await HmsManager.isScreenShared({ id: this.id });\n } else {\n console.log('API currently not avaialble for iOS');\n return 'API currently not avaialble for iOS';\n }\n };\n\n stopScreenshare = async () => {\n logger?.verbose('#Function stopScreenshare', { id: this.id });\n if (Platform.OS === 'android') {\n return await HmsManager.stopScreenshare({ id: this.id });\n } else {\n console.log('API currently not avaialble for iOS');\n return 'API currently not avaialble for iOS';\n }\n };\n\n /**\n * - This is a prototype event listener that takes action and listens for updates related to that particular action\n * - This method will be @deprecated in future and event listener will be passed in join method\n *\n * @param {string} action\n * @param {*} callback\n * @memberof HMSSDK\n */\n addEventListener = (action: HMSUpdateListenerActions, callback: any) => {\n logger?.verbose('#Function addEventListener', {\n action,\n id: this.id,\n });\n switch (action) {\n case HMSUpdateListenerActions.ON_PREVIEW:\n this.onPreviewDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_JOIN:\n this.onJoinDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_ROOM_UPDATE:\n this.onRoomDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_PEER_UPDATE:\n this.onPeerDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_TRACK_UPDATE:\n this.onTrackDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_ERROR:\n this.onErrorDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_MESSAGE:\n this.onMessageDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_SPEAKER:\n this.onSpeakerDelegate = callback;\n break;\n case HMSUpdateListenerActions.RECONNECTING:\n this.onReconnectingDelegate = callback;\n break;\n case HMSUpdateListenerActions.RECONNECTED:\n this.onReconnectedDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST:\n this.onRoleChangeRequestDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_CHANGE_TRACK_STATE_REQUEST:\n this.onChangeTrackStateRequestDelegate = callback;\n break;\n case HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM:\n this.onRemovedFromRoomDelegate = callback;\n break;\n default:\n }\n };\n\n /**\n * - This is a prototype event listener that takes action and listens for updates related to that particular action\n * - This method will be @deprecated in future and event listener will be passed in join method\n *\n * @param {string} action\n * @param {*} callback\n * @memberof HMSSDK\n */\n removeEventListener = (action: HMSUpdateListenerActions) => {\n logger?.verbose('#Function removeEventListener', { action, id: this.id });\n switch (action) {\n case HMSUpdateListenerActions.ON_PREVIEW:\n this.onPreviewDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_JOIN:\n this.onJoinDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_ROOM_UPDATE:\n this.onRoomDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_PEER_UPDATE:\n this.onPeerDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_TRACK_UPDATE:\n this.onTrackDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_ERROR:\n this.onErrorDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_MESSAGE:\n this.onMessageDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_SPEAKER:\n this.onSpeakerDelegate = null;\n break;\n case HMSUpdateListenerActions.RECONNECTING:\n this.onReconnectingDelegate = null;\n break;\n case HMSUpdateListenerActions.RECONNECTED:\n this.onReconnectedDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST:\n this.onRoleChangeRequestDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_CHANGE_TRACK_STATE_REQUEST:\n this.onChangeTrackStateRequestDelegate = null;\n break;\n case HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM:\n this.onRemovedFromRoomDelegate = null;\n break;\n default:\n }\n };\n\n /**\n * removes all the listeners\n *\n * @memberof HMSSDK\n */\n removeAllListeners = () => {\n this.onPreviewDelegate = null;\n this.onJoinDelegate = null;\n this.onRoomDelegate = null;\n this.onPeerDelegate = null;\n this.onTrackDelegate = null;\n this.onErrorDelegate = null;\n this.onMessageDelegate = null;\n this.onSpeakerDelegate = null;\n this.onReconnectingDelegate = null;\n this.onReconnectedDelegate = null;\n this.onRoleChangeRequestDelegate = null;\n this.onChangeTrackStateRequestDelegate = null;\n this.onRemovedFromRoomDelegate = null;\n\n logger?.verbose('#Function REMOVE_ALL_LISTENER', { id: this.id });\n };\n\n onPreviewListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_PREVIEW', data);\n const room: HMSRoom = HMSEncoder.encodeHmsRoom(data.room, this.id);\n const localPeer: HMSLocalPeer = HMSEncoder.encodeHmsLocalPeer(\n data.localPeer,\n this.id\n );\n\n const previewTracks = HMSEncoder.encodeHmsPreviewTracks(data.previewTracks);\n\n this.localPeer = localPeer;\n this.room = room;\n if (this.onPreviewDelegate) {\n logger?.verbose('#Listener ON_PREVIEW_LISTENER_CALL', {\n ...data,\n room,\n localPeer,\n previewTracks,\n });\n this.onPreviewDelegate({ ...data, room, localPeer, previewTracks });\n }\n };\n\n onJoinListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#LISTENER ON_JOIN', data);\n // Preprocessing\n const room: HMSRoom = HMSEncoder.encodeHmsRoom(data.room, this.id);\n const localPeer: HMSLocalPeer = HMSEncoder.encodeHmsLocalPeer(\n data.localPeer,\n this.id\n );\n const remotePeers: HMSRemotePeer[] = HMSEncoder.encodeHmsRemotePeers(\n data.remotePeers,\n this.id\n );\n const roles: HMSRole[] = HMSEncoder.encodeHmsRoles(data.roles);\n this.room = room;\n this.localPeer = localPeer;\n this.remotePeers = remotePeers;\n this.knownRoles = roles;\n if (this.onJoinDelegate) {\n logger?.verbose('#Listener ON_JOIN_LISTENER_CALL', {\n ...data,\n room,\n localPeer,\n remotePeers,\n });\n this.onJoinDelegate({ ...data, room, localPeer, remotePeers });\n }\n };\n\n onRoomListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_ROOM', data);\n const room: HMSRoom = HMSEncoder.encodeHmsRoom(data.room, this.id);\n const localPeer: HMSLocalPeer = HMSEncoder.encodeHmsLocalPeer(\n data.localPeer,\n this.id\n );\n const remotePeers: HMSRemotePeer[] = HMSEncoder.encodeHmsRemotePeers(\n data.remotePeers,\n this.id\n );\n this.room = room;\n this.localPeer = localPeer;\n this.remotePeers = remotePeers;\n if (this.onRoomDelegate) {\n logger?.verbose('#Listener ON_ROOM_LISTENER_CALL', {\n ...data,\n room,\n localPeer,\n remotePeers,\n });\n this.onRoomDelegate({ ...data, room, localPeer, remotePeers });\n }\n };\n\n onPeerListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_PEER', data);\n const peer: HMSPeer = HMSEncoder.encodeHmsPeer(data.peer, this.id);\n const room: HMSRoom = HMSEncoder.encodeHmsRoom(data.room, this.id);\n const localPeer: HMSLocalPeer = HMSEncoder.encodeHmsLocalPeer(\n data.localPeer,\n this.id\n );\n const remotePeers: HMSRemotePeer[] = HMSEncoder.encodeHmsRemotePeers(\n data.remotePeers,\n this.id\n );\n // this.room = room;\n this.localPeer = localPeer;\n this.remotePeers = remotePeers;\n this.room = room;\n if (this.onPeerDelegate) {\n logger?.verbose('#Listener ON_PEER_LISTENER_CALL', data);\n this.onPeerDelegate({ ...data, localPeer, remotePeers, room, peer });\n }\n };\n\n onTrackListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_TRACK', data);\n const track: HMSTrack = HMSEncoder.encodeHmsTrack(data.track, this.id);\n const peer: HMSPeer = HMSEncoder.encodeHmsPeer(data.peer, this.id);\n const room: HMSRoom = HMSEncoder.encodeHmsRoom(data.room, this.id);\n const localPeer: HMSLocalPeer = HMSEncoder.encodeHmsLocalPeer(\n data.localPeer,\n this.id\n );\n const remotePeers: HMSRemotePeer[] = HMSEncoder.encodeHmsRemotePeers(\n data.remotePeers,\n this.id\n );\n if (this.muteStatus && data?.type === 'TRACK_ADDED') {\n this.muteAllPeersAudio(this.muteStatus);\n }\n this.room = room;\n this.localPeer = localPeer;\n this.remotePeers = remotePeers;\n if (this.onTrackDelegate) {\n logger?.verbose('#Listener ON_TRACK_LISTENER_CALL', data);\n this.onTrackDelegate({\n ...data,\n localPeer,\n remotePeers,\n room,\n peer,\n track,\n });\n }\n };\n\n onMessageListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_MESSAGE', data);\n const message = new HMSMessage(data);\n if (this.onMessageDelegate) {\n logger?.verbose('#Listener ON_MESSAGE_LISTENER_CALL', message);\n this.onMessageDelegate(message);\n }\n };\n\n onSpeakerListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_SPEAKER', data);\n if (this.onSpeakerDelegate) {\n logger?.verbose('#Listener ON_SPEAKER_LISTENER_CALL', data);\n this.onSpeakerDelegate(data);\n }\n };\n\n onErrorListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.warn('#Listener ON_ERROR', data);\n logger?.verbose('#Listener ON_ERROR', data);\n if (this.onErrorDelegate) {\n logger?.verbose('#Listener ON_ERROR_LISTENER_CALL', data);\n logger?.warn('#Listener ON_ERROR_LISTENER_CALL', data);\n this.onErrorDelegate(data);\n }\n };\n\n onRoleChangeRequestListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_ROLE_CHANGE_REQUEST', data);\n if (this.onRoleChangeRequestDelegate) {\n const encodedRoleChangeRequest = HMSEncoder.encodeHmsRoleChangeRequest(\n data,\n this.id\n );\n logger?.verbose(\n '#Listener ON_ROLE_CHANGE_LISTENER_CALL',\n encodedRoleChangeRequest\n );\n this.onRoleChangeRequestDelegate(encodedRoleChangeRequest);\n }\n };\n\n onChangeTrackStateRequestListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_CHANGE_TRACK_STATE_REQUEST', data);\n if (this.onChangeTrackStateRequestDelegate) {\n const encodedRoleChangeRequest =\n HMSEncoder.encodeHmsChangeTrackStateRequest(data, this.id);\n logger?.verbose(\n '#Listener ON_CHANGE_TRACK_STATE_REQUEST_LISTENER_CALL',\n encodedRoleChangeRequest\n );\n this.onChangeTrackStateRequestDelegate(encodedRoleChangeRequest);\n }\n };\n\n onRemovedFromRoomListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_REMOVED_FROM_ROOM', data);\n if (this.onRemovedFromRoomDelegate) {\n let requestedBy = null;\n if (data.requestedBy) {\n requestedBy = HMSEncoder.encodeHmsPeer(data.requestedBy, this.id);\n }\n const reason = data.reason;\n const roomEnded = data.roomEnded;\n\n logger?.verbose('#Listener ON_REMOVED_FROM_ROOM_LISTENER_CALL', {\n requestedBy,\n reason,\n roomEnded,\n id: this.id,\n });\n this.onRemovedFromRoomDelegate({ requestedBy, reason, roomEnded });\n }\n };\n\n reconnectingListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_RECONNECTING', data);\n if (this.onReconnectingDelegate) {\n this.onReconnectingDelegate(data);\n }\n };\n\n reconnectedListener = (data: any) => {\n if (data.id !== this.id) {\n return;\n }\n logger?.verbose('#Listener ON_RECONNECTED', data);\n if (this.onReconnectedDelegate) {\n this.onReconnectedDelegate(data);\n }\n };\n}\n"]}
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
- import { requireNativeComponent } from 'react-native';
1
+ import React, { useState, useEffect } from 'react';
2
+ import { requireNativeComponent, StyleSheet } from 'react-native';
3
3
  import { HMSVideoViewMode } from '../classes/HMSVideoViewMode';
4
4
  const HmsViewComponent = requireNativeComponent('HmsView');
5
5
  export const HmsView = _ref => {
@@ -9,18 +9,37 @@ export const HmsView = _ref => {
9
9
  style,
10
10
  id,
11
11
  mirror,
12
- scaleType = HMSVideoViewMode.ASPECT_FIT
12
+ scaleType = HMSVideoViewMode.ASPECT_FILL
13
13
  } = _ref;
14
+ const [tempVal, setTempVal] = useState(0);
14
15
  const data = {
15
16
  trackId,
16
17
  sink,
17
18
  id: id || null,
18
19
  mirror: mirror || false
19
20
  };
21
+
22
+ const onChange = values => {
23
+ console.log(values, 'values');
24
+ setTimeout(() => {
25
+ setTempVal(1);
26
+ }, 2000);
27
+ };
28
+
29
+ useEffect(() => {
30
+ setTempVal(0);
31
+ }, [tempVal]);
20
32
  return /*#__PURE__*/React.createElement(HmsViewComponent, {
33
+ onChange: onChange,
21
34
  data: data,
22
- style: style,
35
+ style: tempVal === 0 ? style : temporaryStyles.customStyle,
23
36
  scaleType: scaleType
24
37
  });
25
38
  };
39
+ const temporaryStyles = StyleSheet.create({
40
+ customStyle: {
41
+ width: '100%',
42
+ height: '50%'
43
+ }
44
+ });
26
45
  //# sourceMappingURL=HmsView.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["HmsView.tsx"],"names":["React","requireNativeComponent","HMSVideoViewMode","HmsViewComponent","HmsView","sink","trackId","style","id","mirror","scaleType","ASPECT_FIT","data"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,sBAAT,QAAkD,cAAlD;AACA,SAASC,gBAAT,QAAiC,6BAAjC;AAYA,MAAMC,gBAAgB,GAAGF,sBAAsB,CAAe,SAAf,CAA/C;AAWA,OAAO,MAAMG,OAAO,GAAG,QAOE;AAAA,MAPD;AACtBC,IAAAA,IADsB;AAEtBC,IAAAA,OAFsB;AAGtBC,IAAAA,KAHsB;AAItBC,IAAAA,EAJsB;AAKtBC,IAAAA,MALsB;AAMtBC,IAAAA,SAAS,GAAGR,gBAAgB,CAACS;AANP,GAOC;AACvB,QAAMC,IAAI,GAAG;AACXN,IAAAA,OADW;AAEXD,IAAAA,IAFW;AAGXG,IAAAA,EAAE,EAAEA,EAAE,IAAI,IAHC;AAIXC,IAAAA,MAAM,EAAEA,MAAM,IAAI;AAJP,GAAb;AAOA,sBAAO,oBAAC,gBAAD;AAAkB,IAAA,IAAI,EAAEG,IAAxB;AAA8B,IAAA,KAAK,EAAEL,KAArC;AAA4C,IAAA,SAAS,EAAEG;AAAvD,IAAP;AACD,CAhBM","sourcesContent":["import React from 'react';\nimport { requireNativeComponent, ViewStyle } from 'react-native';\nimport { HMSVideoViewMode } from '../classes/HMSVideoViewMode';\ninterface HmsViewProps {\n data: {\n trackId: string;\n sink: boolean;\n id?: string | null;\n mirror?: boolean;\n };\n scaleType: HMSVideoViewMode;\n style: ViewStyle;\n}\n\nconst HmsViewComponent = requireNativeComponent<HmsViewProps>('HmsView');\n\ninterface HmsComponentProps {\n trackId: string;\n sink: boolean;\n style: ViewStyle;\n mirror?: boolean;\n scaleType: HMSVideoViewMode;\n id?: string | null;\n}\n\nexport const HmsView = ({\n sink,\n trackId,\n style,\n id,\n mirror,\n scaleType = HMSVideoViewMode.ASPECT_FIT,\n}: HmsComponentProps) => {\n const data = {\n trackId,\n sink,\n id: id || null,\n mirror: mirror || false,\n };\n\n return <HmsViewComponent data={data} style={style} scaleType={scaleType} />;\n};\n"]}
1
+ {"version":3,"sources":["HmsView.tsx"],"names":["React","useState","useEffect","requireNativeComponent","StyleSheet","HMSVideoViewMode","HmsViewComponent","HmsView","sink","trackId","style","id","mirror","scaleType","ASPECT_FILL","tempVal","setTempVal","data","onChange","values","console","log","setTimeout","temporaryStyles","customStyle","create","width","height"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AACA,SAASC,sBAAT,EAAiCC,UAAjC,QAA8D,cAA9D;AACA,SAASC,gBAAT,QAAiC,6BAAjC;AAcA,MAAMC,gBAAgB,GAAGH,sBAAsB,CAAe,SAAf,CAA/C;AAWA,OAAO,MAAMI,OAAO,GAAG,QAOE;AAAA,MAPD;AACtBC,IAAAA,IADsB;AAEtBC,IAAAA,OAFsB;AAGtBC,IAAAA,KAHsB;AAItBC,IAAAA,EAJsB;AAKtBC,IAAAA,MALsB;AAMtBC,IAAAA,SAAS,GAAGR,gBAAgB,CAACS;AANP,GAOC;AACvB,QAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBf,QAAQ,CAAC,CAAD,CAAtC;AACA,QAAMgB,IAAI,GAAG;AACXR,IAAAA,OADW;AAEXD,IAAAA,IAFW;AAGXG,IAAAA,EAAE,EAAEA,EAAE,IAAI,IAHC;AAIXC,IAAAA,MAAM,EAAEA,MAAM,IAAI;AAJP,GAAb;;AAOA,QAAMM,QAAQ,GAAIC,MAAD,IAAiB;AAChCC,IAAAA,OAAO,CAACC,GAAR,CAAYF,MAAZ,EAAoB,QAApB;AACAG,IAAAA,UAAU,CAAC,MAAM;AACfN,MAAAA,UAAU,CAAC,CAAD,CAAV;AACD,KAFS,EAEP,IAFO,CAAV;AAGD,GALD;;AAOAd,EAAAA,SAAS,CAAC,MAAM;AACdc,IAAAA,UAAU,CAAC,CAAD,CAAV;AACD,GAFQ,EAEN,CAACD,OAAD,CAFM,CAAT;AAIA,sBACE,oBAAC,gBAAD;AACE,IAAA,QAAQ,EAAEG,QADZ;AAEE,IAAA,IAAI,EAAED,IAFR;AAGE,IAAA,KAAK,EAAEF,OAAO,KAAK,CAAZ,GAAgBL,KAAhB,GAAwBa,eAAe,CAACC,WAHjD;AAIE,IAAA,SAAS,EAAEX;AAJb,IADF;AAQD,CAnCM;AAqCP,MAAMU,eAAe,GAAGnB,UAAU,CAACqB,MAAX,CAAkB;AACxCD,EAAAA,WAAW,EAAE;AACXE,IAAAA,KAAK,EAAE,MADI;AAEXC,IAAAA,MAAM,EAAE;AAFG;AAD2B,CAAlB,CAAxB","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { requireNativeComponent, StyleSheet, ViewStyle } from 'react-native';\nimport { HMSVideoViewMode } from '../classes/HMSVideoViewMode';\n\ninterface HmsViewProps {\n data: {\n trackId: string;\n sink: boolean;\n id?: string | null;\n mirror?: boolean;\n };\n scaleType: HMSVideoViewMode;\n style: ViewStyle;\n onChange: Function;\n}\n\nconst HmsViewComponent = requireNativeComponent<HmsViewProps>('HmsView');\n\ninterface HmsComponentProps {\n trackId: string;\n sink: boolean;\n style: ViewStyle;\n mirror?: boolean;\n scaleType: HMSVideoViewMode;\n id?: string | null;\n}\n\nexport const HmsView = ({\n sink,\n trackId,\n style,\n id,\n mirror,\n scaleType = HMSVideoViewMode.ASPECT_FILL,\n}: HmsComponentProps) => {\n const [tempVal, setTempVal] = useState(0);\n const data = {\n trackId,\n sink,\n id: id || null,\n mirror: mirror || false,\n };\n\n const onChange = (values: any) => {\n console.log(values, 'values');\n setTimeout(() => {\n setTempVal(1);\n }, 2000);\n };\n\n useEffect(() => {\n setTempVal(0);\n }, [tempVal]);\n\n return (\n <HmsViewComponent\n onChange={onChange}\n data={data}\n style={tempVal === 0 ? style : temporaryStyles.customStyle}\n scaleType={scaleType}\n />\n );\n};\n\nconst temporaryStyles = StyleSheet.create({\n customStyle: {\n width: '100%',\n height: '50%',\n },\n});\n"]}
@@ -46,6 +46,10 @@ export * from './classes/HMSRtmpStreamingState';
46
46
  export * from './classes/HMSServerRecordingState';
47
47
  export * from './classes/HMSBrowserRecordingState';
48
48
  export * from './classes/HMSRTMPConfig';
49
+ export * from './classes/HMSHLSConfig';
50
+ export * from './classes/HMSHLSMeetingURLVariant';
51
+ export * from './classes/HMSHLSVariant';
52
+ export * from './classes/HMSHLSStreamingState';
49
53
  export * from './classes/HMSVideoResolution';
50
54
  import { HMSSDK as HmsManager } from './classes/HMSSDK';
51
55
  export default HmsManager;
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["HMSSDK","HmsManager"],"mappings":"AAAA,cAAc,qBAAd;AACA,cAAc,oCAAd;AACA,cAAc,sBAAd;AACA,cAAc,mBAAd;AACA,cAAc,iCAAd;AACA,cAAc,yBAAd;AACA,cAAc,4BAAd;AACA,cAAc,yBAAd;AACA,cAAc,4BAAd;AACA,cAAc,oBAAd;AACA,cAAc,wBAAd;AACA,cAAc,gCAAd;AACA,cAAc,gCAAd;AACA,cAAc,qCAAd;AACA,cAAc,kBAAd;AACA,cAAc,mBAAd;AACA,cAAc,gCAAd;AACA,cAAc,mBAAd;AACA,cAAc,+BAAd;AACA,cAAc,yBAAd;AACA,cAAc,+BAAd;AACA,cAAc,8BAAd;AACA,cAAc,0BAAd;AACA,cAAc,mBAAd;AACA,cAAc,8BAAd;AACA,cAAc,wBAAd;AACA,cAAc,8BAAd;AACA,cAAc,qBAAd;AACA,cAAc,sBAAd;AACA,cAAc,iCAAd;AACA,cAAc,yBAAd;AACA,cAAc,4BAAd;AACA,cAAc,yBAAd;AACA,cAAc,yBAAd;AACA,cAAc,yBAAd;AACA,cAAc,0BAAd;AACA,cAAc,qBAAd;AACA,cAAc,uBAAd;AACA,cAAc,4BAAd;AACA,cAAc,sCAAd;AACA,cAAc,sBAAd;AACA,cAAc,4BAAd;AACA,cAAc,2BAAd;AACA,cAAc,wBAAd;AACA,cAAc,iCAAd;AACA,cAAc,mCAAd;AACA,cAAc,oCAAd;AACA,cAAc,yBAAd;AACA,cAAc,8BAAd;AAEA,SAASA,MAAM,IAAIC,UAAnB,QAAqC,kBAArC;AACA,eAAeA,UAAf","sourcesContent":["export * from './classes/HMSConfig';\nexport * from './classes/HMSUpdateListenerActions';\nexport * from './classes/HMSMessage';\nexport * from './classes/HmsView';\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/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/HMSSpeakerUpdate';\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/HMSVideoResolution';\n\nimport { HMSSDK as HmsManager } from './classes/HMSSDK';\nexport default HmsManager;\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":["HMSSDK","HmsManager"],"mappings":"AAAA,cAAc,qBAAd;AACA,cAAc,oCAAd;AACA,cAAc,sBAAd;AACA,cAAc,mBAAd;AACA,cAAc,iCAAd;AACA,cAAc,yBAAd;AACA,cAAc,4BAAd;AACA,cAAc,yBAAd;AACA,cAAc,4BAAd;AACA,cAAc,oBAAd;AACA,cAAc,wBAAd;AACA,cAAc,gCAAd;AACA,cAAc,gCAAd;AACA,cAAc,qCAAd;AACA,cAAc,kBAAd;AACA,cAAc,mBAAd;AACA,cAAc,gCAAd;AACA,cAAc,mBAAd;AACA,cAAc,+BAAd;AACA,cAAc,yBAAd;AACA,cAAc,+BAAd;AACA,cAAc,8BAAd;AACA,cAAc,0BAAd;AACA,cAAc,mBAAd;AACA,cAAc,8BAAd;AACA,cAAc,wBAAd;AACA,cAAc,8BAAd;AACA,cAAc,qBAAd;AACA,cAAc,sBAAd;AACA,cAAc,iCAAd;AACA,cAAc,yBAAd;AACA,cAAc,4BAAd;AACA,cAAc,yBAAd;AACA,cAAc,yBAAd;AACA,cAAc,yBAAd;AACA,cAAc,0BAAd;AACA,cAAc,qBAAd;AACA,cAAc,uBAAd;AACA,cAAc,4BAAd;AACA,cAAc,sCAAd;AACA,cAAc,sBAAd;AACA,cAAc,4BAAd;AACA,cAAc,2BAAd;AACA,cAAc,wBAAd;AACA,cAAc,iCAAd;AACA,cAAc,mCAAd;AACA,cAAc,oCAAd;AACA,cAAc,yBAAd;AACA,cAAc,wBAAd;AACA,cAAc,mCAAd;AACA,cAAc,yBAAd;AACA,cAAc,gCAAd;AACA,cAAc,8BAAd;AAEA,SAASA,MAAM,IAAIC,UAAnB,QAAqC,kBAArC;AACA,eAAeA,UAAf","sourcesContent":["export * from './classes/HMSConfig';\nexport * from './classes/HMSUpdateListenerActions';\nexport * from './classes/HMSMessage';\nexport * from './classes/HmsView';\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/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/HMSSpeakerUpdate';\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';\n\nimport { HMSSDK as HmsManager } from './classes/HMSSDK';\nexport default HmsManager;\n"]}
@@ -0,0 +1,7 @@
1
+ import type { HMSHLSMeetingURLVariant } from './HMSHLSMeetingURLVariant';
2
+ export declare class HMSHLSConfig {
3
+ meetingURLVariants?: Array<HMSHLSMeetingURLVariant>;
4
+ constructor(params: {
5
+ meetingURLVariants?: Array<HMSHLSMeetingURLVariant>;
6
+ });
7
+ }
@@ -0,0 +1,8 @@
1
+ export declare class HMSHLSMeetingURLVariant {
2
+ meetingUrl: string;
3
+ metadata: string;
4
+ constructor(params: {
5
+ meetingUrl: string;
6
+ metadata: string;
7
+ });
8
+ }
@@ -0,0 +1,9 @@
1
+ import type { HMSHLSVariant } from './HMSHLSVariant';
2
+ export declare class HMSHLSStreamingState {
3
+ running: boolean;
4
+ variants: Array<HMSHLSVariant>;
5
+ constructor(params: {
6
+ running: boolean;
7
+ variants: Array<HMSHLSVariant>;
8
+ });
9
+ }
@@ -0,0 +1,12 @@
1
+ export declare class HMSHLSVariant {
2
+ hlsStreamUrl: string;
3
+ meetingUrl: string;
4
+ metadata: string;
5
+ startedAt: number;
6
+ constructor(params: {
7
+ hlsStreamUrl: string;
8
+ meetingUrl: string;
9
+ metadata: string;
10
+ startedAt: number;
11
+ });
12
+ }
@@ -4,6 +4,7 @@ export declare class HMSLogger {
4
4
  private _warning;
5
5
  private _error;
6
6
  private logs;
7
+ private onLog?;
7
8
  constructor(params?: {
8
9
  verbose: boolean;
9
10
  warning: boolean;
@@ -18,5 +19,6 @@ export declare class HMSLogger {
18
19
  data: any;
19
20
  id: string;
20
21
  }[];
22
+ setLogListener(callback: Function): void;
21
23
  updateLogLevel(level: HMSLogLevel, value: boolean): void;
22
24
  }
@@ -2,6 +2,7 @@ import type { HMSPeer } from './HMSPeer';
2
2
  import type { HMSRtmpStreamingState } from './HMSRtmpStreamingState';
3
3
  import type { HMSServerRecordingState } from './HMSServerRecordingState';
4
4
  import type { HMSBrowserRecordingState } from './HMSBrowserRecordingState';
5
+ import type { HMSHLSStreamingState } from './HMSHLSStreamingState';
5
6
  export declare class HMSRoom {
6
7
  id: string;
7
8
  name: string;
@@ -10,6 +11,7 @@ export declare class HMSRoom {
10
11
  browserRecordingState: HMSBrowserRecordingState;
11
12
  rtmpHMSRtmpStreamingState: HMSRtmpStreamingState;
12
13
  serverRecordingState: HMSServerRecordingState;
14
+ hlsStreamingState: HMSHLSStreamingState;
13
15
  constructor(params: {
14
16
  id: string;
15
17
  name: string;
@@ -18,5 +20,6 @@ export declare class HMSRoom {
18
20
  browserRecordingState: HMSBrowserRecordingState;
19
21
  rtmpHMSRtmpStreamingState: HMSRtmpStreamingState;
20
22
  serverRecordingState: HMSServerRecordingState;
23
+ hlsStreamingState: HMSHLSStreamingState;
21
24
  });
22
25
  }
@@ -1,4 +1,10 @@
1
1
  export declare enum HMSRoomUpdate {
2
2
  ROOM_MUTED = "ROOM_MUTED",
3
- ROOM_UNMUTED = "ROOM_UNMUTED"
3
+ ROOM_UNMUTED = "ROOM_UNMUTED",
4
+ ROOM_TYPE_CHANGED = "ROOM_TYPE_CHANGED",
5
+ META_DATA_CHANGED = "META_DATA_CHANGED",
6
+ SERVER_RECORDING_STATE_UPDATED = "SERVER_RECORDING_STATE_UPDATED",
7
+ RTMP_STREAMING_STATE_UPDATED = "RTMP_STREAMING_STATE_UPDATED",
8
+ BROWSER_RECORDING_STATE_UPDATED = "BROWSER_RECORDING_STATE_UPDATED",
9
+ HLS_STREAMING_STATE_UPDATED = "HLS_STREAMING_STATE_UPDATED"
4
10
  }
@@ -13,6 +13,7 @@ import type { HMSPeer } from './HMSPeer';
13
13
  import { HMSVideoViewMode } from './HMSVideoViewMode';
14
14
  import type { HMSTrackSettings } from './HMSTrackSettings';
15
15
  import type { HMSRTMPConfig } from './HMSRTMPConfig';
16
+ import type { HMSHLSConfig } from './HMSHLSConfig';
16
17
  interface HmsComponentProps {
17
18
  trackId: string;
18
19
  sink: boolean;
@@ -28,6 +29,7 @@ export declare class HMSSDK {
28
29
  knownRoles?: HMSRole[];
29
30
  id: string;
30
31
  private muteStatus;
32
+ appStateSubscription?: any;
31
33
  onPreviewDelegate?: any;
32
34
  onJoinDelegate?: any;
33
35
  onRoomDelegate?: any;
@@ -51,7 +53,7 @@ export declare class HMSSDK {
51
53
  * @memberof HMSSDK
52
54
  */
53
55
  static build(params?: {
54
- trackSettings?: HMSTrackSettings;
56
+ trackSettings: HMSTrackSettings;
55
57
  }): Promise<HMSSDK>;
56
58
  static getLogger(): HMSLogger | undefined;
57
59
  setLogger: (hmsLogger: HMSLogger) => void;
@@ -75,21 +77,28 @@ export declare class HMSSDK {
75
77
  * @memberof HMSSDK
76
78
  */
77
79
  leave: () => Promise<any>;
78
- sendBroadcastMessage: (message: string, type?: string | undefined) => Promise<any>;
79
- sendGroupMessage: (message: string, roles: HMSRole[], type?: string | undefined) => Promise<any>;
80
- sendDirectMessage: (message: string, peerId: string, type?: string | undefined) => Promise<any>;
80
+ sendBroadcastMessage: (message: string, type?: string) => Promise<any>;
81
+ sendGroupMessage: (message: string, roles: HMSRole[], type?: string) => Promise<any>;
82
+ sendDirectMessage: (message: string, peer: HMSPeer, type?: string) => Promise<any>;
81
83
  changeMetadata: (metadata: string) => void;
82
84
  startRTMPOrRecording: (data: HMSRTMPConfig) => Promise<any>;
83
85
  stopRtmpAndRecording: () => Promise<any>;
86
+ startHLSStreaming: (data: HMSHLSConfig) => Promise<any>;
87
+ stopHLSStreaming: () => Promise<any>;
84
88
  changeRole: (peer: HMSPeer, role: HMSRole, force?: boolean) => Promise<any>;
85
89
  changeTrackState: (track: HMSTrack, mute: boolean) => Promise<any>;
86
- changeTrackStateRoles: (type: HMSTrackType, mute: boolean, source: string, roles: Array<HMSRole>) => Promise<any>;
87
- removePeer: (peerId: string, reason: string) => Promise<any>;
88
- endRoom: (lock: boolean, reason: string) => Promise<any>;
90
+ changeTrackStateForRoles: (mute: boolean, type?: HMSTrackType | undefined, source?: string | undefined, roles?: HMSRole[] | undefined) => Promise<any>;
91
+ removePeer: (peer: HMSPeer, reason: string) => Promise<any>;
92
+ endRoom: (reason: string, lock?: boolean) => Promise<any>;
89
93
  acceptRoleChange: () => Promise<any>;
90
94
  muteAllPeersAudio: (mute: boolean) => void;
91
95
  getRoom: () => Promise<HMSRoom>;
92
96
  setVolume: (track: HMSTrack, volume: number) => void;
97
+ resetVolume: () => void;
98
+ addAppStateListener: () => void;
99
+ startScreenshare: () => void;
100
+ isScreenShared: () => Promise<any>;
101
+ stopScreenshare: () => Promise<any>;
93
102
  /**
94
103
  * - This is a prototype event listener that takes action and listens for updates related to that particular action
95
104
  * - This method will be @deprecated in future and event listener will be passed in join method
@@ -46,6 +46,10 @@ export * from './classes/HMSRtmpStreamingState';
46
46
  export * from './classes/HMSServerRecordingState';
47
47
  export * from './classes/HMSBrowserRecordingState';
48
48
  export * from './classes/HMSRTMPConfig';
49
+ export * from './classes/HMSHLSConfig';
50
+ export * from './classes/HMSHLSMeetingURLVariant';
51
+ export * from './classes/HMSHLSVariant';
52
+ export * from './classes/HMSHLSStreamingState';
49
53
  export * from './classes/HMSVideoResolution';
50
54
  import { HMSSDK as HmsManager } from './classes/HMSSDK';
51
55
  export default HmsManager;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@100mslive/react-native-hms",
3
- "version": "0.8.4",
3
+ "version": "0.9.0",
4
4
  "description": "The React Native package for 100ms SDK",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -95,7 +95,6 @@
95
95
  "prettier": "^2.0.5",
96
96
  "react-native-builder-bob": "^0.18.0",
97
97
  "release-it": "^14.2.2",
98
- "typedoc": "^0.22.10",
99
98
  "typescript": "^4.1.3"
100
99
  },
101
100
  "peerDependencies": {
@@ -16,5 +16,5 @@ Pod::Spec.new do |s|
16
16
  s.source_files = "ios/**/*.{h,m,mm,swift}"
17
17
 
18
18
  s.dependency "React-Core"
19
- s.dependency "HMSSDK"
19
+ s.dependency "HMSSDK", "0.2.6"
20
20
  end
@@ -26,6 +26,7 @@ export class HMSEncoder {
26
26
  browserRecordingState: room?.browserRecordingState,
27
27
  rtmpHMSRtmpStreamingState: room?.rtmpHMSRtmpStreamingState,
28
28
  serverRecordingState: room?.serverRecordingState,
29
+ hlsStreamingState: room?.hlsStreamingState,
29
30
  };
30
31
 
31
32
  return new HMSRoom(encodedObj);
@@ -0,0 +1,9 @@
1
+ import type { HMSHLSMeetingURLVariant } from './HMSHLSMeetingURLVariant';
2
+
3
+ export class HMSHLSConfig {
4
+ meetingURLVariants?: Array<HMSHLSMeetingURLVariant>;
5
+
6
+ constructor(params: { meetingURLVariants?: Array<HMSHLSMeetingURLVariant> }) {
7
+ this.meetingURLVariants = params.meetingURLVariants;
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ export class HMSHLSMeetingURLVariant {
2
+ meetingUrl: string;
3
+ metadata: string;
4
+
5
+ constructor(params: { meetingUrl: string; metadata: string }) {
6
+ this.meetingUrl = params.meetingUrl;
7
+ this.metadata = params.metadata;
8
+ }
9
+ }
@@ -0,0 +1,11 @@
1
+ import type { HMSHLSVariant } from './HMSHLSVariant';
2
+
3
+ export class HMSHLSStreamingState {
4
+ running: boolean;
5
+ variants: Array<HMSHLSVariant>;
6
+
7
+ constructor(params: { running: boolean; variants: Array<HMSHLSVariant> }) {
8
+ this.running = params.running;
9
+ this.variants = params.variants;
10
+ }
11
+ }
@@ -0,0 +1,18 @@
1
+ export class HMSHLSVariant {
2
+ hlsStreamUrl: string;
3
+ meetingUrl: string;
4
+ metadata: string;
5
+ startedAt: number;
6
+
7
+ constructor(params: {
8
+ hlsStreamUrl: string;
9
+ meetingUrl: string;
10
+ metadata: string;
11
+ startedAt: number;
12
+ }) {
13
+ this.hlsStreamUrl = params.hlsStreamUrl;
14
+ this.meetingUrl = params.meetingUrl;
15
+ this.metadata = params.metadata;
16
+ this.startedAt = params.startedAt;
17
+ }
18
+ }