@videosdk.live/react-sdk 0.1.34 → 0.1.37

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.
package/dist/index.js CHANGED
@@ -255,7 +255,7 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
255
255
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(MeetingProviderContex.Consumer, null, children));
256
256
  };
257
257
 
258
- var version = "0.1.34";
258
+ var version = "0.1.36";
259
259
 
260
260
  var MeetingProvider = function MeetingProvider(_ref) {
261
261
  var children = _ref.children,
@@ -970,6 +970,7 @@ var MeetingProvider = function MeetingProvider(_ref) {
970
970
  value: {
971
971
  meetingId: meeting === null || meeting === void 0 ? void 0 : meeting.id,
972
972
  meeting: meeting,
973
+ baseUrl: meeting === null || meeting === void 0 ? void 0 : meeting.baseUrl,
973
974
  localParticipant: localParticipant,
974
975
  mainParticipant: mainParticipant,
975
976
  activeSpeakerId: activeSpeakerId,
@@ -1117,6 +1118,10 @@ var useParticipant = function useParticipant(participantId, _temp) {
1117
1118
  participant === null || participant === void 0 ? void 0 : participant.setQuality(quality);
1118
1119
  };
1119
1120
 
1121
+ var setViewPort = function setViewPort(width, height) {
1122
+ participant === null || participant === void 0 ? void 0 : participant.setViewPort(width, height);
1123
+ };
1124
+
1120
1125
  var enableMic = function enableMic() {
1121
1126
  participant === null || participant === void 0 ? void 0 : participant.enableMic();
1122
1127
  };
@@ -1175,6 +1180,7 @@ var useParticipant = function useParticipant(participantId, _temp) {
1175
1180
  isMainParticipant: (mainParticipant === null || mainParticipant === void 0 ? void 0 : mainParticipant.id) === participantId,
1176
1181
  pinState: pinState,
1177
1182
  setQuality: setQuality,
1183
+ setViewPort: setViewPort,
1178
1184
  enableMic: enableMic,
1179
1185
  disableMic: disableMic,
1180
1186
  enableWebcam: enableWebcam,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/utils.js","../src/meeting/meetingProviderContextDef.js","../src/meeting/MeetingProvider.js","../src/participant/useParticipant.js","../src/connection/useConnection.js","../src/pubSub/usePubSub.js","../src/index.js"],"sourcesContent":["import EventEmitter from 'events';\n\nconst eventPrifix = 'videosdk-live-react-sdk';\n\nconst events = {\n 'participant-joined': `${eventPrifix}-participant-joined`,\n 'participant-left': `${eventPrifix}-participant-left`,\n 'speaker-changed': `${eventPrifix}-speaker-changed`,\n 'presenter-changed': `${eventPrifix}-presenter-changed`,\n 'main-participant-changed': `${eventPrifix}-main-participant-changed`,\n 'entry-requested': `${eventPrifix}-entry-requested`,\n 'entry-responded': `${eventPrifix}-entry-responded`,\n 'recording-started': `${eventPrifix}-recording-started`,\n 'recording-stopped': `${eventPrifix}-recording-stopped`,\n 'chat-message': `${eventPrifix}-chat-message`,\n 'meeting-joined': `${eventPrifix}-meeting-joined`,\n 'meeting-left': `${eventPrifix}-meeting-left`,\n 'live-stream-started': `${eventPrifix}-live-stream-started`,\n 'live-stream-stopped': `${eventPrifix}-live-stream-stopped`,\n 'video-state-changed': `${eventPrifix}-video-state-changed`,\n 'video-seeked': `${eventPrifix}-video-seeked`,\n 'webcam-requested': `${eventPrifix}-webcam-requested`,\n 'mic-requested': `${eventPrifix}-mic-requested`,\n 'pin-state-changed': `${eventPrifix}-pin-state-changed`,\n 'connection-open': `${eventPrifix}-connection-open`,\n 'connection-close': `${eventPrifix}-connection-close`,\n 'switch-meeting': `${eventPrifix}-switch-meeting`,\n error: `${eventPrifix}-error`,\n 'hls-started': `${eventPrifix}-hls-started`,\n 'hls-stopped': `${eventPrifix}-hls-stopped`\n};\n\nconst eventEmitter = new EventEmitter();\neventEmitter.setMaxListeners(9999);\n\nexport { eventEmitter, events };\n","import React from 'react';\nimport { useContext, createContext, useEffect } from 'react';\nimport { eventEmitter, events } from '../utils';\nexport const MeetingProviderContex = createContext();\n\nexport const useMeeting = ({\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {},\n onPinStateChanged = () => {},\n onConnectionOpen = () => {},\n onConnetionClose = () => {},\n onSwitchMeeting = () => {},\n onError = () => {},\n onHlsStarted = () => {},\n onHlsStopped = () => {}\n} = {}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n eventEmitter.on(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.on(events['connection-open'], onConnectionOpen);\n eventEmitter.on(events['connection-close'], onConnetionClose);\n eventEmitter.on(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.on(events['error'], onError);\n eventEmitter.on(events['hls-started'], onHlsStarted);\n eventEmitter.on(events['hls-stopped'], onHlsStopped);\n\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n eventEmitter.off(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.off(events['connection-open'], onConnectionOpen);\n eventEmitter.off(events['connection-close'], onConnetionClose);\n eventEmitter.off(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.off(events['error'], onError);\n eventEmitter.off(events['hls-started'], onHlsStarted);\n eventEmitter.off(events['hls-stopped'], onHlsStopped);\n };\n }, []);\n return useContext(MeetingProviderContex);\n};\n\nexport const MeetingConsumer = ({\n children,\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {},\n onPinStateChanged = () => {},\n onConnectionOpen = () => {},\n onConnetionClose = () => {},\n onSwitchMeeting = () => {},\n onError = () => {},\n onHlsStarted = () => {},\n onHlsStopped = () => {}\n}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n eventEmitter.on(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.on(events['connection-open'], onConnectionOpen);\n eventEmitter.on(events['connection-close'], onConnetionClose);\n eventEmitter.on(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.on(events['error'], onError);\n eventEmitter.on(events['hls-started'], onHlsStarted);\n eventEmitter.on(events['hls-stopped'], onHlsStopped);\n\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n eventEmitter.off(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.off(events['connection-open'], onConnectionOpen);\n eventEmitter.off(events['connection-close'], onConnetionClose);\n eventEmitter.off(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.off(events['error'], onError);\n eventEmitter.off(events['hls-started'], onHlsStarted);\n eventEmitter.off(events['hls-stopped'], onHlsStopped);\n };\n }, []);\n\n return (\n <React.Fragment>\n <MeetingProviderContex.Consumer>\n {children}\n </MeetingProviderContex.Consumer>\n </React.Fragment>\n );\n};\n","import { MeetingProviderContex } from './meetingProviderContextDef';\nimport React, { useEffect, useRef, useState, useMemo } from 'react';\nimport { eventEmitter, events } from '../utils';\nimport { VideoSDK } from '@videosdk.live/js-sdk';\nimport { version as reactSDKVersion } from '../../package.json';\n\nconst MeetingProvider = ({\n children,\n config,\n token,\n joinWithoutUserInteraction,\n reinitialiseMeetingOnConfigChange: _reinitialiseMeetingOnConfigChange,\n deviceInfo\n}) => {\n const [meeting, setMeeting] = useState(null);\n const [localParticipant, setLocalParticipant] = useState(null);\n const [mainParticipant, setMainParticipant] = useState(null);\n const [activeSpeakerId, setActiveSpeakerId] = useState(null);\n const [presenterId, setPresenterId] = useState(null);\n const [localMicOn, setLocalMicOn] = useState(false);\n const [localWebcamOn, setLocalWebcamOn] = useState(false);\n const [localScreenShareOn, setLocalScreenShareOn] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [messages, setMessages] = useState([]);\n const [participants, setParticipants] = useState(new Map());\n const [pinnedParticipants, setPinnedParticipants] = useState(new Map());\n const [isLiveStreaming, setIsLiveStreaming] = useState(false);\n const [connections, setConnections] = useState(new Map());\n const [isMeetingJoined, setIsMeetingJoined] = useState(false);\n const [isHls, setIsHls] = useState(false);\n\n const meetingRef = useRef();\n const localMicOnRef = useRef();\n const localWebcamOnRef = useRef();\n const localScreenShareOnRef = useRef();\n const isRecordingRef = useRef();\n const configRef = useRef(config);\n const tokenRef = useRef(token);\n const joinedOnFirstRender = useRef(false);\n const isHlsRef = useRef();\n\n const reinitialiseMeetingOnConfigChange = useMemo(\n () => _reinitialiseMeetingOnConfigChange,\n []\n );\n\n useEffect(() => {\n meetingRef.current = meeting;\n }, [meeting]);\n useEffect(() => {\n localMicOnRef.current = localMicOn;\n }, [localMicOn]);\n useEffect(() => {\n localWebcamOnRef.current = localWebcamOn;\n }, [localWebcamOn]);\n useEffect(() => {\n localScreenShareOnRef.current = localScreenShareOn;\n }, [localScreenShareOn]);\n useEffect(() => {\n isRecordingRef.current = isRecording;\n }, [isRecording]);\n useEffect(() => {\n configRef.current = config;\n }, [config]);\n useEffect(() => {\n tokenRef.current = token;\n }, [token]);\n useEffect(() => {\n isHlsRef.current = isHls;\n }, [isHls]);\n\n const resetStates = () => {\n setMeeting(null);\n setLocalParticipant(null);\n setMainParticipant(null);\n setActiveSpeakerId(null);\n setPresenterId(null);\n setLocalMicOn(false);\n setLocalWebcamOn(false);\n setLocalScreenShareOn(false);\n setIsRecording(false);\n setMessages([]);\n setIsLiveStreaming(false);\n setParticipants(new Map());\n setPinnedParticipants(new Map());\n setConnections(new Map());\n setIsMeetingJoined(false);\n setIsHls(false);\n };\n\n const _handle_participant_joined = participant => {\n setParticipants(participants => {\n participants.set(participant.id, participant);\n const participantsToSet = new Map(participants);\n\n return participantsToSet;\n });\n eventEmitter.emit(events['participant-joined'], participant);\n };\n const _handle_participant_left = participant => {\n setParticipants(participants => {\n participants.delete(participant.id);\n\n const newParticipants = new Map(participants);\n return newParticipants;\n });\n eventEmitter.emit(events['participant-left'], participant);\n };\n const _handle_presenter_changed = presenterId => {\n setPresenterId(presenterId);\n setLocalScreenShareOn(\n presenterId === meetingRef?.current?.localParticipant?.id\n );\n eventEmitter.emit(events['presenter-changed'], presenterId);\n };\n const _handle_main_participant_changed = participant => {\n setMainParticipant(participant);\n eventEmitter.emit(events['main-participant-changed'], participant);\n };\n const _handle_speaker_changed = activeSpeakerId => {\n setActiveSpeakerId(activeSpeakerId);\n eventEmitter.emit(events['speaker-changed'], activeSpeakerId);\n };\n const _handle_chat_message = data => {\n setMessages(s => [...s, data]);\n\n eventEmitter.emit(events['chat-message'], data);\n };\n const _handle_entry_requested = data => {\n eventEmitter.emit(events['entry-requested'], data);\n };\n const _handle_entry_responded = (participantId, decision) => {\n eventEmitter.emit(events['entry-responded'], participantId, decision);\n };\n const _handle_recording_started = () => {\n setIsRecording(true);\n eventEmitter.emit(events['recording-started']);\n };\n const _handle_recording_stopped = () => {\n setIsRecording(false);\n eventEmitter.emit(events['recording-stopped']);\n };\n\n const _handle_localParticipant_stream_enabled = stream => {\n if (stream.track.readyState === 'live') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(true);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(true);\n }\n }\n };\n const _handle_localParticipant_stream_disabled = stream => {\n if (stream.track.readyState === 'ended') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(false);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(false);\n }\n }\n };\n const _handle_live_stream_started = data => {\n setIsLiveStreaming(true);\n eventEmitter.emit(events['live-stream-started'], data);\n };\n const _handle_live_stream_stopped = () => {\n setIsLiveStreaming(false);\n eventEmitter.emit(events['live-stream-stopped']);\n };\n const _handle_hls_started = data => {\n setIsHls(true);\n eventEmitter.emit(events['hls-started'], data);\n };\n const _handle_hls_stopped = () => {\n setIsHls(false);\n eventEmitter.emit(events['hls-stopped']);\n };\n const _handle_video_state_changed = data => {\n eventEmitter.emit(events['video-state-changed'], data);\n };\n const _handle_video_seeked = data => {\n eventEmitter.emit(events['video-seeked'], data);\n };\n\n const _handle_webcam_requested = data => {\n eventEmitter.emit(events['webcam-requested'], data);\n };\n\n const _handle_mic_requested = data => {\n eventEmitter.emit(events['mic-requested'], data);\n };\n\n const _handle_meeting_joined = data => {\n joinedOnFirstRender.current = true;\n setMessages(s => [...s, ...data.messages]);\n eventEmitter.emit(events['meeting-joined'], data);\n setIsMeetingJoined(true);\n };\n\n const _handle_meeting_left = () => {\n eventEmitter.emit(events['meeting-left']);\n\n const meeting = meetingRef.current;\n\n if (meeting) {\n if (typeof meeting?.off === 'function') {\n meeting.off('participant-joined', _handle_participant_joined);\n meeting.off('participant-left', _handle_participant_left);\n meeting.off('presenter-changed', _handle_presenter_changed);\n meeting.off(\n 'main-participant-changed',\n _handle_main_participant_changed\n );\n meeting.off('speaker-changed', _handle_speaker_changed);\n meeting.off('entry-requested', _handle_entry_requested);\n meeting.off('entry-responded', _handle_entry_responded);\n meeting.off('chat-message', _handle_chat_message);\n meeting.off('recording-started', _handle_recording_started);\n meeting.off('recording-stopped', _handle_recording_stopped);\n meeting.off('meeting-joined', _handle_meeting_joined);\n meeting.off('meeting-left', _handle_meeting_left);\n meeting.off('livestream-started', _handle_live_stream_started);\n meeting.off('livestream-stopped', _handle_live_stream_stopped);\n meeting.off('video-state-changed', _handle_video_state_changed);\n meeting.off('video-seeked', _handle_video_seeked);\n meeting.off('webcam-requested', _handle_webcam_requested);\n meeting.off('mic-requested', _handle_mic_requested);\n meeting.off('pin-state-changed', _handle_pin_state_changed);\n meeting.off('connection-open', _handle_connection_open);\n meeting.off('connection-close', _handle_connection_close);\n meeting.off('switch-meeting', _handle_switch_meeting);\n meeting.off('error', _handle_error);\n meeting.off('hls-started', _handle_hls_started);\n meeting.off('hls-stopped', _handle_hls_stopped);\n }\n\n if (typeof meeting?.localParticipant?.off === 'function') {\n meeting.localParticipant.off(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n\n meeting.localParticipant.off(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n }\n\n resetStates();\n }\n };\n\n const _handle_pin_state_changed = ({ participantId, state, pinnedBy }) => {\n setPinnedParticipants(pinnedParticipants => {\n if (!state.cam && !state.share) {\n pinnedParticipants.delete(participantId);\n } else {\n pinnedParticipants.set(participantId, state);\n }\n\n const pinnedParticipantsToSet = new Map(pinnedParticipants);\n\n return pinnedParticipantsToSet;\n });\n\n eventEmitter.emit(events['pin-state-changed'], {\n participantId,\n state,\n pinnedBy\n });\n };\n\n const _handle_connection_open = connection => {\n setConnections(s => {\n s.set(connection.id, connection);\n const connectionsToSet = new Map(s);\n return connectionsToSet;\n });\n eventEmitter.emit(events['connection-open'], connection);\n };\n\n const _handle_connection_close = connectionId => {\n setConnections(s => {\n s.delete(connectionId);\n const newConnections = new Map(s);\n return newConnections;\n });\n eventEmitter.emit(events['connection-close'], connectionId);\n };\n\n const _handle_switch_meeting = d => {\n eventEmitter.emit(events['switch-meeting'], d);\n };\n const _handle_error = data => {\n eventEmitter.emit(events['error'], data);\n };\n\n const join = () => {\n const meeting = VideoSDK && VideoSDK.initMeeting(configRef.current);\n setMeeting(meeting);\n const { localParticipant, participants } = meeting;\n participants.set(localParticipant.id, localParticipant);\n setParticipants(participants);\n setLocalParticipant(localParticipant);\n meeting.on('participant-joined', _handle_participant_joined);\n meeting.on('participant-left', _handle_participant_left);\n meeting.on('presenter-changed', _handle_presenter_changed);\n meeting.on('main-participant-changed', _handle_main_participant_changed);\n meeting.on('speaker-changed', _handle_speaker_changed);\n meeting.on('entry-requested', _handle_entry_requested);\n meeting.on('entry-responded', _handle_entry_responded);\n meeting.on('chat-message', _handle_chat_message);\n meeting.on('recording-started', _handle_recording_started);\n meeting.on('recording-stopped', _handle_recording_stopped);\n meeting.on('meeting-joined', _handle_meeting_joined);\n meeting.on('meeting-left', _handle_meeting_left);\n meeting.on('livestream-started', _handle_live_stream_started);\n meeting.on('livestream-stopped', _handle_live_stream_stopped);\n meeting.on('video-state-changed', _handle_video_state_changed);\n meeting.on('video-seeked', _handle_video_seeked);\n meeting.on('webcam-requested', _handle_webcam_requested);\n meeting.on('mic-requested', _handle_mic_requested);\n meeting.on('pin-state-changed', _handle_pin_state_changed);\n\n meeting.on('connection-open', _handle_connection_open);\n meeting.on('connection-close', _handle_connection_close);\n meeting.on('switch-meeting', _handle_switch_meeting);\n meeting.on('error', _handle_error);\n meeting.on('hls-started', _handle_hls_started);\n meeting.on('hls-stopped', _handle_hls_stopped);\n\n meeting.localParticipant.on(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n meeting.localParticipant.on(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n meeting.join();\n };\n\n const leave = () => {\n const meeting = meetingRef.current;\n\n if (meeting) {\n meeting.leave();\n }\n };\n\n const end = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.end();\n }\n };\n const startRecording = (webhookUrl, awsDirPath, config) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startRecording(webhookUrl, awsDirPath, config);\n }\n };\n const stopRecording = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n const isRecording = isRecordingRef.current;\n if (isRecording) {\n meeting.stopRecording();\n }\n }\n };\n const unmuteMic = (customAudioTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.unmuteMic(customAudioTrack);\n }\n };\n const muteMic = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.muteMic();\n }\n };\n const toggleMic = (customAudioTrack = undefined) => {\n const localMicOn = localMicOnRef.current;\n\n if (localMicOn) {\n muteMic();\n } else {\n unmuteMic(customAudioTrack);\n }\n };\n const disableWebcam = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableWebcam();\n }\n };\n const enableWebcam = (customVideoTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableWebcam(customVideoTrack);\n }\n };\n const toggleWebcam = (customVideoTrack = undefined) => {\n const localWebcamOn = localWebcamOnRef.current;\n\n if (localWebcamOn) {\n disableWebcam();\n } else {\n enableWebcam(customVideoTrack);\n }\n };\n const disableScreenShare = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableScreenShare();\n }\n };\n const enableScreenShare = (customScreenShareTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableScreenShare(customScreenShareTrack);\n }\n };\n const toggleScreenShare = (customScreenShareTrack = undefined) => {\n const localScreenShareOn = localScreenShareOnRef.current;\n\n if (localScreenShareOn) {\n disableScreenShare();\n } else {\n enableScreenShare(customScreenShareTrack);\n }\n };\n const sendChatMessage = text => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.sendChatMessage(text);\n }\n };\n const respondEntry = (participantId, decision) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.respondEntry(participantId, decision);\n }\n };\n const getMics = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getMics();\n }\n };\n const getWebcams = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getWebcams();\n }\n };\n const changeWebcam = obj => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeWebcam(obj);\n }\n };\n const changeMic = obj => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeMic(obj);\n }\n };\n const startVideo = ({ link }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startVideo({ link });\n }\n };\n\n const stopVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopVideo();\n }\n };\n\n const resumeVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.resumeVideo();\n }\n };\n\n const pauseVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.pauseVideo({ currentTime });\n }\n };\n\n const seekVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.seekVideo({ currentTime });\n }\n };\n\n const startLivestream = (streamInfo, config) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startLivestream(streamInfo, config);\n }\n };\n\n const stopLivestream = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopLivestream();\n }\n };\n\n const connectTo = async ({ meetingId, payload }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n await meeting.connectTo({ meetingId, payload });\n }\n };\n\n const startHls = config => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startHls(config);\n }\n };\n\n const stopHls = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopHls();\n }\n };\n\n const initSDK = () => {\n VideoSDK.config(tokenRef.current);\n\n if (deviceInfo) {\n VideoSDK.analytics(deviceInfo);\n } else {\n VideoSDK.analytics({\n sdkType: 'react-web',\n sdkVersion: reactSDKVersion\n });\n }\n\n if (joinWithoutUserInteraction) {\n join();\n }\n };\n\n useEffect(() => {\n initSDK();\n }, []);\n\n useEffect(() => {\n if (reinitialiseMeetingOnConfigChange && joinedOnFirstRender.current) {\n leave();\n initSDK();\n !joinWithoutUserInteraction && join();\n }\n }, [config.meetingId, token, reinitialiseMeetingOnConfigChange]);\n\n return (\n <MeetingProviderContex.Provider\n value={{\n meetingId: meeting?.id,\n meeting,\n localParticipant,\n mainParticipant,\n activeSpeakerId,\n participants,\n presenterId,\n localMicOn,\n localWebcamOn,\n localScreenShareOn,\n messages,\n isRecording,\n isLiveStreaming,\n pinnedParticipants,\n connections,\n isHls,\n //\n join,\n leave,\n end,\n //\n startRecording,\n stopRecording,\n //\n sendChatMessage,\n respondEntry,\n //\n muteMic,\n unmuteMic,\n toggleMic,\n //\n disableWebcam,\n enableWebcam,\n toggleWebcam,\n //\n disableScreenShare,\n enableScreenShare,\n toggleScreenShare,\n //\n getMics,\n getWebcams,\n changeWebcam,\n changeMic,\n\n startVideo,\n stopVideo,\n resumeVideo,\n pauseVideo,\n seekVideo,\n startLivestream,\n stopLivestream,\n connectTo,\n isMeetingJoined,\n startHls,\n stopHls\n }}\n >\n {children}\n </MeetingProviderContex.Provider>\n );\n};\n\nexport default MeetingProvider;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst useParticipant = (\n participantId,\n { onStreamEnabled = () => {}, onStreamDisabled = () => {} } = {}\n) => {\n const [webcamStream, setwebcamStream] = useState(null);\n const [micStream, setMicStream] = useState(null);\n const [screenShareStream, setScreenShareStream] = useState(null);\n\n const meeting = useMeeting();\n\n const {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n } = useMemo(() => {\n const participants = meeting?.participants;\n const localParticipant = meeting?.localParticipant;\n const activeSpeakerId = meeting?.activeSpeakerId;\n const mainParticipant = meeting?.mainParticipant;\n const pinState = meeting?.pinnedParticipants?.get(participantId) || {\n cam: false,\n share: false\n };\n\n return {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n };\n }, [meeting]);\n\n const participant = participants?.get(participantId);\n\n const setTrack = stream => {\n if (stream.track.readyState === 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(stream);\n break;\n case 'audio':\n setMicStream(stream);\n break;\n case 'share':\n setScreenShareStream(stream);\n break;\n default:\n break;\n }\n }\n };\n\n const unSetTrack = stream => {\n if (stream.track.readyState !== 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(null);\n break;\n case 'audio':\n setMicStream(null);\n break;\n case 'share':\n setScreenShareStream(null);\n break;\n default:\n break;\n }\n }\n };\n\n const _handleStreamEnabled = stream => {\n setTrack(stream);\n onStreamEnabled(stream);\n };\n\n const _handleStreamDisabled = stream => {\n unSetTrack(stream);\n onStreamDisabled(stream);\n };\n\n const setQuality = quality => {\n participant?.setQuality(quality);\n };\n const enableMic = () => {\n participant?.enableMic();\n };\n const disableMic = () => {\n participant?.disableMic();\n };\n const enableWebcam = () => {\n participant?.enableWebcam();\n };\n const disableWebcam = () => {\n participant?.disableWebcam();\n };\n const pin = data => {\n participant?.pin(data);\n };\n const unpin = data => {\n participant?.unpin(data);\n };\n\n const switchTo = async data => {\n await participant?.switchTo(data);\n };\n\n useEffect(() => {\n const streams = participant?.streams;\n\n if (streams) {\n streams.forEach(stream => {\n setTrack(stream);\n });\n }\n\n participant?.on('stream-enabled', _handleStreamEnabled);\n\n participant?.on('stream-disabled', _handleStreamDisabled);\n\n return () => {\n participant?.off('stream-enabled', _handleStreamEnabled);\n\n participant?.off('stream-disabled', _handleStreamDisabled);\n };\n }, [participant]);\n\n return {\n displayName: participant?.displayName,\n participant,\n webcamStream,\n micStream,\n screenShareStream,\n webcamOn: !!webcamStream,\n micOn: !!micStream,\n screenShareOn: !!screenShareStream,\n isLocal: localParticipant?.id === participantId,\n isActiveSpeaker: activeSpeakerId === participantId,\n isMainParticipant: mainParticipant?.id === participantId,\n pinState,\n\n //\n setQuality,\n enableMic,\n disableMic,\n enableWebcam,\n disableWebcam,\n pin,\n unpin,\n switchTo\n };\n};\n\nexport default useParticipant;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst useConnection = (\n connectionId,\n { onMeeting } = {\n onMeeting: {\n onParticipantJoined: () => {},\n onParticipantLeft: () => {},\n onChatMessage: () => {}\n }\n }\n) => {\n const onParticipantJoined = onMeeting?.onParticipantJoined;\n const onParticipantLeft = onMeeting?.onParticipantLeft;\n const onChatMessage = onMeeting?.onChatMessage;\n\n const meeting = useMeeting();\n\n const { connection, connectionParticipants } = useMemo(() => {\n const connection = meeting?.connections.get(connectionId);\n\n if (!connection) {\n throw new Error('connectionId not found');\n }\n\n const connectionParticipants = new Map(connection.meeting.participants);\n\n return {\n connection,\n connectionParticipants\n };\n }, [meeting]);\n\n const [_connectionParticipants, setConnectionParticipants] = useState(\n new Map(connectionParticipants)\n );\n\n const _handleParticipantJoined = participant => {\n setConnectionParticipants(s => {\n s.set(participant.id, participant);\n const participantsToSet = new Map(s);\n return participantsToSet;\n });\n onParticipantJoined(participant);\n };\n const _handleParticipantLeft = participantId => {\n setConnectionParticipants(s => {\n s.delete(participantId);\n const newParticipants = new Map(s);\n return newParticipants;\n });\n onParticipantLeft(participantId);\n };\n\n const _handleChatMessage = data => {\n onChatMessage(data);\n };\n\n useEffect(() => {\n connection?.meeting.on('participant-joined', _handleParticipantJoined);\n connection?.meeting.on('participant-left', _handleParticipantLeft);\n connection?.meeting.on('chat-message', _handleChatMessage);\n\n return () => {\n connection?.meeting.off('participant-joined', _handleParticipantJoined);\n connection?.meeting.off('participant-left', _handleParticipantLeft);\n connection?.meeting.off('chat-message', _handleChatMessage);\n };\n }, [connection]);\n\n return {\n connection: {\n id: connection.id,\n close: connection.close,\n payload: connection.payload,\n meeting: {\n id: connection.meeting.id,\n sendChatMessage: connection.meeting.sendChatMessage,\n end: connection.meeting.end,\n participants: _connectionParticipants\n }\n }\n };\n};\n\nexport default useConnection;\n","import { useEffect, useRef, useState } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst usePubSub = (\n topic,\n { onMessageReceived = () => {}, onOldMessagesReceived = () => {} } = {}\n) => {\n const { meeting, isMeetingJoined } = useMeeting();\n const [messages, setMessages] = useState([]);\n const isSubscribed = useRef(false);\n const publish = (message, options) => {\n if (meeting) {\n meeting.pubSub.publish(topic, message, options);\n }\n };\n\n const _handlePubSub = data => {\n setMessages(s => [...s, data]);\n onMessageReceived(data);\n };\n\n const subscribeToPubsub = async meeting => {\n const data = await meeting?.pubSub?.subscribe(topic, _handlePubSub);\n if (data) {\n onOldMessagesReceived(data.messages);\n setMessages(data.messages);\n }\n };\n\n useEffect(() => {\n if (meeting && !isSubscribed.current && isMeetingJoined) {\n isSubscribed.current = true;\n subscribeToPubsub(meeting);\n\n return () => {\n meeting?.pubSub?.unsubscribe(topic, _handlePubSub);\n };\n }\n }, [meeting, isMeetingJoined]);\n\n return { publish, messages };\n};\n\nexport default usePubSub;\n","import MeetingProvider from './meeting/MeetingProvider';\nimport {\n MeetingConsumer,\n useMeeting\n} from './meeting/meetingProviderContextDef';\nimport useParticipant from './participant/useParticipant';\nimport useConnection from './connection/useConnection';\nimport usePubSub from './pubSub/usePubSub';\nimport { VideoSDK } from '@videosdk.live/js-sdk';\n\nconst Constants = VideoSDK.Constants;\n\nconst createCameraVideoTrack = async ({\n cameraId = undefined,\n encoderConfig = undefined,\n facingMode = undefined,\n optimizationMode = undefined\n}) => {\n return await VideoSDK.createCameraVideoTrack({\n cameraId,\n encoderConfig,\n facingMode,\n optimizationMode\n });\n};\n\nconst createScreenShareVideoTrack = async ({\n encoderConfig = undefined,\n optimizationMode = undefined\n // withAudio = \"enable\" | \"disable\" | \"auto\"\n}) => {\n return await VideoSDK.createScreenShareVideoTrack({\n encoderConfig,\n optimizationMode\n });\n};\n\nconst createMicrophoneAudioTrack = async ({\n noiseConfig = undefined,\n encoderConfig = undefined,\n microphoneId = undefined\n}) => {\n return await VideoSDK.createMicrophoneAudioTrack({\n noiseConfig,\n encoderConfig,\n microphoneId\n });\n};\n\nexport {\n MeetingProvider,\n useMeeting,\n useParticipant,\n usePubSub,\n MeetingConsumer,\n useConnection,\n Constants,\n createCameraVideoTrack,\n createMicrophoneAudioTrack,\n createScreenShareVideoTrack\n};\n"],"names":["eventPrifix","events","error","eventEmitter","EventEmitter","setMaxListeners","MeetingProviderContex","createContext","useMeeting","onParticipantJoined","onParticipantLeft","onSpeakerChanged","onPresenterChanged","onMainParticipantChanged","onEntryRequested","onEntryResponded","onRecordingStarted","onRecordingStopped","onChatMessage","onMeetingJoined","onMeetingLeft","onLiveStreamStarted","onLiveStreamStopped","onVideoStateChanged","onVideoSeeked","onWebcamRequested","onMicRequested","onPinStateChanged","onConnectionOpen","onConnetionClose","onSwitchMeeting","onError","onHlsStarted","onHlsStopped","useEffect","on","off","useContext","MeetingConsumer","children","React","MeetingProvider","config","token","joinWithoutUserInteraction","_reinitialiseMeetingOnConfigChange","reinitialiseMeetingOnConfigChange","deviceInfo","useState","meeting","setMeeting","localParticipant","setLocalParticipant","mainParticipant","setMainParticipant","activeSpeakerId","setActiveSpeakerId","presenterId","setPresenterId","localMicOn","setLocalMicOn","localWebcamOn","setLocalWebcamOn","localScreenShareOn","setLocalScreenShareOn","isRecording","setIsRecording","messages","setMessages","Map","participants","setParticipants","pinnedParticipants","setPinnedParticipants","isLiveStreaming","setIsLiveStreaming","connections","setConnections","isMeetingJoined","setIsMeetingJoined","isHls","setIsHls","meetingRef","useRef","localMicOnRef","localWebcamOnRef","localScreenShareOnRef","isRecordingRef","configRef","tokenRef","joinedOnFirstRender","isHlsRef","useMemo","current","resetStates","_handle_participant_joined","participant","set","id","participantsToSet","emit","_handle_participant_left","newParticipants","_handle_presenter_changed","_handle_main_participant_changed","_handle_speaker_changed","_handle_chat_message","data","s","_handle_entry_requested","_handle_entry_responded","participantId","decision","_handle_recording_started","_handle_recording_stopped","_handle_localParticipant_stream_enabled","stream","track","readyState","kind","_handle_localParticipant_stream_disabled","_handle_live_stream_started","_handle_live_stream_stopped","_handle_hls_started","_handle_hls_stopped","_handle_video_state_changed","_handle_video_seeked","_handle_webcam_requested","_handle_mic_requested","_handle_meeting_joined","_handle_meeting_left","_handle_pin_state_changed","_handle_connection_open","_handle_connection_close","_handle_switch_meeting","_handle_error","state","pinnedBy","cam","share","pinnedParticipantsToSet","connection","connectionsToSet","connectionId","newConnections","d","join","VideoSDK","initMeeting","leave","end","startRecording","webhookUrl","awsDirPath","stopRecording","unmuteMic","customAudioTrack","undefined","muteMic","toggleMic","disableWebcam","enableWebcam","customVideoTrack","toggleWebcam","disableScreenShare","enableScreenShare","customScreenShareTrack","toggleScreenShare","sendChatMessage","text","respondEntry","getMics","getWebcams","changeWebcam","obj","changeMic","startVideo","link","stopVideo","resumeVideo","pauseVideo","currentTime","seekVideo","startLivestream","streamInfo","stopLivestream","connectTo","meetingId","payload","startHls","stopHls","initSDK","analytics","sdkType","sdkVersion","reactSDKVersion","useParticipant","onStreamEnabled","onStreamDisabled","webcamStream","setwebcamStream","micStream","setMicStream","screenShareStream","setScreenShareStream","pinState","get","setTrack","unSetTrack","_handleStreamEnabled","_handleStreamDisabled","setQuality","quality","enableMic","disableMic","pin","unpin","switchTo","streams","forEach","displayName","webcamOn","micOn","screenShareOn","isLocal","isActiveSpeaker","isMainParticipant","useConnection","onMeeting","Error","connectionParticipants","_connectionParticipants","setConnectionParticipants","_handleParticipantJoined","_handleParticipantLeft","_handleChatMessage","close","usePubSub","topic","onMessageReceived","onOldMessagesReceived","isSubscribed","publish","message","options","pubSub","_handlePubSub","subscribeToPubsub","subscribe","unsubscribe","Constants","createCameraVideoTrack","cameraId","encoderConfig","facingMode","optimizationMode","createScreenShareVideoTrack","createMicrophoneAudioTrack","noiseConfig","microphoneId"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/utils.js","../src/meeting/meetingProviderContextDef.js","../src/meeting/MeetingProvider.js","../src/participant/useParticipant.js","../src/connection/useConnection.js","../src/pubSub/usePubSub.js","../src/index.js"],"sourcesContent":["import EventEmitter from 'events';\n\nconst eventPrifix = 'videosdk-live-react-sdk';\n\nconst events = {\n 'participant-joined': `${eventPrifix}-participant-joined`,\n 'participant-left': `${eventPrifix}-participant-left`,\n 'speaker-changed': `${eventPrifix}-speaker-changed`,\n 'presenter-changed': `${eventPrifix}-presenter-changed`,\n 'main-participant-changed': `${eventPrifix}-main-participant-changed`,\n 'entry-requested': `${eventPrifix}-entry-requested`,\n 'entry-responded': `${eventPrifix}-entry-responded`,\n 'recording-started': `${eventPrifix}-recording-started`,\n 'recording-stopped': `${eventPrifix}-recording-stopped`,\n 'chat-message': `${eventPrifix}-chat-message`,\n 'meeting-joined': `${eventPrifix}-meeting-joined`,\n 'meeting-left': `${eventPrifix}-meeting-left`,\n 'live-stream-started': `${eventPrifix}-live-stream-started`,\n 'live-stream-stopped': `${eventPrifix}-live-stream-stopped`,\n 'video-state-changed': `${eventPrifix}-video-state-changed`,\n 'video-seeked': `${eventPrifix}-video-seeked`,\n 'webcam-requested': `${eventPrifix}-webcam-requested`,\n 'mic-requested': `${eventPrifix}-mic-requested`,\n 'pin-state-changed': `${eventPrifix}-pin-state-changed`,\n 'connection-open': `${eventPrifix}-connection-open`,\n 'connection-close': `${eventPrifix}-connection-close`,\n 'switch-meeting': `${eventPrifix}-switch-meeting`,\n error: `${eventPrifix}-error`,\n 'hls-started': `${eventPrifix}-hls-started`,\n 'hls-stopped': `${eventPrifix}-hls-stopped`\n};\n\nconst eventEmitter = new EventEmitter();\neventEmitter.setMaxListeners(9999);\n\nexport { eventEmitter, events };\n","import React from 'react';\nimport { useContext, createContext, useEffect } from 'react';\nimport { eventEmitter, events } from '../utils';\nexport const MeetingProviderContex = createContext();\n\nexport const useMeeting = ({\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {},\n onPinStateChanged = () => {},\n onConnectionOpen = () => {},\n onConnetionClose = () => {},\n onSwitchMeeting = () => {},\n onError = () => {},\n onHlsStarted = () => {},\n onHlsStopped = () => {}\n} = {}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n eventEmitter.on(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.on(events['connection-open'], onConnectionOpen);\n eventEmitter.on(events['connection-close'], onConnetionClose);\n eventEmitter.on(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.on(events['error'], onError);\n eventEmitter.on(events['hls-started'], onHlsStarted);\n eventEmitter.on(events['hls-stopped'], onHlsStopped);\n\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n eventEmitter.off(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.off(events['connection-open'], onConnectionOpen);\n eventEmitter.off(events['connection-close'], onConnetionClose);\n eventEmitter.off(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.off(events['error'], onError);\n eventEmitter.off(events['hls-started'], onHlsStarted);\n eventEmitter.off(events['hls-stopped'], onHlsStopped);\n };\n }, []);\n return useContext(MeetingProviderContex);\n};\n\nexport const MeetingConsumer = ({\n children,\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {},\n onPinStateChanged = () => {},\n onConnectionOpen = () => {},\n onConnetionClose = () => {},\n onSwitchMeeting = () => {},\n onError = () => {},\n onHlsStarted = () => {},\n onHlsStopped = () => {}\n}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n eventEmitter.on(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.on(events['connection-open'], onConnectionOpen);\n eventEmitter.on(events['connection-close'], onConnetionClose);\n eventEmitter.on(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.on(events['error'], onError);\n eventEmitter.on(events['hls-started'], onHlsStarted);\n eventEmitter.on(events['hls-stopped'], onHlsStopped);\n\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n eventEmitter.off(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.off(events['connection-open'], onConnectionOpen);\n eventEmitter.off(events['connection-close'], onConnetionClose);\n eventEmitter.off(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.off(events['error'], onError);\n eventEmitter.off(events['hls-started'], onHlsStarted);\n eventEmitter.off(events['hls-stopped'], onHlsStopped);\n };\n }, []);\n\n return (\n <React.Fragment>\n <MeetingProviderContex.Consumer>\n {children}\n </MeetingProviderContex.Consumer>\n </React.Fragment>\n );\n};\n","import { MeetingProviderContex } from './meetingProviderContextDef';\nimport React, { useEffect, useRef, useState, useMemo } from 'react';\nimport { eventEmitter, events } from '../utils';\nimport { VideoSDK } from '@videosdk.live/js-sdk';\nimport { version as reactSDKVersion } from '../../package.json';\n\nconst MeetingProvider = ({\n children,\n config,\n token,\n joinWithoutUserInteraction,\n reinitialiseMeetingOnConfigChange: _reinitialiseMeetingOnConfigChange,\n deviceInfo\n}) => {\n const [meeting, setMeeting] = useState(null);\n const [localParticipant, setLocalParticipant] = useState(null);\n const [mainParticipant, setMainParticipant] = useState(null);\n const [activeSpeakerId, setActiveSpeakerId] = useState(null);\n const [presenterId, setPresenterId] = useState(null);\n const [localMicOn, setLocalMicOn] = useState(false);\n const [localWebcamOn, setLocalWebcamOn] = useState(false);\n const [localScreenShareOn, setLocalScreenShareOn] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [messages, setMessages] = useState([]);\n const [participants, setParticipants] = useState(new Map());\n const [pinnedParticipants, setPinnedParticipants] = useState(new Map());\n const [isLiveStreaming, setIsLiveStreaming] = useState(false);\n const [connections, setConnections] = useState(new Map());\n const [isMeetingJoined, setIsMeetingJoined] = useState(false);\n const [isHls, setIsHls] = useState(false);\n\n const meetingRef = useRef();\n const localMicOnRef = useRef();\n const localWebcamOnRef = useRef();\n const localScreenShareOnRef = useRef();\n const isRecordingRef = useRef();\n const configRef = useRef(config);\n const tokenRef = useRef(token);\n const joinedOnFirstRender = useRef(false);\n const isHlsRef = useRef();\n\n const reinitialiseMeetingOnConfigChange = useMemo(\n () => _reinitialiseMeetingOnConfigChange,\n []\n );\n\n useEffect(() => {\n meetingRef.current = meeting;\n }, [meeting]);\n useEffect(() => {\n localMicOnRef.current = localMicOn;\n }, [localMicOn]);\n useEffect(() => {\n localWebcamOnRef.current = localWebcamOn;\n }, [localWebcamOn]);\n useEffect(() => {\n localScreenShareOnRef.current = localScreenShareOn;\n }, [localScreenShareOn]);\n useEffect(() => {\n isRecordingRef.current = isRecording;\n }, [isRecording]);\n useEffect(() => {\n configRef.current = config;\n }, [config]);\n useEffect(() => {\n tokenRef.current = token;\n }, [token]);\n useEffect(() => {\n isHlsRef.current = isHls;\n }, [isHls]);\n\n const resetStates = () => {\n setMeeting(null);\n setLocalParticipant(null);\n setMainParticipant(null);\n setActiveSpeakerId(null);\n setPresenterId(null);\n setLocalMicOn(false);\n setLocalWebcamOn(false);\n setLocalScreenShareOn(false);\n setIsRecording(false);\n setMessages([]);\n setIsLiveStreaming(false);\n setParticipants(new Map());\n setPinnedParticipants(new Map());\n setConnections(new Map());\n setIsMeetingJoined(false);\n setIsHls(false);\n };\n\n const _handle_participant_joined = participant => {\n setParticipants(participants => {\n participants.set(participant.id, participant);\n const participantsToSet = new Map(participants);\n\n return participantsToSet;\n });\n eventEmitter.emit(events['participant-joined'], participant);\n };\n const _handle_participant_left = participant => {\n setParticipants(participants => {\n participants.delete(participant.id);\n\n const newParticipants = new Map(participants);\n return newParticipants;\n });\n eventEmitter.emit(events['participant-left'], participant);\n };\n const _handle_presenter_changed = presenterId => {\n setPresenterId(presenterId);\n setLocalScreenShareOn(\n presenterId === meetingRef?.current?.localParticipant?.id\n );\n eventEmitter.emit(events['presenter-changed'], presenterId);\n };\n const _handle_main_participant_changed = participant => {\n setMainParticipant(participant);\n eventEmitter.emit(events['main-participant-changed'], participant);\n };\n const _handle_speaker_changed = activeSpeakerId => {\n setActiveSpeakerId(activeSpeakerId);\n eventEmitter.emit(events['speaker-changed'], activeSpeakerId);\n };\n const _handle_chat_message = data => {\n setMessages(s => [...s, data]);\n\n eventEmitter.emit(events['chat-message'], data);\n };\n const _handle_entry_requested = data => {\n eventEmitter.emit(events['entry-requested'], data);\n };\n const _handle_entry_responded = (participantId, decision) => {\n eventEmitter.emit(events['entry-responded'], participantId, decision);\n };\n const _handle_recording_started = () => {\n setIsRecording(true);\n eventEmitter.emit(events['recording-started']);\n };\n const _handle_recording_stopped = () => {\n setIsRecording(false);\n eventEmitter.emit(events['recording-stopped']);\n };\n\n const _handle_localParticipant_stream_enabled = stream => {\n if (stream.track.readyState === 'live') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(true);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(true);\n }\n }\n };\n const _handle_localParticipant_stream_disabled = stream => {\n if (stream.track.readyState === 'ended') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(false);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(false);\n }\n }\n };\n const _handle_live_stream_started = data => {\n setIsLiveStreaming(true);\n eventEmitter.emit(events['live-stream-started'], data);\n };\n const _handle_live_stream_stopped = () => {\n setIsLiveStreaming(false);\n eventEmitter.emit(events['live-stream-stopped']);\n };\n const _handle_hls_started = data => {\n setIsHls(true);\n eventEmitter.emit(events['hls-started'], data);\n };\n const _handle_hls_stopped = () => {\n setIsHls(false);\n eventEmitter.emit(events['hls-stopped']);\n };\n const _handle_video_state_changed = data => {\n eventEmitter.emit(events['video-state-changed'], data);\n };\n const _handle_video_seeked = data => {\n eventEmitter.emit(events['video-seeked'], data);\n };\n\n const _handle_webcam_requested = data => {\n eventEmitter.emit(events['webcam-requested'], data);\n };\n\n const _handle_mic_requested = data => {\n eventEmitter.emit(events['mic-requested'], data);\n };\n\n const _handle_meeting_joined = data => {\n joinedOnFirstRender.current = true;\n setMessages(s => [...s, ...data.messages]);\n eventEmitter.emit(events['meeting-joined'], data);\n setIsMeetingJoined(true);\n };\n\n const _handle_meeting_left = () => {\n eventEmitter.emit(events['meeting-left']);\n\n const meeting = meetingRef.current;\n\n if (meeting) {\n if (typeof meeting?.off === 'function') {\n meeting.off('participant-joined', _handle_participant_joined);\n meeting.off('participant-left', _handle_participant_left);\n meeting.off('presenter-changed', _handle_presenter_changed);\n meeting.off(\n 'main-participant-changed',\n _handle_main_participant_changed\n );\n meeting.off('speaker-changed', _handle_speaker_changed);\n meeting.off('entry-requested', _handle_entry_requested);\n meeting.off('entry-responded', _handle_entry_responded);\n meeting.off('chat-message', _handle_chat_message);\n meeting.off('recording-started', _handle_recording_started);\n meeting.off('recording-stopped', _handle_recording_stopped);\n meeting.off('meeting-joined', _handle_meeting_joined);\n meeting.off('meeting-left', _handle_meeting_left);\n meeting.off('livestream-started', _handle_live_stream_started);\n meeting.off('livestream-stopped', _handle_live_stream_stopped);\n meeting.off('video-state-changed', _handle_video_state_changed);\n meeting.off('video-seeked', _handle_video_seeked);\n meeting.off('webcam-requested', _handle_webcam_requested);\n meeting.off('mic-requested', _handle_mic_requested);\n meeting.off('pin-state-changed', _handle_pin_state_changed);\n meeting.off('connection-open', _handle_connection_open);\n meeting.off('connection-close', _handle_connection_close);\n meeting.off('switch-meeting', _handle_switch_meeting);\n meeting.off('error', _handle_error);\n meeting.off('hls-started', _handle_hls_started);\n meeting.off('hls-stopped', _handle_hls_stopped);\n }\n\n if (typeof meeting?.localParticipant?.off === 'function') {\n meeting.localParticipant.off(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n\n meeting.localParticipant.off(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n }\n\n resetStates();\n }\n };\n\n const _handle_pin_state_changed = ({ participantId, state, pinnedBy }) => {\n setPinnedParticipants(pinnedParticipants => {\n if (!state.cam && !state.share) {\n pinnedParticipants.delete(participantId);\n } else {\n pinnedParticipants.set(participantId, state);\n }\n\n const pinnedParticipantsToSet = new Map(pinnedParticipants);\n\n return pinnedParticipantsToSet;\n });\n\n eventEmitter.emit(events['pin-state-changed'], {\n participantId,\n state,\n pinnedBy\n });\n };\n\n const _handle_connection_open = connection => {\n setConnections(s => {\n s.set(connection.id, connection);\n const connectionsToSet = new Map(s);\n return connectionsToSet;\n });\n eventEmitter.emit(events['connection-open'], connection);\n };\n\n const _handle_connection_close = connectionId => {\n setConnections(s => {\n s.delete(connectionId);\n const newConnections = new Map(s);\n return newConnections;\n });\n eventEmitter.emit(events['connection-close'], connectionId);\n };\n\n const _handle_switch_meeting = d => {\n eventEmitter.emit(events['switch-meeting'], d);\n };\n const _handle_error = data => {\n eventEmitter.emit(events['error'], data);\n };\n\n const join = () => {\n const meeting = VideoSDK && VideoSDK.initMeeting(configRef.current);\n setMeeting(meeting);\n const { localParticipant, participants } = meeting;\n participants.set(localParticipant.id, localParticipant);\n setParticipants(participants);\n setLocalParticipant(localParticipant);\n meeting.on('participant-joined', _handle_participant_joined);\n meeting.on('participant-left', _handle_participant_left);\n meeting.on('presenter-changed', _handle_presenter_changed);\n meeting.on('main-participant-changed', _handle_main_participant_changed);\n meeting.on('speaker-changed', _handle_speaker_changed);\n meeting.on('entry-requested', _handle_entry_requested);\n meeting.on('entry-responded', _handle_entry_responded);\n meeting.on('chat-message', _handle_chat_message);\n meeting.on('recording-started', _handle_recording_started);\n meeting.on('recording-stopped', _handle_recording_stopped);\n meeting.on('meeting-joined', _handle_meeting_joined);\n meeting.on('meeting-left', _handle_meeting_left);\n meeting.on('livestream-started', _handle_live_stream_started);\n meeting.on('livestream-stopped', _handle_live_stream_stopped);\n meeting.on('video-state-changed', _handle_video_state_changed);\n meeting.on('video-seeked', _handle_video_seeked);\n meeting.on('webcam-requested', _handle_webcam_requested);\n meeting.on('mic-requested', _handle_mic_requested);\n meeting.on('pin-state-changed', _handle_pin_state_changed);\n\n meeting.on('connection-open', _handle_connection_open);\n meeting.on('connection-close', _handle_connection_close);\n meeting.on('switch-meeting', _handle_switch_meeting);\n meeting.on('error', _handle_error);\n meeting.on('hls-started', _handle_hls_started);\n meeting.on('hls-stopped', _handle_hls_stopped);\n\n meeting.localParticipant.on(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n meeting.localParticipant.on(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n meeting.join();\n };\n\n const leave = () => {\n const meeting = meetingRef.current;\n\n if (meeting) {\n meeting.leave();\n }\n };\n\n const end = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.end();\n }\n };\n const startRecording = (webhookUrl, awsDirPath, config) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startRecording(webhookUrl, awsDirPath, config);\n }\n };\n const stopRecording = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n const isRecording = isRecordingRef.current;\n if (isRecording) {\n meeting.stopRecording();\n }\n }\n };\n const unmuteMic = (customAudioTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.unmuteMic(customAudioTrack);\n }\n };\n const muteMic = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.muteMic();\n }\n };\n const toggleMic = (customAudioTrack = undefined) => {\n const localMicOn = localMicOnRef.current;\n\n if (localMicOn) {\n muteMic();\n } else {\n unmuteMic(customAudioTrack);\n }\n };\n const disableWebcam = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableWebcam();\n }\n };\n const enableWebcam = (customVideoTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableWebcam(customVideoTrack);\n }\n };\n const toggleWebcam = (customVideoTrack = undefined) => {\n const localWebcamOn = localWebcamOnRef.current;\n\n if (localWebcamOn) {\n disableWebcam();\n } else {\n enableWebcam(customVideoTrack);\n }\n };\n const disableScreenShare = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableScreenShare();\n }\n };\n const enableScreenShare = (customScreenShareTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableScreenShare(customScreenShareTrack);\n }\n };\n const toggleScreenShare = (customScreenShareTrack = undefined) => {\n const localScreenShareOn = localScreenShareOnRef.current;\n\n if (localScreenShareOn) {\n disableScreenShare();\n } else {\n enableScreenShare(customScreenShareTrack);\n }\n };\n const sendChatMessage = text => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.sendChatMessage(text);\n }\n };\n const respondEntry = (participantId, decision) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.respondEntry(participantId, decision);\n }\n };\n const getMics = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getMics();\n }\n };\n const getWebcams = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getWebcams();\n }\n };\n const changeWebcam = obj => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeWebcam(obj);\n }\n };\n const changeMic = obj => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeMic(obj);\n }\n };\n const startVideo = ({ link }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startVideo({ link });\n }\n };\n\n const stopVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopVideo();\n }\n };\n\n const resumeVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.resumeVideo();\n }\n };\n\n const pauseVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.pauseVideo({ currentTime });\n }\n };\n\n const seekVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.seekVideo({ currentTime });\n }\n };\n\n const startLivestream = (streamInfo, config) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startLivestream(streamInfo, config);\n }\n };\n\n const stopLivestream = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopLivestream();\n }\n };\n\n const connectTo = async ({ meetingId, payload }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n await meeting.connectTo({ meetingId, payload });\n }\n };\n\n const startHls = config => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startHls(config);\n }\n };\n\n const stopHls = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopHls();\n }\n };\n\n const initSDK = () => {\n VideoSDK.config(tokenRef.current);\n\n if (deviceInfo) {\n VideoSDK.analytics(deviceInfo);\n } else {\n VideoSDK.analytics({\n sdkType: 'react-web',\n sdkVersion: reactSDKVersion\n });\n }\n\n if (joinWithoutUserInteraction) {\n join();\n }\n };\n\n useEffect(() => {\n initSDK();\n }, []);\n\n useEffect(() => {\n if (reinitialiseMeetingOnConfigChange && joinedOnFirstRender.current) {\n leave();\n initSDK();\n !joinWithoutUserInteraction && join();\n }\n }, [config.meetingId, token, reinitialiseMeetingOnConfigChange]);\n\n return (\n <MeetingProviderContex.Provider\n value={{\n meetingId: meeting?.id,\n meeting,\n baseUrl: meeting?.baseUrl,\n localParticipant,\n mainParticipant,\n activeSpeakerId,\n participants,\n presenterId,\n localMicOn,\n localWebcamOn,\n localScreenShareOn,\n messages,\n isRecording,\n isLiveStreaming,\n pinnedParticipants,\n connections,\n isHls,\n //\n join,\n leave,\n end,\n //\n startRecording,\n stopRecording,\n //\n sendChatMessage,\n respondEntry,\n //\n muteMic,\n unmuteMic,\n toggleMic,\n //\n disableWebcam,\n enableWebcam,\n toggleWebcam,\n //\n disableScreenShare,\n enableScreenShare,\n toggleScreenShare,\n //\n getMics,\n getWebcams,\n changeWebcam,\n changeMic,\n\n startVideo,\n stopVideo,\n resumeVideo,\n pauseVideo,\n seekVideo,\n startLivestream,\n stopLivestream,\n connectTo,\n isMeetingJoined,\n startHls,\n stopHls\n }}\n >\n {children}\n </MeetingProviderContex.Provider>\n );\n};\n\nexport default MeetingProvider;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst useParticipant = (\n participantId,\n { onStreamEnabled = () => {}, onStreamDisabled = () => {} } = {}\n) => {\n const [webcamStream, setwebcamStream] = useState(null);\n const [micStream, setMicStream] = useState(null);\n const [screenShareStream, setScreenShareStream] = useState(null);\n\n const meeting = useMeeting();\n\n const {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n } = useMemo(() => {\n const participants = meeting?.participants;\n const localParticipant = meeting?.localParticipant;\n const activeSpeakerId = meeting?.activeSpeakerId;\n const mainParticipant = meeting?.mainParticipant;\n const pinState = meeting?.pinnedParticipants?.get(participantId) || {\n cam: false,\n share: false\n };\n\n return {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n };\n }, [meeting]);\n\n const participant = participants?.get(participantId);\n\n const setTrack = stream => {\n if (stream.track.readyState === 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(stream);\n break;\n case 'audio':\n setMicStream(stream);\n break;\n case 'share':\n setScreenShareStream(stream);\n break;\n default:\n break;\n }\n }\n };\n\n const unSetTrack = stream => {\n if (stream.track.readyState !== 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(null);\n break;\n case 'audio':\n setMicStream(null);\n break;\n case 'share':\n setScreenShareStream(null);\n break;\n default:\n break;\n }\n }\n };\n\n const _handleStreamEnabled = stream => {\n setTrack(stream);\n onStreamEnabled(stream);\n };\n\n const _handleStreamDisabled = stream => {\n unSetTrack(stream);\n onStreamDisabled(stream);\n };\n\n const setQuality = quality => {\n participant?.setQuality(quality);\n };\n\n const setViewPort = (width, height) => {\n participant?.setViewPort(width, height);\n };\n\n const enableMic = () => {\n participant?.enableMic();\n };\n const disableMic = () => {\n participant?.disableMic();\n };\n const enableWebcam = () => {\n participant?.enableWebcam();\n };\n const disableWebcam = () => {\n participant?.disableWebcam();\n };\n const pin = data => {\n participant?.pin(data);\n };\n const unpin = data => {\n participant?.unpin(data);\n };\n\n const switchTo = async data => {\n await participant?.switchTo(data);\n };\n\n useEffect(() => {\n const streams = participant?.streams;\n\n if (streams) {\n streams.forEach(stream => {\n setTrack(stream);\n });\n }\n\n participant?.on('stream-enabled', _handleStreamEnabled);\n\n participant?.on('stream-disabled', _handleStreamDisabled);\n\n return () => {\n participant?.off('stream-enabled', _handleStreamEnabled);\n\n participant?.off('stream-disabled', _handleStreamDisabled);\n };\n }, [participant]);\n\n return {\n displayName: participant?.displayName,\n participant,\n webcamStream,\n micStream,\n screenShareStream,\n webcamOn: !!webcamStream,\n micOn: !!micStream,\n screenShareOn: !!screenShareStream,\n isLocal: localParticipant?.id === participantId,\n isActiveSpeaker: activeSpeakerId === participantId,\n isMainParticipant: mainParticipant?.id === participantId,\n pinState,\n\n //\n setQuality,\n setViewPort,\n enableMic,\n disableMic,\n enableWebcam,\n disableWebcam,\n pin,\n unpin,\n switchTo\n };\n};\n\nexport default useParticipant;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst useConnection = (\n connectionId,\n { onMeeting } = {\n onMeeting: {\n onParticipantJoined: () => {},\n onParticipantLeft: () => {},\n onChatMessage: () => {}\n }\n }\n) => {\n const onParticipantJoined = onMeeting?.onParticipantJoined;\n const onParticipantLeft = onMeeting?.onParticipantLeft;\n const onChatMessage = onMeeting?.onChatMessage;\n\n const meeting = useMeeting();\n\n const { connection, connectionParticipants } = useMemo(() => {\n const connection = meeting?.connections.get(connectionId);\n\n if (!connection) {\n throw new Error('connectionId not found');\n }\n\n const connectionParticipants = new Map(connection.meeting.participants);\n\n return {\n connection,\n connectionParticipants\n };\n }, [meeting]);\n\n const [_connectionParticipants, setConnectionParticipants] = useState(\n new Map(connectionParticipants)\n );\n\n const _handleParticipantJoined = participant => {\n setConnectionParticipants(s => {\n s.set(participant.id, participant);\n const participantsToSet = new Map(s);\n return participantsToSet;\n });\n onParticipantJoined(participant);\n };\n const _handleParticipantLeft = participantId => {\n setConnectionParticipants(s => {\n s.delete(participantId);\n const newParticipants = new Map(s);\n return newParticipants;\n });\n onParticipantLeft(participantId);\n };\n\n const _handleChatMessage = data => {\n onChatMessage(data);\n };\n\n useEffect(() => {\n connection?.meeting.on('participant-joined', _handleParticipantJoined);\n connection?.meeting.on('participant-left', _handleParticipantLeft);\n connection?.meeting.on('chat-message', _handleChatMessage);\n\n return () => {\n connection?.meeting.off('participant-joined', _handleParticipantJoined);\n connection?.meeting.off('participant-left', _handleParticipantLeft);\n connection?.meeting.off('chat-message', _handleChatMessage);\n };\n }, [connection]);\n\n return {\n connection: {\n id: connection.id,\n close: connection.close,\n payload: connection.payload,\n meeting: {\n id: connection.meeting.id,\n sendChatMessage: connection.meeting.sendChatMessage,\n end: connection.meeting.end,\n participants: _connectionParticipants\n }\n }\n };\n};\n\nexport default useConnection;\n","import { useEffect, useRef, useState } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst usePubSub = (\n topic,\n { onMessageReceived = () => {}, onOldMessagesReceived = () => {} } = {}\n) => {\n const { meeting, isMeetingJoined } = useMeeting();\n const [messages, setMessages] = useState([]);\n const isSubscribed = useRef(false);\n const publish = (message, options) => {\n if (meeting) {\n meeting.pubSub.publish(topic, message, options);\n }\n };\n\n const _handlePubSub = data => {\n setMessages(s => [...s, data]);\n onMessageReceived(data);\n };\n\n const subscribeToPubsub = async meeting => {\n const data = await meeting?.pubSub?.subscribe(topic, _handlePubSub);\n if (data) {\n onOldMessagesReceived(data.messages);\n setMessages(data.messages);\n }\n };\n\n useEffect(() => {\n if (meeting && !isSubscribed.current && isMeetingJoined) {\n isSubscribed.current = true;\n subscribeToPubsub(meeting);\n\n return () => {\n meeting?.pubSub?.unsubscribe(topic, _handlePubSub);\n };\n }\n }, [meeting, isMeetingJoined]);\n\n return { publish, messages };\n};\n\nexport default usePubSub;\n","import MeetingProvider from './meeting/MeetingProvider';\nimport {\n MeetingConsumer,\n useMeeting\n} from './meeting/meetingProviderContextDef';\nimport useParticipant from './participant/useParticipant';\nimport useConnection from './connection/useConnection';\nimport usePubSub from './pubSub/usePubSub';\nimport { VideoSDK } from '@videosdk.live/js-sdk';\n\nconst Constants = VideoSDK.Constants;\n\nconst createCameraVideoTrack = async ({\n cameraId = undefined,\n encoderConfig = undefined,\n facingMode = undefined,\n optimizationMode = undefined\n}) => {\n return await VideoSDK.createCameraVideoTrack({\n cameraId,\n encoderConfig,\n facingMode,\n optimizationMode\n });\n};\n\nconst createScreenShareVideoTrack = async ({\n encoderConfig = undefined,\n optimizationMode = undefined\n // withAudio = \"enable\" | \"disable\" | \"auto\"\n}) => {\n return await VideoSDK.createScreenShareVideoTrack({\n encoderConfig,\n optimizationMode\n });\n};\n\nconst createMicrophoneAudioTrack = async ({\n noiseConfig = undefined,\n encoderConfig = undefined,\n microphoneId = undefined\n}) => {\n return await VideoSDK.createMicrophoneAudioTrack({\n noiseConfig,\n encoderConfig,\n microphoneId\n });\n};\n\nexport {\n MeetingProvider,\n useMeeting,\n useParticipant,\n usePubSub,\n MeetingConsumer,\n useConnection,\n Constants,\n createCameraVideoTrack,\n createMicrophoneAudioTrack,\n createScreenShareVideoTrack\n};\n"],"names":["eventPrifix","events","error","eventEmitter","EventEmitter","setMaxListeners","MeetingProviderContex","createContext","useMeeting","onParticipantJoined","onParticipantLeft","onSpeakerChanged","onPresenterChanged","onMainParticipantChanged","onEntryRequested","onEntryResponded","onRecordingStarted","onRecordingStopped","onChatMessage","onMeetingJoined","onMeetingLeft","onLiveStreamStarted","onLiveStreamStopped","onVideoStateChanged","onVideoSeeked","onWebcamRequested","onMicRequested","onPinStateChanged","onConnectionOpen","onConnetionClose","onSwitchMeeting","onError","onHlsStarted","onHlsStopped","useEffect","on","off","useContext","MeetingConsumer","children","React","MeetingProvider","config","token","joinWithoutUserInteraction","_reinitialiseMeetingOnConfigChange","reinitialiseMeetingOnConfigChange","deviceInfo","useState","meeting","setMeeting","localParticipant","setLocalParticipant","mainParticipant","setMainParticipant","activeSpeakerId","setActiveSpeakerId","presenterId","setPresenterId","localMicOn","setLocalMicOn","localWebcamOn","setLocalWebcamOn","localScreenShareOn","setLocalScreenShareOn","isRecording","setIsRecording","messages","setMessages","Map","participants","setParticipants","pinnedParticipants","setPinnedParticipants","isLiveStreaming","setIsLiveStreaming","connections","setConnections","isMeetingJoined","setIsMeetingJoined","isHls","setIsHls","meetingRef","useRef","localMicOnRef","localWebcamOnRef","localScreenShareOnRef","isRecordingRef","configRef","tokenRef","joinedOnFirstRender","isHlsRef","useMemo","current","resetStates","_handle_participant_joined","participant","set","id","participantsToSet","emit","_handle_participant_left","newParticipants","_handle_presenter_changed","_handle_main_participant_changed","_handle_speaker_changed","_handle_chat_message","data","s","_handle_entry_requested","_handle_entry_responded","participantId","decision","_handle_recording_started","_handle_recording_stopped","_handle_localParticipant_stream_enabled","stream","track","readyState","kind","_handle_localParticipant_stream_disabled","_handle_live_stream_started","_handle_live_stream_stopped","_handle_hls_started","_handle_hls_stopped","_handle_video_state_changed","_handle_video_seeked","_handle_webcam_requested","_handle_mic_requested","_handle_meeting_joined","_handle_meeting_left","_handle_pin_state_changed","_handle_connection_open","_handle_connection_close","_handle_switch_meeting","_handle_error","state","pinnedBy","cam","share","pinnedParticipantsToSet","connection","connectionsToSet","connectionId","newConnections","d","join","VideoSDK","initMeeting","leave","end","startRecording","webhookUrl","awsDirPath","stopRecording","unmuteMic","customAudioTrack","undefined","muteMic","toggleMic","disableWebcam","enableWebcam","customVideoTrack","toggleWebcam","disableScreenShare","enableScreenShare","customScreenShareTrack","toggleScreenShare","sendChatMessage","text","respondEntry","getMics","getWebcams","changeWebcam","obj","changeMic","startVideo","link","stopVideo","resumeVideo","pauseVideo","currentTime","seekVideo","startLivestream","streamInfo","stopLivestream","connectTo","meetingId","payload","startHls","stopHls","initSDK","analytics","sdkType","sdkVersion","reactSDKVersion","baseUrl","useParticipant","onStreamEnabled","onStreamDisabled","webcamStream","setwebcamStream","micStream","setMicStream","screenShareStream","setScreenShareStream","pinState","get","setTrack","unSetTrack","_handleStreamEnabled","_handleStreamDisabled","setQuality","quality","setViewPort","width","height","enableMic","disableMic","pin","unpin","switchTo","streams","forEach","displayName","webcamOn","micOn","screenShareOn","isLocal","isActiveSpeaker","isMainParticipant","useConnection","onMeeting","Error","connectionParticipants","_connectionParticipants","setConnectionParticipants","_handleParticipantJoined","_handleParticipantLeft","_handleChatMessage","close","usePubSub","topic","onMessageReceived","onOldMessagesReceived","isSubscribed","publish","message","options","pubSub","_handlePubSub","subscribeToPubsub","subscribe","unsubscribe","Constants","createCameraVideoTrack","cameraId","encoderConfig","facingMode","optimizationMode","createScreenShareVideoTrack","createMicrophoneAudioTrack","noiseConfig","microphoneId"],"mappings":"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"}
@@ -252,7 +252,7 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
252
252
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MeetingProviderContex.Consumer, null, children));
253
253
  };
254
254
 
255
- var version = "0.1.34";
255
+ var version = "0.1.36";
256
256
 
257
257
  var MeetingProvider = function MeetingProvider(_ref) {
258
258
  var children = _ref.children,
@@ -967,6 +967,7 @@ var MeetingProvider = function MeetingProvider(_ref) {
967
967
  value: {
968
968
  meetingId: meeting === null || meeting === void 0 ? void 0 : meeting.id,
969
969
  meeting: meeting,
970
+ baseUrl: meeting === null || meeting === void 0 ? void 0 : meeting.baseUrl,
970
971
  localParticipant: localParticipant,
971
972
  mainParticipant: mainParticipant,
972
973
  activeSpeakerId: activeSpeakerId,
@@ -1114,6 +1115,10 @@ var useParticipant = function useParticipant(participantId, _temp) {
1114
1115
  participant === null || participant === void 0 ? void 0 : participant.setQuality(quality);
1115
1116
  };
1116
1117
 
1118
+ var setViewPort = function setViewPort(width, height) {
1119
+ participant === null || participant === void 0 ? void 0 : participant.setViewPort(width, height);
1120
+ };
1121
+
1117
1122
  var enableMic = function enableMic() {
1118
1123
  participant === null || participant === void 0 ? void 0 : participant.enableMic();
1119
1124
  };
@@ -1172,6 +1177,7 @@ var useParticipant = function useParticipant(participantId, _temp) {
1172
1177
  isMainParticipant: (mainParticipant === null || mainParticipant === void 0 ? void 0 : mainParticipant.id) === participantId,
1173
1178
  pinState: pinState,
1174
1179
  setQuality: setQuality,
1180
+ setViewPort: setViewPort,
1175
1181
  enableMic: enableMic,
1176
1182
  disableMic: disableMic,
1177
1183
  enableWebcam: enableWebcam,
@@ -1 +1 @@
1
- {"version":3,"file":"index.modern.js","sources":["../src/utils.js","../src/meeting/meetingProviderContextDef.js","../src/meeting/MeetingProvider.js","../src/participant/useParticipant.js","../src/connection/useConnection.js","../src/pubSub/usePubSub.js","../src/index.js"],"sourcesContent":["import EventEmitter from 'events';\n\nconst eventPrifix = 'videosdk-live-react-sdk';\n\nconst events = {\n 'participant-joined': `${eventPrifix}-participant-joined`,\n 'participant-left': `${eventPrifix}-participant-left`,\n 'speaker-changed': `${eventPrifix}-speaker-changed`,\n 'presenter-changed': `${eventPrifix}-presenter-changed`,\n 'main-participant-changed': `${eventPrifix}-main-participant-changed`,\n 'entry-requested': `${eventPrifix}-entry-requested`,\n 'entry-responded': `${eventPrifix}-entry-responded`,\n 'recording-started': `${eventPrifix}-recording-started`,\n 'recording-stopped': `${eventPrifix}-recording-stopped`,\n 'chat-message': `${eventPrifix}-chat-message`,\n 'meeting-joined': `${eventPrifix}-meeting-joined`,\n 'meeting-left': `${eventPrifix}-meeting-left`,\n 'live-stream-started': `${eventPrifix}-live-stream-started`,\n 'live-stream-stopped': `${eventPrifix}-live-stream-stopped`,\n 'video-state-changed': `${eventPrifix}-video-state-changed`,\n 'video-seeked': `${eventPrifix}-video-seeked`,\n 'webcam-requested': `${eventPrifix}-webcam-requested`,\n 'mic-requested': `${eventPrifix}-mic-requested`,\n 'pin-state-changed': `${eventPrifix}-pin-state-changed`,\n 'connection-open': `${eventPrifix}-connection-open`,\n 'connection-close': `${eventPrifix}-connection-close`,\n 'switch-meeting': `${eventPrifix}-switch-meeting`,\n error: `${eventPrifix}-error`,\n 'hls-started': `${eventPrifix}-hls-started`,\n 'hls-stopped': `${eventPrifix}-hls-stopped`\n};\n\nconst eventEmitter = new EventEmitter();\neventEmitter.setMaxListeners(9999);\n\nexport { eventEmitter, events };\n","import React from 'react';\nimport { useContext, createContext, useEffect } from 'react';\nimport { eventEmitter, events } from '../utils';\nexport const MeetingProviderContex = createContext();\n\nexport const useMeeting = ({\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {},\n onPinStateChanged = () => {},\n onConnectionOpen = () => {},\n onConnetionClose = () => {},\n onSwitchMeeting = () => {},\n onError = () => {},\n onHlsStarted = () => {},\n onHlsStopped = () => {}\n} = {}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n eventEmitter.on(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.on(events['connection-open'], onConnectionOpen);\n eventEmitter.on(events['connection-close'], onConnetionClose);\n eventEmitter.on(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.on(events['error'], onError);\n eventEmitter.on(events['hls-started'], onHlsStarted);\n eventEmitter.on(events['hls-stopped'], onHlsStopped);\n\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n eventEmitter.off(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.off(events['connection-open'], onConnectionOpen);\n eventEmitter.off(events['connection-close'], onConnetionClose);\n eventEmitter.off(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.off(events['error'], onError);\n eventEmitter.off(events['hls-started'], onHlsStarted);\n eventEmitter.off(events['hls-stopped'], onHlsStopped);\n };\n }, []);\n return useContext(MeetingProviderContex);\n};\n\nexport const MeetingConsumer = ({\n children,\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {},\n onPinStateChanged = () => {},\n onConnectionOpen = () => {},\n onConnetionClose = () => {},\n onSwitchMeeting = () => {},\n onError = () => {},\n onHlsStarted = () => {},\n onHlsStopped = () => {}\n}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n eventEmitter.on(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.on(events['connection-open'], onConnectionOpen);\n eventEmitter.on(events['connection-close'], onConnetionClose);\n eventEmitter.on(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.on(events['error'], onError);\n eventEmitter.on(events['hls-started'], onHlsStarted);\n eventEmitter.on(events['hls-stopped'], onHlsStopped);\n\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n eventEmitter.off(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.off(events['connection-open'], onConnectionOpen);\n eventEmitter.off(events['connection-close'], onConnetionClose);\n eventEmitter.off(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.off(events['error'], onError);\n eventEmitter.off(events['hls-started'], onHlsStarted);\n eventEmitter.off(events['hls-stopped'], onHlsStopped);\n };\n }, []);\n\n return (\n <React.Fragment>\n <MeetingProviderContex.Consumer>\n {children}\n </MeetingProviderContex.Consumer>\n </React.Fragment>\n );\n};\n","import { MeetingProviderContex } from './meetingProviderContextDef';\nimport React, { useEffect, useRef, useState, useMemo } from 'react';\nimport { eventEmitter, events } from '../utils';\nimport { VideoSDK } from '@videosdk.live/js-sdk';\nimport { version as reactSDKVersion } from '../../package.json';\n\nconst MeetingProvider = ({\n children,\n config,\n token,\n joinWithoutUserInteraction,\n reinitialiseMeetingOnConfigChange: _reinitialiseMeetingOnConfigChange,\n deviceInfo\n}) => {\n const [meeting, setMeeting] = useState(null);\n const [localParticipant, setLocalParticipant] = useState(null);\n const [mainParticipant, setMainParticipant] = useState(null);\n const [activeSpeakerId, setActiveSpeakerId] = useState(null);\n const [presenterId, setPresenterId] = useState(null);\n const [localMicOn, setLocalMicOn] = useState(false);\n const [localWebcamOn, setLocalWebcamOn] = useState(false);\n const [localScreenShareOn, setLocalScreenShareOn] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [messages, setMessages] = useState([]);\n const [participants, setParticipants] = useState(new Map());\n const [pinnedParticipants, setPinnedParticipants] = useState(new Map());\n const [isLiveStreaming, setIsLiveStreaming] = useState(false);\n const [connections, setConnections] = useState(new Map());\n const [isMeetingJoined, setIsMeetingJoined] = useState(false);\n const [isHls, setIsHls] = useState(false);\n\n const meetingRef = useRef();\n const localMicOnRef = useRef();\n const localWebcamOnRef = useRef();\n const localScreenShareOnRef = useRef();\n const isRecordingRef = useRef();\n const configRef = useRef(config);\n const tokenRef = useRef(token);\n const joinedOnFirstRender = useRef(false);\n const isHlsRef = useRef();\n\n const reinitialiseMeetingOnConfigChange = useMemo(\n () => _reinitialiseMeetingOnConfigChange,\n []\n );\n\n useEffect(() => {\n meetingRef.current = meeting;\n }, [meeting]);\n useEffect(() => {\n localMicOnRef.current = localMicOn;\n }, [localMicOn]);\n useEffect(() => {\n localWebcamOnRef.current = localWebcamOn;\n }, [localWebcamOn]);\n useEffect(() => {\n localScreenShareOnRef.current = localScreenShareOn;\n }, [localScreenShareOn]);\n useEffect(() => {\n isRecordingRef.current = isRecording;\n }, [isRecording]);\n useEffect(() => {\n configRef.current = config;\n }, [config]);\n useEffect(() => {\n tokenRef.current = token;\n }, [token]);\n useEffect(() => {\n isHlsRef.current = isHls;\n }, [isHls]);\n\n const resetStates = () => {\n setMeeting(null);\n setLocalParticipant(null);\n setMainParticipant(null);\n setActiveSpeakerId(null);\n setPresenterId(null);\n setLocalMicOn(false);\n setLocalWebcamOn(false);\n setLocalScreenShareOn(false);\n setIsRecording(false);\n setMessages([]);\n setIsLiveStreaming(false);\n setParticipants(new Map());\n setPinnedParticipants(new Map());\n setConnections(new Map());\n setIsMeetingJoined(false);\n setIsHls(false);\n };\n\n const _handle_participant_joined = participant => {\n setParticipants(participants => {\n participants.set(participant.id, participant);\n const participantsToSet = new Map(participants);\n\n return participantsToSet;\n });\n eventEmitter.emit(events['participant-joined'], participant);\n };\n const _handle_participant_left = participant => {\n setParticipants(participants => {\n participants.delete(participant.id);\n\n const newParticipants = new Map(participants);\n return newParticipants;\n });\n eventEmitter.emit(events['participant-left'], participant);\n };\n const _handle_presenter_changed = presenterId => {\n setPresenterId(presenterId);\n setLocalScreenShareOn(\n presenterId === meetingRef?.current?.localParticipant?.id\n );\n eventEmitter.emit(events['presenter-changed'], presenterId);\n };\n const _handle_main_participant_changed = participant => {\n setMainParticipant(participant);\n eventEmitter.emit(events['main-participant-changed'], participant);\n };\n const _handle_speaker_changed = activeSpeakerId => {\n setActiveSpeakerId(activeSpeakerId);\n eventEmitter.emit(events['speaker-changed'], activeSpeakerId);\n };\n const _handle_chat_message = data => {\n setMessages(s => [...s, data]);\n\n eventEmitter.emit(events['chat-message'], data);\n };\n const _handle_entry_requested = data => {\n eventEmitter.emit(events['entry-requested'], data);\n };\n const _handle_entry_responded = (participantId, decision) => {\n eventEmitter.emit(events['entry-responded'], participantId, decision);\n };\n const _handle_recording_started = () => {\n setIsRecording(true);\n eventEmitter.emit(events['recording-started']);\n };\n const _handle_recording_stopped = () => {\n setIsRecording(false);\n eventEmitter.emit(events['recording-stopped']);\n };\n\n const _handle_localParticipant_stream_enabled = stream => {\n if (stream.track.readyState === 'live') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(true);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(true);\n }\n }\n };\n const _handle_localParticipant_stream_disabled = stream => {\n if (stream.track.readyState === 'ended') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(false);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(false);\n }\n }\n };\n const _handle_live_stream_started = data => {\n setIsLiveStreaming(true);\n eventEmitter.emit(events['live-stream-started'], data);\n };\n const _handle_live_stream_stopped = () => {\n setIsLiveStreaming(false);\n eventEmitter.emit(events['live-stream-stopped']);\n };\n const _handle_hls_started = data => {\n setIsHls(true);\n eventEmitter.emit(events['hls-started'], data);\n };\n const _handle_hls_stopped = () => {\n setIsHls(false);\n eventEmitter.emit(events['hls-stopped']);\n };\n const _handle_video_state_changed = data => {\n eventEmitter.emit(events['video-state-changed'], data);\n };\n const _handle_video_seeked = data => {\n eventEmitter.emit(events['video-seeked'], data);\n };\n\n const _handle_webcam_requested = data => {\n eventEmitter.emit(events['webcam-requested'], data);\n };\n\n const _handle_mic_requested = data => {\n eventEmitter.emit(events['mic-requested'], data);\n };\n\n const _handle_meeting_joined = data => {\n joinedOnFirstRender.current = true;\n setMessages(s => [...s, ...data.messages]);\n eventEmitter.emit(events['meeting-joined'], data);\n setIsMeetingJoined(true);\n };\n\n const _handle_meeting_left = () => {\n eventEmitter.emit(events['meeting-left']);\n\n const meeting = meetingRef.current;\n\n if (meeting) {\n if (typeof meeting?.off === 'function') {\n meeting.off('participant-joined', _handle_participant_joined);\n meeting.off('participant-left', _handle_participant_left);\n meeting.off('presenter-changed', _handle_presenter_changed);\n meeting.off(\n 'main-participant-changed',\n _handle_main_participant_changed\n );\n meeting.off('speaker-changed', _handle_speaker_changed);\n meeting.off('entry-requested', _handle_entry_requested);\n meeting.off('entry-responded', _handle_entry_responded);\n meeting.off('chat-message', _handle_chat_message);\n meeting.off('recording-started', _handle_recording_started);\n meeting.off('recording-stopped', _handle_recording_stopped);\n meeting.off('meeting-joined', _handle_meeting_joined);\n meeting.off('meeting-left', _handle_meeting_left);\n meeting.off('livestream-started', _handle_live_stream_started);\n meeting.off('livestream-stopped', _handle_live_stream_stopped);\n meeting.off('video-state-changed', _handle_video_state_changed);\n meeting.off('video-seeked', _handle_video_seeked);\n meeting.off('webcam-requested', _handle_webcam_requested);\n meeting.off('mic-requested', _handle_mic_requested);\n meeting.off('pin-state-changed', _handle_pin_state_changed);\n meeting.off('connection-open', _handle_connection_open);\n meeting.off('connection-close', _handle_connection_close);\n meeting.off('switch-meeting', _handle_switch_meeting);\n meeting.off('error', _handle_error);\n meeting.off('hls-started', _handle_hls_started);\n meeting.off('hls-stopped', _handle_hls_stopped);\n }\n\n if (typeof meeting?.localParticipant?.off === 'function') {\n meeting.localParticipant.off(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n\n meeting.localParticipant.off(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n }\n\n resetStates();\n }\n };\n\n const _handle_pin_state_changed = ({ participantId, state, pinnedBy }) => {\n setPinnedParticipants(pinnedParticipants => {\n if (!state.cam && !state.share) {\n pinnedParticipants.delete(participantId);\n } else {\n pinnedParticipants.set(participantId, state);\n }\n\n const pinnedParticipantsToSet = new Map(pinnedParticipants);\n\n return pinnedParticipantsToSet;\n });\n\n eventEmitter.emit(events['pin-state-changed'], {\n participantId,\n state,\n pinnedBy\n });\n };\n\n const _handle_connection_open = connection => {\n setConnections(s => {\n s.set(connection.id, connection);\n const connectionsToSet = new Map(s);\n return connectionsToSet;\n });\n eventEmitter.emit(events['connection-open'], connection);\n };\n\n const _handle_connection_close = connectionId => {\n setConnections(s => {\n s.delete(connectionId);\n const newConnections = new Map(s);\n return newConnections;\n });\n eventEmitter.emit(events['connection-close'], connectionId);\n };\n\n const _handle_switch_meeting = d => {\n eventEmitter.emit(events['switch-meeting'], d);\n };\n const _handle_error = data => {\n eventEmitter.emit(events['error'], data);\n };\n\n const join = () => {\n const meeting = VideoSDK && VideoSDK.initMeeting(configRef.current);\n setMeeting(meeting);\n const { localParticipant, participants } = meeting;\n participants.set(localParticipant.id, localParticipant);\n setParticipants(participants);\n setLocalParticipant(localParticipant);\n meeting.on('participant-joined', _handle_participant_joined);\n meeting.on('participant-left', _handle_participant_left);\n meeting.on('presenter-changed', _handle_presenter_changed);\n meeting.on('main-participant-changed', _handle_main_participant_changed);\n meeting.on('speaker-changed', _handle_speaker_changed);\n meeting.on('entry-requested', _handle_entry_requested);\n meeting.on('entry-responded', _handle_entry_responded);\n meeting.on('chat-message', _handle_chat_message);\n meeting.on('recording-started', _handle_recording_started);\n meeting.on('recording-stopped', _handle_recording_stopped);\n meeting.on('meeting-joined', _handle_meeting_joined);\n meeting.on('meeting-left', _handle_meeting_left);\n meeting.on('livestream-started', _handle_live_stream_started);\n meeting.on('livestream-stopped', _handle_live_stream_stopped);\n meeting.on('video-state-changed', _handle_video_state_changed);\n meeting.on('video-seeked', _handle_video_seeked);\n meeting.on('webcam-requested', _handle_webcam_requested);\n meeting.on('mic-requested', _handle_mic_requested);\n meeting.on('pin-state-changed', _handle_pin_state_changed);\n\n meeting.on('connection-open', _handle_connection_open);\n meeting.on('connection-close', _handle_connection_close);\n meeting.on('switch-meeting', _handle_switch_meeting);\n meeting.on('error', _handle_error);\n meeting.on('hls-started', _handle_hls_started);\n meeting.on('hls-stopped', _handle_hls_stopped);\n\n meeting.localParticipant.on(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n meeting.localParticipant.on(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n meeting.join();\n };\n\n const leave = () => {\n const meeting = meetingRef.current;\n\n if (meeting) {\n meeting.leave();\n }\n };\n\n const end = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.end();\n }\n };\n const startRecording = (webhookUrl, awsDirPath, config) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startRecording(webhookUrl, awsDirPath, config);\n }\n };\n const stopRecording = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n const isRecording = isRecordingRef.current;\n if (isRecording) {\n meeting.stopRecording();\n }\n }\n };\n const unmuteMic = (customAudioTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.unmuteMic(customAudioTrack);\n }\n };\n const muteMic = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.muteMic();\n }\n };\n const toggleMic = (customAudioTrack = undefined) => {\n const localMicOn = localMicOnRef.current;\n\n if (localMicOn) {\n muteMic();\n } else {\n unmuteMic(customAudioTrack);\n }\n };\n const disableWebcam = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableWebcam();\n }\n };\n const enableWebcam = (customVideoTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableWebcam(customVideoTrack);\n }\n };\n const toggleWebcam = (customVideoTrack = undefined) => {\n const localWebcamOn = localWebcamOnRef.current;\n\n if (localWebcamOn) {\n disableWebcam();\n } else {\n enableWebcam(customVideoTrack);\n }\n };\n const disableScreenShare = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableScreenShare();\n }\n };\n const enableScreenShare = (customScreenShareTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableScreenShare(customScreenShareTrack);\n }\n };\n const toggleScreenShare = (customScreenShareTrack = undefined) => {\n const localScreenShareOn = localScreenShareOnRef.current;\n\n if (localScreenShareOn) {\n disableScreenShare();\n } else {\n enableScreenShare(customScreenShareTrack);\n }\n };\n const sendChatMessage = text => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.sendChatMessage(text);\n }\n };\n const respondEntry = (participantId, decision) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.respondEntry(participantId, decision);\n }\n };\n const getMics = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getMics();\n }\n };\n const getWebcams = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getWebcams();\n }\n };\n const changeWebcam = obj => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeWebcam(obj);\n }\n };\n const changeMic = obj => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeMic(obj);\n }\n };\n const startVideo = ({ link }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startVideo({ link });\n }\n };\n\n const stopVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopVideo();\n }\n };\n\n const resumeVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.resumeVideo();\n }\n };\n\n const pauseVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.pauseVideo({ currentTime });\n }\n };\n\n const seekVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.seekVideo({ currentTime });\n }\n };\n\n const startLivestream = (streamInfo, config) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startLivestream(streamInfo, config);\n }\n };\n\n const stopLivestream = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopLivestream();\n }\n };\n\n const connectTo = async ({ meetingId, payload }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n await meeting.connectTo({ meetingId, payload });\n }\n };\n\n const startHls = config => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startHls(config);\n }\n };\n\n const stopHls = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopHls();\n }\n };\n\n const initSDK = () => {\n VideoSDK.config(tokenRef.current);\n\n if (deviceInfo) {\n VideoSDK.analytics(deviceInfo);\n } else {\n VideoSDK.analytics({\n sdkType: 'react-web',\n sdkVersion: reactSDKVersion\n });\n }\n\n if (joinWithoutUserInteraction) {\n join();\n }\n };\n\n useEffect(() => {\n initSDK();\n }, []);\n\n useEffect(() => {\n if (reinitialiseMeetingOnConfigChange && joinedOnFirstRender.current) {\n leave();\n initSDK();\n !joinWithoutUserInteraction && join();\n }\n }, [config.meetingId, token, reinitialiseMeetingOnConfigChange]);\n\n return (\n <MeetingProviderContex.Provider\n value={{\n meetingId: meeting?.id,\n meeting,\n localParticipant,\n mainParticipant,\n activeSpeakerId,\n participants,\n presenterId,\n localMicOn,\n localWebcamOn,\n localScreenShareOn,\n messages,\n isRecording,\n isLiveStreaming,\n pinnedParticipants,\n connections,\n isHls,\n //\n join,\n leave,\n end,\n //\n startRecording,\n stopRecording,\n //\n sendChatMessage,\n respondEntry,\n //\n muteMic,\n unmuteMic,\n toggleMic,\n //\n disableWebcam,\n enableWebcam,\n toggleWebcam,\n //\n disableScreenShare,\n enableScreenShare,\n toggleScreenShare,\n //\n getMics,\n getWebcams,\n changeWebcam,\n changeMic,\n\n startVideo,\n stopVideo,\n resumeVideo,\n pauseVideo,\n seekVideo,\n startLivestream,\n stopLivestream,\n connectTo,\n isMeetingJoined,\n startHls,\n stopHls\n }}\n >\n {children}\n </MeetingProviderContex.Provider>\n );\n};\n\nexport default MeetingProvider;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst useParticipant = (\n participantId,\n { onStreamEnabled = () => {}, onStreamDisabled = () => {} } = {}\n) => {\n const [webcamStream, setwebcamStream] = useState(null);\n const [micStream, setMicStream] = useState(null);\n const [screenShareStream, setScreenShareStream] = useState(null);\n\n const meeting = useMeeting();\n\n const {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n } = useMemo(() => {\n const participants = meeting?.participants;\n const localParticipant = meeting?.localParticipant;\n const activeSpeakerId = meeting?.activeSpeakerId;\n const mainParticipant = meeting?.mainParticipant;\n const pinState = meeting?.pinnedParticipants?.get(participantId) || {\n cam: false,\n share: false\n };\n\n return {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n };\n }, [meeting]);\n\n const participant = participants?.get(participantId);\n\n const setTrack = stream => {\n if (stream.track.readyState === 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(stream);\n break;\n case 'audio':\n setMicStream(stream);\n break;\n case 'share':\n setScreenShareStream(stream);\n break;\n default:\n break;\n }\n }\n };\n\n const unSetTrack = stream => {\n if (stream.track.readyState !== 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(null);\n break;\n case 'audio':\n setMicStream(null);\n break;\n case 'share':\n setScreenShareStream(null);\n break;\n default:\n break;\n }\n }\n };\n\n const _handleStreamEnabled = stream => {\n setTrack(stream);\n onStreamEnabled(stream);\n };\n\n const _handleStreamDisabled = stream => {\n unSetTrack(stream);\n onStreamDisabled(stream);\n };\n\n const setQuality = quality => {\n participant?.setQuality(quality);\n };\n const enableMic = () => {\n participant?.enableMic();\n };\n const disableMic = () => {\n participant?.disableMic();\n };\n const enableWebcam = () => {\n participant?.enableWebcam();\n };\n const disableWebcam = () => {\n participant?.disableWebcam();\n };\n const pin = data => {\n participant?.pin(data);\n };\n const unpin = data => {\n participant?.unpin(data);\n };\n\n const switchTo = async data => {\n await participant?.switchTo(data);\n };\n\n useEffect(() => {\n const streams = participant?.streams;\n\n if (streams) {\n streams.forEach(stream => {\n setTrack(stream);\n });\n }\n\n participant?.on('stream-enabled', _handleStreamEnabled);\n\n participant?.on('stream-disabled', _handleStreamDisabled);\n\n return () => {\n participant?.off('stream-enabled', _handleStreamEnabled);\n\n participant?.off('stream-disabled', _handleStreamDisabled);\n };\n }, [participant]);\n\n return {\n displayName: participant?.displayName,\n participant,\n webcamStream,\n micStream,\n screenShareStream,\n webcamOn: !!webcamStream,\n micOn: !!micStream,\n screenShareOn: !!screenShareStream,\n isLocal: localParticipant?.id === participantId,\n isActiveSpeaker: activeSpeakerId === participantId,\n isMainParticipant: mainParticipant?.id === participantId,\n pinState,\n\n //\n setQuality,\n enableMic,\n disableMic,\n enableWebcam,\n disableWebcam,\n pin,\n unpin,\n switchTo\n };\n};\n\nexport default useParticipant;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst useConnection = (\n connectionId,\n { onMeeting } = {\n onMeeting: {\n onParticipantJoined: () => {},\n onParticipantLeft: () => {},\n onChatMessage: () => {}\n }\n }\n) => {\n const onParticipantJoined = onMeeting?.onParticipantJoined;\n const onParticipantLeft = onMeeting?.onParticipantLeft;\n const onChatMessage = onMeeting?.onChatMessage;\n\n const meeting = useMeeting();\n\n const { connection, connectionParticipants } = useMemo(() => {\n const connection = meeting?.connections.get(connectionId);\n\n if (!connection) {\n throw new Error('connectionId not found');\n }\n\n const connectionParticipants = new Map(connection.meeting.participants);\n\n return {\n connection,\n connectionParticipants\n };\n }, [meeting]);\n\n const [_connectionParticipants, setConnectionParticipants] = useState(\n new Map(connectionParticipants)\n );\n\n const _handleParticipantJoined = participant => {\n setConnectionParticipants(s => {\n s.set(participant.id, participant);\n const participantsToSet = new Map(s);\n return participantsToSet;\n });\n onParticipantJoined(participant);\n };\n const _handleParticipantLeft = participantId => {\n setConnectionParticipants(s => {\n s.delete(participantId);\n const newParticipants = new Map(s);\n return newParticipants;\n });\n onParticipantLeft(participantId);\n };\n\n const _handleChatMessage = data => {\n onChatMessage(data);\n };\n\n useEffect(() => {\n connection?.meeting.on('participant-joined', _handleParticipantJoined);\n connection?.meeting.on('participant-left', _handleParticipantLeft);\n connection?.meeting.on('chat-message', _handleChatMessage);\n\n return () => {\n connection?.meeting.off('participant-joined', _handleParticipantJoined);\n connection?.meeting.off('participant-left', _handleParticipantLeft);\n connection?.meeting.off('chat-message', _handleChatMessage);\n };\n }, [connection]);\n\n return {\n connection: {\n id: connection.id,\n close: connection.close,\n payload: connection.payload,\n meeting: {\n id: connection.meeting.id,\n sendChatMessage: connection.meeting.sendChatMessage,\n end: connection.meeting.end,\n participants: _connectionParticipants\n }\n }\n };\n};\n\nexport default useConnection;\n","import { useEffect, useRef, useState } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst usePubSub = (\n topic,\n { onMessageReceived = () => {}, onOldMessagesReceived = () => {} } = {}\n) => {\n const { meeting, isMeetingJoined } = useMeeting();\n const [messages, setMessages] = useState([]);\n const isSubscribed = useRef(false);\n const publish = (message, options) => {\n if (meeting) {\n meeting.pubSub.publish(topic, message, options);\n }\n };\n\n const _handlePubSub = data => {\n setMessages(s => [...s, data]);\n onMessageReceived(data);\n };\n\n const subscribeToPubsub = async meeting => {\n const data = await meeting?.pubSub?.subscribe(topic, _handlePubSub);\n if (data) {\n onOldMessagesReceived(data.messages);\n setMessages(data.messages);\n }\n };\n\n useEffect(() => {\n if (meeting && !isSubscribed.current && isMeetingJoined) {\n isSubscribed.current = true;\n subscribeToPubsub(meeting);\n\n return () => {\n meeting?.pubSub?.unsubscribe(topic, _handlePubSub);\n };\n }\n }, [meeting, isMeetingJoined]);\n\n return { publish, messages };\n};\n\nexport default usePubSub;\n","import MeetingProvider from './meeting/MeetingProvider';\nimport {\n MeetingConsumer,\n useMeeting\n} from './meeting/meetingProviderContextDef';\nimport useParticipant from './participant/useParticipant';\nimport useConnection from './connection/useConnection';\nimport usePubSub from './pubSub/usePubSub';\nimport { VideoSDK } from '@videosdk.live/js-sdk';\n\nconst Constants = VideoSDK.Constants;\n\nconst createCameraVideoTrack = async ({\n cameraId = undefined,\n encoderConfig = undefined,\n facingMode = undefined,\n optimizationMode = undefined\n}) => {\n return await VideoSDK.createCameraVideoTrack({\n cameraId,\n encoderConfig,\n facingMode,\n optimizationMode\n });\n};\n\nconst createScreenShareVideoTrack = async ({\n encoderConfig = undefined,\n optimizationMode = undefined\n // withAudio = \"enable\" | \"disable\" | \"auto\"\n}) => {\n return await VideoSDK.createScreenShareVideoTrack({\n encoderConfig,\n optimizationMode\n });\n};\n\nconst createMicrophoneAudioTrack = async ({\n noiseConfig = undefined,\n encoderConfig = undefined,\n microphoneId = undefined\n}) => {\n return await VideoSDK.createMicrophoneAudioTrack({\n noiseConfig,\n encoderConfig,\n microphoneId\n });\n};\n\nexport {\n MeetingProvider,\n useMeeting,\n useParticipant,\n usePubSub,\n MeetingConsumer,\n useConnection,\n Constants,\n createCameraVideoTrack,\n createMicrophoneAudioTrack,\n createScreenShareVideoTrack\n};\n"],"names":["eventPrifix","events","error","eventEmitter","EventEmitter","setMaxListeners","MeetingProviderContex","createContext","useMeeting","onParticipantJoined","onParticipantLeft","onSpeakerChanged","onPresenterChanged","onMainParticipantChanged","onEntryRequested","onEntryResponded","onRecordingStarted","onRecordingStopped","onChatMessage","onMeetingJoined","onMeetingLeft","onLiveStreamStarted","onLiveStreamStopped","onVideoStateChanged","onVideoSeeked","onWebcamRequested","onMicRequested","onPinStateChanged","onConnectionOpen","onConnetionClose","onSwitchMeeting","onError","onHlsStarted","onHlsStopped","useEffect","on","off","useContext","MeetingConsumer","children","MeetingProvider","config","token","joinWithoutUserInteraction","_reinitialiseMeetingOnConfigChange","reinitialiseMeetingOnConfigChange","deviceInfo","useState","meeting","setMeeting","localParticipant","setLocalParticipant","mainParticipant","setMainParticipant","activeSpeakerId","setActiveSpeakerId","presenterId","setPresenterId","localMicOn","setLocalMicOn","localWebcamOn","setLocalWebcamOn","localScreenShareOn","setLocalScreenShareOn","isRecording","setIsRecording","messages","setMessages","Map","participants","setParticipants","pinnedParticipants","setPinnedParticipants","isLiveStreaming","setIsLiveStreaming","connections","setConnections","isMeetingJoined","setIsMeetingJoined","isHls","setIsHls","meetingRef","useRef","localMicOnRef","localWebcamOnRef","localScreenShareOnRef","isRecordingRef","configRef","tokenRef","joinedOnFirstRender","isHlsRef","useMemo","current","resetStates","_handle_participant_joined","participant","set","id","participantsToSet","emit","_handle_participant_left","newParticipants","_handle_presenter_changed","_handle_main_participant_changed","_handle_speaker_changed","_handle_chat_message","data","s","_handle_entry_requested","_handle_entry_responded","participantId","decision","_handle_recording_started","_handle_recording_stopped","_handle_localParticipant_stream_enabled","stream","track","readyState","kind","_handle_localParticipant_stream_disabled","_handle_live_stream_started","_handle_live_stream_stopped","_handle_hls_started","_handle_hls_stopped","_handle_video_state_changed","_handle_video_seeked","_handle_webcam_requested","_handle_mic_requested","_handle_meeting_joined","_handle_meeting_left","_handle_pin_state_changed","_handle_connection_open","_handle_connection_close","_handle_switch_meeting","_handle_error","state","pinnedBy","cam","share","pinnedParticipantsToSet","connection","connectionsToSet","connectionId","newConnections","d","join","VideoSDK","initMeeting","leave","end","startRecording","webhookUrl","awsDirPath","stopRecording","unmuteMic","customAudioTrack","undefined","muteMic","toggleMic","disableWebcam","enableWebcam","customVideoTrack","toggleWebcam","disableScreenShare","enableScreenShare","customScreenShareTrack","toggleScreenShare","sendChatMessage","text","respondEntry","getMics","getWebcams","changeWebcam","obj","changeMic","startVideo","link","stopVideo","resumeVideo","pauseVideo","currentTime","seekVideo","startLivestream","streamInfo","stopLivestream","connectTo","meetingId","payload","startHls","stopHls","initSDK","analytics","sdkType","sdkVersion","reactSDKVersion","useParticipant","onStreamEnabled","onStreamDisabled","webcamStream","setwebcamStream","micStream","setMicStream","screenShareStream","setScreenShareStream","pinState","get","setTrack","unSetTrack","_handleStreamEnabled","_handleStreamDisabled","setQuality","quality","enableMic","disableMic","pin","unpin","switchTo","streams","forEach","displayName","webcamOn","micOn","screenShareOn","isLocal","isActiveSpeaker","isMainParticipant","useConnection","onMeeting","Error","connectionParticipants","_connectionParticipants","setConnectionParticipants","_handleParticipantJoined","_handleParticipantLeft","_handleChatMessage","close","usePubSub","topic","onMessageReceived","onOldMessagesReceived","isSubscribed","publish","message","options","pubSub","_handlePubSub","subscribeToPubsub","subscribe","unsubscribe","Constants","createCameraVideoTrack","cameraId","encoderConfig","facingMode","optimizationMode","createScreenShareVideoTrack","createMicrophoneAudioTrack","noiseConfig","microphoneId"],"mappings":"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"}
1
+ {"version":3,"file":"index.modern.js","sources":["../src/utils.js","../src/meeting/meetingProviderContextDef.js","../src/meeting/MeetingProvider.js","../src/participant/useParticipant.js","../src/connection/useConnection.js","../src/pubSub/usePubSub.js","../src/index.js"],"sourcesContent":["import EventEmitter from 'events';\n\nconst eventPrifix = 'videosdk-live-react-sdk';\n\nconst events = {\n 'participant-joined': `${eventPrifix}-participant-joined`,\n 'participant-left': `${eventPrifix}-participant-left`,\n 'speaker-changed': `${eventPrifix}-speaker-changed`,\n 'presenter-changed': `${eventPrifix}-presenter-changed`,\n 'main-participant-changed': `${eventPrifix}-main-participant-changed`,\n 'entry-requested': `${eventPrifix}-entry-requested`,\n 'entry-responded': `${eventPrifix}-entry-responded`,\n 'recording-started': `${eventPrifix}-recording-started`,\n 'recording-stopped': `${eventPrifix}-recording-stopped`,\n 'chat-message': `${eventPrifix}-chat-message`,\n 'meeting-joined': `${eventPrifix}-meeting-joined`,\n 'meeting-left': `${eventPrifix}-meeting-left`,\n 'live-stream-started': `${eventPrifix}-live-stream-started`,\n 'live-stream-stopped': `${eventPrifix}-live-stream-stopped`,\n 'video-state-changed': `${eventPrifix}-video-state-changed`,\n 'video-seeked': `${eventPrifix}-video-seeked`,\n 'webcam-requested': `${eventPrifix}-webcam-requested`,\n 'mic-requested': `${eventPrifix}-mic-requested`,\n 'pin-state-changed': `${eventPrifix}-pin-state-changed`,\n 'connection-open': `${eventPrifix}-connection-open`,\n 'connection-close': `${eventPrifix}-connection-close`,\n 'switch-meeting': `${eventPrifix}-switch-meeting`,\n error: `${eventPrifix}-error`,\n 'hls-started': `${eventPrifix}-hls-started`,\n 'hls-stopped': `${eventPrifix}-hls-stopped`\n};\n\nconst eventEmitter = new EventEmitter();\neventEmitter.setMaxListeners(9999);\n\nexport { eventEmitter, events };\n","import React from 'react';\nimport { useContext, createContext, useEffect } from 'react';\nimport { eventEmitter, events } from '../utils';\nexport const MeetingProviderContex = createContext();\n\nexport const useMeeting = ({\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {},\n onPinStateChanged = () => {},\n onConnectionOpen = () => {},\n onConnetionClose = () => {},\n onSwitchMeeting = () => {},\n onError = () => {},\n onHlsStarted = () => {},\n onHlsStopped = () => {}\n} = {}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n eventEmitter.on(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.on(events['connection-open'], onConnectionOpen);\n eventEmitter.on(events['connection-close'], onConnetionClose);\n eventEmitter.on(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.on(events['error'], onError);\n eventEmitter.on(events['hls-started'], onHlsStarted);\n eventEmitter.on(events['hls-stopped'], onHlsStopped);\n\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n eventEmitter.off(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.off(events['connection-open'], onConnectionOpen);\n eventEmitter.off(events['connection-close'], onConnetionClose);\n eventEmitter.off(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.off(events['error'], onError);\n eventEmitter.off(events['hls-started'], onHlsStarted);\n eventEmitter.off(events['hls-stopped'], onHlsStopped);\n };\n }, []);\n return useContext(MeetingProviderContex);\n};\n\nexport const MeetingConsumer = ({\n children,\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {},\n onPinStateChanged = () => {},\n onConnectionOpen = () => {},\n onConnetionClose = () => {},\n onSwitchMeeting = () => {},\n onError = () => {},\n onHlsStarted = () => {},\n onHlsStopped = () => {}\n}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n eventEmitter.on(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.on(events['connection-open'], onConnectionOpen);\n eventEmitter.on(events['connection-close'], onConnetionClose);\n eventEmitter.on(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.on(events['error'], onError);\n eventEmitter.on(events['hls-started'], onHlsStarted);\n eventEmitter.on(events['hls-stopped'], onHlsStopped);\n\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n eventEmitter.off(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.off(events['connection-open'], onConnectionOpen);\n eventEmitter.off(events['connection-close'], onConnetionClose);\n eventEmitter.off(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.off(events['error'], onError);\n eventEmitter.off(events['hls-started'], onHlsStarted);\n eventEmitter.off(events['hls-stopped'], onHlsStopped);\n };\n }, []);\n\n return (\n <React.Fragment>\n <MeetingProviderContex.Consumer>\n {children}\n </MeetingProviderContex.Consumer>\n </React.Fragment>\n );\n};\n","import { MeetingProviderContex } from './meetingProviderContextDef';\nimport React, { useEffect, useRef, useState, useMemo } from 'react';\nimport { eventEmitter, events } from '../utils';\nimport { VideoSDK } from '@videosdk.live/js-sdk';\nimport { version as reactSDKVersion } from '../../package.json';\n\nconst MeetingProvider = ({\n children,\n config,\n token,\n joinWithoutUserInteraction,\n reinitialiseMeetingOnConfigChange: _reinitialiseMeetingOnConfigChange,\n deviceInfo\n}) => {\n const [meeting, setMeeting] = useState(null);\n const [localParticipant, setLocalParticipant] = useState(null);\n const [mainParticipant, setMainParticipant] = useState(null);\n const [activeSpeakerId, setActiveSpeakerId] = useState(null);\n const [presenterId, setPresenterId] = useState(null);\n const [localMicOn, setLocalMicOn] = useState(false);\n const [localWebcamOn, setLocalWebcamOn] = useState(false);\n const [localScreenShareOn, setLocalScreenShareOn] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [messages, setMessages] = useState([]);\n const [participants, setParticipants] = useState(new Map());\n const [pinnedParticipants, setPinnedParticipants] = useState(new Map());\n const [isLiveStreaming, setIsLiveStreaming] = useState(false);\n const [connections, setConnections] = useState(new Map());\n const [isMeetingJoined, setIsMeetingJoined] = useState(false);\n const [isHls, setIsHls] = useState(false);\n\n const meetingRef = useRef();\n const localMicOnRef = useRef();\n const localWebcamOnRef = useRef();\n const localScreenShareOnRef = useRef();\n const isRecordingRef = useRef();\n const configRef = useRef(config);\n const tokenRef = useRef(token);\n const joinedOnFirstRender = useRef(false);\n const isHlsRef = useRef();\n\n const reinitialiseMeetingOnConfigChange = useMemo(\n () => _reinitialiseMeetingOnConfigChange,\n []\n );\n\n useEffect(() => {\n meetingRef.current = meeting;\n }, [meeting]);\n useEffect(() => {\n localMicOnRef.current = localMicOn;\n }, [localMicOn]);\n useEffect(() => {\n localWebcamOnRef.current = localWebcamOn;\n }, [localWebcamOn]);\n useEffect(() => {\n localScreenShareOnRef.current = localScreenShareOn;\n }, [localScreenShareOn]);\n useEffect(() => {\n isRecordingRef.current = isRecording;\n }, [isRecording]);\n useEffect(() => {\n configRef.current = config;\n }, [config]);\n useEffect(() => {\n tokenRef.current = token;\n }, [token]);\n useEffect(() => {\n isHlsRef.current = isHls;\n }, [isHls]);\n\n const resetStates = () => {\n setMeeting(null);\n setLocalParticipant(null);\n setMainParticipant(null);\n setActiveSpeakerId(null);\n setPresenterId(null);\n setLocalMicOn(false);\n setLocalWebcamOn(false);\n setLocalScreenShareOn(false);\n setIsRecording(false);\n setMessages([]);\n setIsLiveStreaming(false);\n setParticipants(new Map());\n setPinnedParticipants(new Map());\n setConnections(new Map());\n setIsMeetingJoined(false);\n setIsHls(false);\n };\n\n const _handle_participant_joined = participant => {\n setParticipants(participants => {\n participants.set(participant.id, participant);\n const participantsToSet = new Map(participants);\n\n return participantsToSet;\n });\n eventEmitter.emit(events['participant-joined'], participant);\n };\n const _handle_participant_left = participant => {\n setParticipants(participants => {\n participants.delete(participant.id);\n\n const newParticipants = new Map(participants);\n return newParticipants;\n });\n eventEmitter.emit(events['participant-left'], participant);\n };\n const _handle_presenter_changed = presenterId => {\n setPresenterId(presenterId);\n setLocalScreenShareOn(\n presenterId === meetingRef?.current?.localParticipant?.id\n );\n eventEmitter.emit(events['presenter-changed'], presenterId);\n };\n const _handle_main_participant_changed = participant => {\n setMainParticipant(participant);\n eventEmitter.emit(events['main-participant-changed'], participant);\n };\n const _handle_speaker_changed = activeSpeakerId => {\n setActiveSpeakerId(activeSpeakerId);\n eventEmitter.emit(events['speaker-changed'], activeSpeakerId);\n };\n const _handle_chat_message = data => {\n setMessages(s => [...s, data]);\n\n eventEmitter.emit(events['chat-message'], data);\n };\n const _handle_entry_requested = data => {\n eventEmitter.emit(events['entry-requested'], data);\n };\n const _handle_entry_responded = (participantId, decision) => {\n eventEmitter.emit(events['entry-responded'], participantId, decision);\n };\n const _handle_recording_started = () => {\n setIsRecording(true);\n eventEmitter.emit(events['recording-started']);\n };\n const _handle_recording_stopped = () => {\n setIsRecording(false);\n eventEmitter.emit(events['recording-stopped']);\n };\n\n const _handle_localParticipant_stream_enabled = stream => {\n if (stream.track.readyState === 'live') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(true);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(true);\n }\n }\n };\n const _handle_localParticipant_stream_disabled = stream => {\n if (stream.track.readyState === 'ended') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(false);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(false);\n }\n }\n };\n const _handle_live_stream_started = data => {\n setIsLiveStreaming(true);\n eventEmitter.emit(events['live-stream-started'], data);\n };\n const _handle_live_stream_stopped = () => {\n setIsLiveStreaming(false);\n eventEmitter.emit(events['live-stream-stopped']);\n };\n const _handle_hls_started = data => {\n setIsHls(true);\n eventEmitter.emit(events['hls-started'], data);\n };\n const _handle_hls_stopped = () => {\n setIsHls(false);\n eventEmitter.emit(events['hls-stopped']);\n };\n const _handle_video_state_changed = data => {\n eventEmitter.emit(events['video-state-changed'], data);\n };\n const _handle_video_seeked = data => {\n eventEmitter.emit(events['video-seeked'], data);\n };\n\n const _handle_webcam_requested = data => {\n eventEmitter.emit(events['webcam-requested'], data);\n };\n\n const _handle_mic_requested = data => {\n eventEmitter.emit(events['mic-requested'], data);\n };\n\n const _handle_meeting_joined = data => {\n joinedOnFirstRender.current = true;\n setMessages(s => [...s, ...data.messages]);\n eventEmitter.emit(events['meeting-joined'], data);\n setIsMeetingJoined(true);\n };\n\n const _handle_meeting_left = () => {\n eventEmitter.emit(events['meeting-left']);\n\n const meeting = meetingRef.current;\n\n if (meeting) {\n if (typeof meeting?.off === 'function') {\n meeting.off('participant-joined', _handle_participant_joined);\n meeting.off('participant-left', _handle_participant_left);\n meeting.off('presenter-changed', _handle_presenter_changed);\n meeting.off(\n 'main-participant-changed',\n _handle_main_participant_changed\n );\n meeting.off('speaker-changed', _handle_speaker_changed);\n meeting.off('entry-requested', _handle_entry_requested);\n meeting.off('entry-responded', _handle_entry_responded);\n meeting.off('chat-message', _handle_chat_message);\n meeting.off('recording-started', _handle_recording_started);\n meeting.off('recording-stopped', _handle_recording_stopped);\n meeting.off('meeting-joined', _handle_meeting_joined);\n meeting.off('meeting-left', _handle_meeting_left);\n meeting.off('livestream-started', _handle_live_stream_started);\n meeting.off('livestream-stopped', _handle_live_stream_stopped);\n meeting.off('video-state-changed', _handle_video_state_changed);\n meeting.off('video-seeked', _handle_video_seeked);\n meeting.off('webcam-requested', _handle_webcam_requested);\n meeting.off('mic-requested', _handle_mic_requested);\n meeting.off('pin-state-changed', _handle_pin_state_changed);\n meeting.off('connection-open', _handle_connection_open);\n meeting.off('connection-close', _handle_connection_close);\n meeting.off('switch-meeting', _handle_switch_meeting);\n meeting.off('error', _handle_error);\n meeting.off('hls-started', _handle_hls_started);\n meeting.off('hls-stopped', _handle_hls_stopped);\n }\n\n if (typeof meeting?.localParticipant?.off === 'function') {\n meeting.localParticipant.off(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n\n meeting.localParticipant.off(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n }\n\n resetStates();\n }\n };\n\n const _handle_pin_state_changed = ({ participantId, state, pinnedBy }) => {\n setPinnedParticipants(pinnedParticipants => {\n if (!state.cam && !state.share) {\n pinnedParticipants.delete(participantId);\n } else {\n pinnedParticipants.set(participantId, state);\n }\n\n const pinnedParticipantsToSet = new Map(pinnedParticipants);\n\n return pinnedParticipantsToSet;\n });\n\n eventEmitter.emit(events['pin-state-changed'], {\n participantId,\n state,\n pinnedBy\n });\n };\n\n const _handle_connection_open = connection => {\n setConnections(s => {\n s.set(connection.id, connection);\n const connectionsToSet = new Map(s);\n return connectionsToSet;\n });\n eventEmitter.emit(events['connection-open'], connection);\n };\n\n const _handle_connection_close = connectionId => {\n setConnections(s => {\n s.delete(connectionId);\n const newConnections = new Map(s);\n return newConnections;\n });\n eventEmitter.emit(events['connection-close'], connectionId);\n };\n\n const _handle_switch_meeting = d => {\n eventEmitter.emit(events['switch-meeting'], d);\n };\n const _handle_error = data => {\n eventEmitter.emit(events['error'], data);\n };\n\n const join = () => {\n const meeting = VideoSDK && VideoSDK.initMeeting(configRef.current);\n setMeeting(meeting);\n const { localParticipant, participants } = meeting;\n participants.set(localParticipant.id, localParticipant);\n setParticipants(participants);\n setLocalParticipant(localParticipant);\n meeting.on('participant-joined', _handle_participant_joined);\n meeting.on('participant-left', _handle_participant_left);\n meeting.on('presenter-changed', _handle_presenter_changed);\n meeting.on('main-participant-changed', _handle_main_participant_changed);\n meeting.on('speaker-changed', _handle_speaker_changed);\n meeting.on('entry-requested', _handle_entry_requested);\n meeting.on('entry-responded', _handle_entry_responded);\n meeting.on('chat-message', _handle_chat_message);\n meeting.on('recording-started', _handle_recording_started);\n meeting.on('recording-stopped', _handle_recording_stopped);\n meeting.on('meeting-joined', _handle_meeting_joined);\n meeting.on('meeting-left', _handle_meeting_left);\n meeting.on('livestream-started', _handle_live_stream_started);\n meeting.on('livestream-stopped', _handle_live_stream_stopped);\n meeting.on('video-state-changed', _handle_video_state_changed);\n meeting.on('video-seeked', _handle_video_seeked);\n meeting.on('webcam-requested', _handle_webcam_requested);\n meeting.on('mic-requested', _handle_mic_requested);\n meeting.on('pin-state-changed', _handle_pin_state_changed);\n\n meeting.on('connection-open', _handle_connection_open);\n meeting.on('connection-close', _handle_connection_close);\n meeting.on('switch-meeting', _handle_switch_meeting);\n meeting.on('error', _handle_error);\n meeting.on('hls-started', _handle_hls_started);\n meeting.on('hls-stopped', _handle_hls_stopped);\n\n meeting.localParticipant.on(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n meeting.localParticipant.on(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n meeting.join();\n };\n\n const leave = () => {\n const meeting = meetingRef.current;\n\n if (meeting) {\n meeting.leave();\n }\n };\n\n const end = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.end();\n }\n };\n const startRecording = (webhookUrl, awsDirPath, config) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startRecording(webhookUrl, awsDirPath, config);\n }\n };\n const stopRecording = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n const isRecording = isRecordingRef.current;\n if (isRecording) {\n meeting.stopRecording();\n }\n }\n };\n const unmuteMic = (customAudioTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.unmuteMic(customAudioTrack);\n }\n };\n const muteMic = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.muteMic();\n }\n };\n const toggleMic = (customAudioTrack = undefined) => {\n const localMicOn = localMicOnRef.current;\n\n if (localMicOn) {\n muteMic();\n } else {\n unmuteMic(customAudioTrack);\n }\n };\n const disableWebcam = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableWebcam();\n }\n };\n const enableWebcam = (customVideoTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableWebcam(customVideoTrack);\n }\n };\n const toggleWebcam = (customVideoTrack = undefined) => {\n const localWebcamOn = localWebcamOnRef.current;\n\n if (localWebcamOn) {\n disableWebcam();\n } else {\n enableWebcam(customVideoTrack);\n }\n };\n const disableScreenShare = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableScreenShare();\n }\n };\n const enableScreenShare = (customScreenShareTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableScreenShare(customScreenShareTrack);\n }\n };\n const toggleScreenShare = (customScreenShareTrack = undefined) => {\n const localScreenShareOn = localScreenShareOnRef.current;\n\n if (localScreenShareOn) {\n disableScreenShare();\n } else {\n enableScreenShare(customScreenShareTrack);\n }\n };\n const sendChatMessage = text => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.sendChatMessage(text);\n }\n };\n const respondEntry = (participantId, decision) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.respondEntry(participantId, decision);\n }\n };\n const getMics = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getMics();\n }\n };\n const getWebcams = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getWebcams();\n }\n };\n const changeWebcam = obj => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeWebcam(obj);\n }\n };\n const changeMic = obj => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeMic(obj);\n }\n };\n const startVideo = ({ link }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startVideo({ link });\n }\n };\n\n const stopVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopVideo();\n }\n };\n\n const resumeVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.resumeVideo();\n }\n };\n\n const pauseVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.pauseVideo({ currentTime });\n }\n };\n\n const seekVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.seekVideo({ currentTime });\n }\n };\n\n const startLivestream = (streamInfo, config) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startLivestream(streamInfo, config);\n }\n };\n\n const stopLivestream = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopLivestream();\n }\n };\n\n const connectTo = async ({ meetingId, payload }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n await meeting.connectTo({ meetingId, payload });\n }\n };\n\n const startHls = config => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startHls(config);\n }\n };\n\n const stopHls = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopHls();\n }\n };\n\n const initSDK = () => {\n VideoSDK.config(tokenRef.current);\n\n if (deviceInfo) {\n VideoSDK.analytics(deviceInfo);\n } else {\n VideoSDK.analytics({\n sdkType: 'react-web',\n sdkVersion: reactSDKVersion\n });\n }\n\n if (joinWithoutUserInteraction) {\n join();\n }\n };\n\n useEffect(() => {\n initSDK();\n }, []);\n\n useEffect(() => {\n if (reinitialiseMeetingOnConfigChange && joinedOnFirstRender.current) {\n leave();\n initSDK();\n !joinWithoutUserInteraction && join();\n }\n }, [config.meetingId, token, reinitialiseMeetingOnConfigChange]);\n\n return (\n <MeetingProviderContex.Provider\n value={{\n meetingId: meeting?.id,\n meeting,\n baseUrl: meeting?.baseUrl,\n localParticipant,\n mainParticipant,\n activeSpeakerId,\n participants,\n presenterId,\n localMicOn,\n localWebcamOn,\n localScreenShareOn,\n messages,\n isRecording,\n isLiveStreaming,\n pinnedParticipants,\n connections,\n isHls,\n //\n join,\n leave,\n end,\n //\n startRecording,\n stopRecording,\n //\n sendChatMessage,\n respondEntry,\n //\n muteMic,\n unmuteMic,\n toggleMic,\n //\n disableWebcam,\n enableWebcam,\n toggleWebcam,\n //\n disableScreenShare,\n enableScreenShare,\n toggleScreenShare,\n //\n getMics,\n getWebcams,\n changeWebcam,\n changeMic,\n\n startVideo,\n stopVideo,\n resumeVideo,\n pauseVideo,\n seekVideo,\n startLivestream,\n stopLivestream,\n connectTo,\n isMeetingJoined,\n startHls,\n stopHls\n }}\n >\n {children}\n </MeetingProviderContex.Provider>\n );\n};\n\nexport default MeetingProvider;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst useParticipant = (\n participantId,\n { onStreamEnabled = () => {}, onStreamDisabled = () => {} } = {}\n) => {\n const [webcamStream, setwebcamStream] = useState(null);\n const [micStream, setMicStream] = useState(null);\n const [screenShareStream, setScreenShareStream] = useState(null);\n\n const meeting = useMeeting();\n\n const {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n } = useMemo(() => {\n const participants = meeting?.participants;\n const localParticipant = meeting?.localParticipant;\n const activeSpeakerId = meeting?.activeSpeakerId;\n const mainParticipant = meeting?.mainParticipant;\n const pinState = meeting?.pinnedParticipants?.get(participantId) || {\n cam: false,\n share: false\n };\n\n return {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n };\n }, [meeting]);\n\n const participant = participants?.get(participantId);\n\n const setTrack = stream => {\n if (stream.track.readyState === 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(stream);\n break;\n case 'audio':\n setMicStream(stream);\n break;\n case 'share':\n setScreenShareStream(stream);\n break;\n default:\n break;\n }\n }\n };\n\n const unSetTrack = stream => {\n if (stream.track.readyState !== 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(null);\n break;\n case 'audio':\n setMicStream(null);\n break;\n case 'share':\n setScreenShareStream(null);\n break;\n default:\n break;\n }\n }\n };\n\n const _handleStreamEnabled = stream => {\n setTrack(stream);\n onStreamEnabled(stream);\n };\n\n const _handleStreamDisabled = stream => {\n unSetTrack(stream);\n onStreamDisabled(stream);\n };\n\n const setQuality = quality => {\n participant?.setQuality(quality);\n };\n\n const setViewPort = (width, height) => {\n participant?.setViewPort(width, height);\n };\n\n const enableMic = () => {\n participant?.enableMic();\n };\n const disableMic = () => {\n participant?.disableMic();\n };\n const enableWebcam = () => {\n participant?.enableWebcam();\n };\n const disableWebcam = () => {\n participant?.disableWebcam();\n };\n const pin = data => {\n participant?.pin(data);\n };\n const unpin = data => {\n participant?.unpin(data);\n };\n\n const switchTo = async data => {\n await participant?.switchTo(data);\n };\n\n useEffect(() => {\n const streams = participant?.streams;\n\n if (streams) {\n streams.forEach(stream => {\n setTrack(stream);\n });\n }\n\n participant?.on('stream-enabled', _handleStreamEnabled);\n\n participant?.on('stream-disabled', _handleStreamDisabled);\n\n return () => {\n participant?.off('stream-enabled', _handleStreamEnabled);\n\n participant?.off('stream-disabled', _handleStreamDisabled);\n };\n }, [participant]);\n\n return {\n displayName: participant?.displayName,\n participant,\n webcamStream,\n micStream,\n screenShareStream,\n webcamOn: !!webcamStream,\n micOn: !!micStream,\n screenShareOn: !!screenShareStream,\n isLocal: localParticipant?.id === participantId,\n isActiveSpeaker: activeSpeakerId === participantId,\n isMainParticipant: mainParticipant?.id === participantId,\n pinState,\n\n //\n setQuality,\n setViewPort,\n enableMic,\n disableMic,\n enableWebcam,\n disableWebcam,\n pin,\n unpin,\n switchTo\n };\n};\n\nexport default useParticipant;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst useConnection = (\n connectionId,\n { onMeeting } = {\n onMeeting: {\n onParticipantJoined: () => {},\n onParticipantLeft: () => {},\n onChatMessage: () => {}\n }\n }\n) => {\n const onParticipantJoined = onMeeting?.onParticipantJoined;\n const onParticipantLeft = onMeeting?.onParticipantLeft;\n const onChatMessage = onMeeting?.onChatMessage;\n\n const meeting = useMeeting();\n\n const { connection, connectionParticipants } = useMemo(() => {\n const connection = meeting?.connections.get(connectionId);\n\n if (!connection) {\n throw new Error('connectionId not found');\n }\n\n const connectionParticipants = new Map(connection.meeting.participants);\n\n return {\n connection,\n connectionParticipants\n };\n }, [meeting]);\n\n const [_connectionParticipants, setConnectionParticipants] = useState(\n new Map(connectionParticipants)\n );\n\n const _handleParticipantJoined = participant => {\n setConnectionParticipants(s => {\n s.set(participant.id, participant);\n const participantsToSet = new Map(s);\n return participantsToSet;\n });\n onParticipantJoined(participant);\n };\n const _handleParticipantLeft = participantId => {\n setConnectionParticipants(s => {\n s.delete(participantId);\n const newParticipants = new Map(s);\n return newParticipants;\n });\n onParticipantLeft(participantId);\n };\n\n const _handleChatMessage = data => {\n onChatMessage(data);\n };\n\n useEffect(() => {\n connection?.meeting.on('participant-joined', _handleParticipantJoined);\n connection?.meeting.on('participant-left', _handleParticipantLeft);\n connection?.meeting.on('chat-message', _handleChatMessage);\n\n return () => {\n connection?.meeting.off('participant-joined', _handleParticipantJoined);\n connection?.meeting.off('participant-left', _handleParticipantLeft);\n connection?.meeting.off('chat-message', _handleChatMessage);\n };\n }, [connection]);\n\n return {\n connection: {\n id: connection.id,\n close: connection.close,\n payload: connection.payload,\n meeting: {\n id: connection.meeting.id,\n sendChatMessage: connection.meeting.sendChatMessage,\n end: connection.meeting.end,\n participants: _connectionParticipants\n }\n }\n };\n};\n\nexport default useConnection;\n","import { useEffect, useRef, useState } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst usePubSub = (\n topic,\n { onMessageReceived = () => {}, onOldMessagesReceived = () => {} } = {}\n) => {\n const { meeting, isMeetingJoined } = useMeeting();\n const [messages, setMessages] = useState([]);\n const isSubscribed = useRef(false);\n const publish = (message, options) => {\n if (meeting) {\n meeting.pubSub.publish(topic, message, options);\n }\n };\n\n const _handlePubSub = data => {\n setMessages(s => [...s, data]);\n onMessageReceived(data);\n };\n\n const subscribeToPubsub = async meeting => {\n const data = await meeting?.pubSub?.subscribe(topic, _handlePubSub);\n if (data) {\n onOldMessagesReceived(data.messages);\n setMessages(data.messages);\n }\n };\n\n useEffect(() => {\n if (meeting && !isSubscribed.current && isMeetingJoined) {\n isSubscribed.current = true;\n subscribeToPubsub(meeting);\n\n return () => {\n meeting?.pubSub?.unsubscribe(topic, _handlePubSub);\n };\n }\n }, [meeting, isMeetingJoined]);\n\n return { publish, messages };\n};\n\nexport default usePubSub;\n","import MeetingProvider from './meeting/MeetingProvider';\nimport {\n MeetingConsumer,\n useMeeting\n} from './meeting/meetingProviderContextDef';\nimport useParticipant from './participant/useParticipant';\nimport useConnection from './connection/useConnection';\nimport usePubSub from './pubSub/usePubSub';\nimport { VideoSDK } from '@videosdk.live/js-sdk';\n\nconst Constants = VideoSDK.Constants;\n\nconst createCameraVideoTrack = async ({\n cameraId = undefined,\n encoderConfig = undefined,\n facingMode = undefined,\n optimizationMode = undefined\n}) => {\n return await VideoSDK.createCameraVideoTrack({\n cameraId,\n encoderConfig,\n facingMode,\n optimizationMode\n });\n};\n\nconst createScreenShareVideoTrack = async ({\n encoderConfig = undefined,\n optimizationMode = undefined\n // withAudio = \"enable\" | \"disable\" | \"auto\"\n}) => {\n return await VideoSDK.createScreenShareVideoTrack({\n encoderConfig,\n optimizationMode\n });\n};\n\nconst createMicrophoneAudioTrack = async ({\n noiseConfig = undefined,\n encoderConfig = undefined,\n microphoneId = undefined\n}) => {\n return await VideoSDK.createMicrophoneAudioTrack({\n noiseConfig,\n encoderConfig,\n microphoneId\n });\n};\n\nexport {\n MeetingProvider,\n useMeeting,\n useParticipant,\n usePubSub,\n MeetingConsumer,\n useConnection,\n Constants,\n createCameraVideoTrack,\n createMicrophoneAudioTrack,\n createScreenShareVideoTrack\n};\n"],"names":["eventPrifix","events","error","eventEmitter","EventEmitter","setMaxListeners","MeetingProviderContex","createContext","useMeeting","onParticipantJoined","onParticipantLeft","onSpeakerChanged","onPresenterChanged","onMainParticipantChanged","onEntryRequested","onEntryResponded","onRecordingStarted","onRecordingStopped","onChatMessage","onMeetingJoined","onMeetingLeft","onLiveStreamStarted","onLiveStreamStopped","onVideoStateChanged","onVideoSeeked","onWebcamRequested","onMicRequested","onPinStateChanged","onConnectionOpen","onConnetionClose","onSwitchMeeting","onError","onHlsStarted","onHlsStopped","useEffect","on","off","useContext","MeetingConsumer","children","MeetingProvider","config","token","joinWithoutUserInteraction","_reinitialiseMeetingOnConfigChange","reinitialiseMeetingOnConfigChange","deviceInfo","useState","meeting","setMeeting","localParticipant","setLocalParticipant","mainParticipant","setMainParticipant","activeSpeakerId","setActiveSpeakerId","presenterId","setPresenterId","localMicOn","setLocalMicOn","localWebcamOn","setLocalWebcamOn","localScreenShareOn","setLocalScreenShareOn","isRecording","setIsRecording","messages","setMessages","Map","participants","setParticipants","pinnedParticipants","setPinnedParticipants","isLiveStreaming","setIsLiveStreaming","connections","setConnections","isMeetingJoined","setIsMeetingJoined","isHls","setIsHls","meetingRef","useRef","localMicOnRef","localWebcamOnRef","localScreenShareOnRef","isRecordingRef","configRef","tokenRef","joinedOnFirstRender","isHlsRef","useMemo","current","resetStates","_handle_participant_joined","participant","set","id","participantsToSet","emit","_handle_participant_left","newParticipants","_handle_presenter_changed","_handle_main_participant_changed","_handle_speaker_changed","_handle_chat_message","data","s","_handle_entry_requested","_handle_entry_responded","participantId","decision","_handle_recording_started","_handle_recording_stopped","_handle_localParticipant_stream_enabled","stream","track","readyState","kind","_handle_localParticipant_stream_disabled","_handle_live_stream_started","_handle_live_stream_stopped","_handle_hls_started","_handle_hls_stopped","_handle_video_state_changed","_handle_video_seeked","_handle_webcam_requested","_handle_mic_requested","_handle_meeting_joined","_handle_meeting_left","_handle_pin_state_changed","_handle_connection_open","_handle_connection_close","_handle_switch_meeting","_handle_error","state","pinnedBy","cam","share","pinnedParticipantsToSet","connection","connectionsToSet","connectionId","newConnections","d","join","VideoSDK","initMeeting","leave","end","startRecording","webhookUrl","awsDirPath","stopRecording","unmuteMic","customAudioTrack","undefined","muteMic","toggleMic","disableWebcam","enableWebcam","customVideoTrack","toggleWebcam","disableScreenShare","enableScreenShare","customScreenShareTrack","toggleScreenShare","sendChatMessage","text","respondEntry","getMics","getWebcams","changeWebcam","obj","changeMic","startVideo","link","stopVideo","resumeVideo","pauseVideo","currentTime","seekVideo","startLivestream","streamInfo","stopLivestream","connectTo","meetingId","payload","startHls","stopHls","initSDK","analytics","sdkType","sdkVersion","reactSDKVersion","baseUrl","useParticipant","onStreamEnabled","onStreamDisabled","webcamStream","setwebcamStream","micStream","setMicStream","screenShareStream","setScreenShareStream","pinState","get","setTrack","unSetTrack","_handleStreamEnabled","_handleStreamDisabled","setQuality","quality","setViewPort","width","height","enableMic","disableMic","pin","unpin","switchTo","streams","forEach","displayName","webcamOn","micOn","screenShareOn","isLocal","isActiveSpeaker","isMainParticipant","useConnection","onMeeting","Error","connectionParticipants","_connectionParticipants","setConnectionParticipants","_handleParticipantJoined","_handleParticipantLeft","_handleChatMessage","close","usePubSub","topic","onMessageReceived","onOldMessagesReceived","isSubscribed","publish","message","options","pubSub","_handlePubSub","subscribeToPubsub","subscribe","unsubscribe","Constants","createCameraVideoTrack","cameraId","encoderConfig","facingMode","optimizationMode","createScreenShareVideoTrack","createMicrophoneAudioTrack","noiseConfig","microphoneId"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@videosdk.live/react-sdk",
3
- "version": "0.1.34",
3
+ "version": "0.1.37",
4
4
  "license": "ISC",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.modern.js",
@@ -69,7 +69,7 @@
69
69
  }
70
70
  },
71
71
  "dependencies": {
72
- "@videosdk.live/js-sdk": "^0.0.33",
72
+ "@videosdk.live/js-sdk": "^0.0.36",
73
73
  "events": "^3.3.0"
74
74
  }
75
75
  }