@videosdk.live/react-sdk 0.1.45 → 0.1.46
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/connection/useConnection.d.ts +0 -1
- package/dist/connection/useConnection.d.ts.map +1 -1
- package/dist/index.js +1 -5
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +1 -5
- package/dist/index.modern.js.map +1 -1
- package/dist/meeting/meetingProviderContextDef.d.ts +0 -3
- package/dist/meeting/meetingProviderContextDef.d.ts.map +1 -1
- package/dist/participant/useParticipant.d.ts +0 -1
- package/dist/participant/useParticipant.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConnection.d.ts","sourceRoot":"","sources":["../../src/connection/useConnection.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"useConnection.d.ts","sourceRoot":"","sources":["../../src/connection/useConnection.js"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,6CAnBW,MAAM;;;;;;;;YAQP,MAAM;;iBAED,MAAM;iBACN;YACd,EAAS,EAAE,MAAM,CAAC;YAClB,eAAsB,WAAW;YACjC,GAAU,WAAW;YACrB,YAAmB,EAAE,4BAA4B,CAAC;SAC1C;;EAoFR"}
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
2
2
|
|
|
3
|
-
require('@videosdk.live/js-sdk/connection');
|
|
4
|
-
require('@videosdk.live/js-sdk/meeting');
|
|
5
|
-
require('@videosdk.live/js-sdk/participant');
|
|
6
3
|
var React = require('react');
|
|
7
4
|
var React__default = _interopDefault(React);
|
|
8
5
|
var EventEmitter = _interopDefault(require('events'));
|
|
9
6
|
var jsSdk = require('@videosdk.live/js-sdk');
|
|
10
|
-
require('@videosdk.live/js-sdk/connectionParticipant');
|
|
11
7
|
|
|
12
8
|
var eventPrifix = 'videosdk-live-react-sdk';
|
|
13
9
|
var events = {
|
|
@@ -286,7 +282,7 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
|
|
|
286
282
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(MeetingProviderContex.Consumer, null, children));
|
|
287
283
|
};
|
|
288
284
|
|
|
289
|
-
var version = "0.1.
|
|
285
|
+
var version = "0.1.46";
|
|
290
286
|
|
|
291
287
|
var MeetingProvider = function MeetingProvider(_ref) {
|
|
292
288
|
var children = _ref.children,
|
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 'recording-state-changed': `${eventPrifix}-recording-state-changed`,\n 'livestream-state-changed': `${eventPrifix}-livestream-state-changed`,\n 'meeting-state-changed': `${eventPrifix}-meeting-state-changed`\n};\n\nconst eventEmitter = new EventEmitter();\neventEmitter.setMaxListeners(9999);\n\nexport { eventEmitter, events };\n","import { Connection } from '@videosdk.live/js-sdk/connection';\nimport { Meeting } from '@videosdk.live/js-sdk/meeting';\nimport { Participant } from '@videosdk.live/js-sdk/participant';\nimport React from 'react';\nimport { useContext, createContext, useEffect } from 'react';\nimport { eventEmitter, events } from '../utils';\nexport const MeetingProviderContex = createContext();\n\n/**\n *\n * @param {{\n * onParticipantJoined?: () => void;\n * onParticipantLeft?: () => void;\n * onSpeakerChanged?: () => void;\n * onPresenterChanged?: () => void;\n * onMainParticipantChanged?: () => void;\n * onEntryRequested?: () => void;\n * onEntryResponded?: () => void;\n * onRecordingStarted?: () => void;\n * onRecordingStopped?: () => void;\n * onChatMessage?: () => void;\n * onMeetingJoined?: () => void;\n * onMeetingLeft?: () => void;\n * onLiveStreamStarted?: () => void;\n * onLiveStreamStopped?: () => void;\n * onVideoStateChanged?: () => void;\n * onVideoSeeked?: () => void;\n * onWebcamRequested?: () => void;\n * onMicRequested?: () => void;\n * onPinStateChanged?: () => void;\n * onConnectionOpen?: () => void;\n * onConnetionClose?: () => void;\n * onSwitchMeeting?: () => void;\n * onError?: () => void;\n * onHlsStarted?: () => void;\n * onHlsStopped?: () => void;\n * onRecordingStateChanged?: () => void;\n * onLivestreamStateChanged?: () => void;\n * onMeetingStateChanged?: () => void;\n *}}\n * @returns {{\n * meetingId: string,\n * meeting: Meeting,\n * localParticipant: Participant,\n * activeSpeakerId: string,\n * participants: Map<string, Participant>,\n * pinnedParticipants: Map<string, {cam:boolean, share:boolean}>,\n * presenterId: string,\n * localMicOn: boolean,\n * localWebcamOn: boolean,\n * isRecording: boolean,\n * isLiveStreaming: boolean,\n * localScreenShareOn: boolean,\n * connections: Map<string, Connection>,\n * join: () => void\n * leave: () => void\n * end: () => void\n * enableMic: (customAudioTrack: MediaStream | undefined) => void\n * disableMic: () => void\n * toggleMic: (customAudioTrack: MediaStream | undefined) => void\n * enableWebcam: (customVideoTrack: MediaStream | undefined) => void\n * disableWebcam: () => void\n * toggleWebcam: (customVideoTrack: MediaStream | undefined) => void\n * enableScreenShare: (customScreenShareTrack: MediaStream | undefined) => void\n * disableScreenShare: () => void\n * toggleScreenShare: (customScreenShareTrack: MediaStream | undefined) => void\n * startRecording: (webhookUrl: string, awsDirPath: string, config: {\n * layout: {\n * type: \"GRID\" | \"SPOTLIGHT\" | \"SIDEBAR\";\n * priority: \"SPEAKER\" | \"PIN\";\n * gridSize: number;\n * };\n * }) => void\n * stopRecording: () => void\n * startLiveStream: (outputs: Array<{\n * url: string;\n * streamKey: string;\n * }>,\n * config: {\n * layout: {\n * type: \"GRID\" | \"SPOTLIGHT\" | \"SIDEBAR\";\n * priority: \"SPEAKER\" | \"PIN\";\n * gridSize: number;\n * };\n * }) => void\n * stopLiveStream: () => void\n * startHls: (config: {\n * layout: {\n * type: \"GRID\" | \"SPOTLIGHT\" | \"SIDEBAR\";\n * priority: \"SPEAKER\" | \"PIN\";\n * gridSize: number;\n * };\n * }) => void\n * stopHls: () => void\n * getMics: () => Promise<{\n * deviceId: string;\n * label: string;\n * }[]>void\n * getWebcams: () => Promise<{\n * deviceId: string;\n * label: string;\n * facingMode: \"environment\" | \"front\"\n * }[]>void\n * changeMic: (object: string | MediaStream) => void\n * changeWebcam: (object: string | MediaStream) => void\n * startVideo: ({ link }: {\n * link: string;\n * }) => void\n * stopVideo: () => void\n * pauseVideo: ({ currentTime }: {\n * currentTime: number;\n * }) => void\n * resumeVideo: () => void\n * seekVideo: ({ currentTime }: {\n * currentTime: number;\n * }) => void\n * connectTo: ({ meetingId, payload }: {\n * meetingId: string;\n * payload: string;\n * }) => void\n *\n * }}\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 onRecordingStateChanged = () => {},\n onLivestreamStateChanged = () => {},\n onMeetingStateChanged = () => {}\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 eventEmitter.on(events['recording-state-changed'], onRecordingStateChanged);\n eventEmitter.on(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n eventEmitter.on(events['meeting-state-changed'], onMeetingStateChanged);\n\n return () => {\n eventEmitter.off(events['meeting-state-changed'], onMeetingStateChanged);\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 eventEmitter.off(\n events['recording-state-changed'],\n onRecordingStateChanged\n );\n eventEmitter.off(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\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 onRecordingStateChanged = () => {},\n onLivestreamStateChanged = () => {},\n onMeetingStateChanged = () => {}\n}) => {\n useEffect(() => {\n eventEmitter.on(events['meeting-state-changed'], onMeetingStateChanged);\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 eventEmitter.on(events['recording-state-changed'], onRecordingStateChanged);\n eventEmitter.on(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n\n return () => {\n eventEmitter.off(events['meeting-state-changed'], onMeetingStateChanged);\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 eventEmitter.off(\n events['recording-state-changed'],\n onRecordingStateChanged\n );\n eventEmitter.off(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\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\n/**\n *\n * @param {{\n * children:any,\n * config:{\n * meetingId: string,\n * autoConsume: boolean,\n * preferredProtocol:\"UDP_ONLY\" | \"UDP_OVER_TCP\",\n * participantId:string | undefined,\n * name:string,\n * micEnabled:boolean,\n * webcamEnabled:boolean,\n * maxResolution:\"hd\" | \"sd\",\n * customCameraVideoTrack: MediaStream | undefined\n * customMicrophoneAudioTrack: MediaStream | undefined,\n * },\n * token: string,\n * joinWithoutUserInteraction: boolean,\n * reinitialiseMeetingOnConfigChange: boolean,\n * deviceInfo: object\n * }}\n *\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 const [recordingState, setRecordingState] = useState(null);\n const [livestreamState, setLivestreamState] = useState(null);\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 setRecordingState(null);\n setLivestreamState(null);\n };\n\n const _handle_participant_joined = participant => {\n setParticipants(participants => {\n participants.set(participant.id, participant);\n const participantsToSet = new Map(participants);\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\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('meeting-state-changed', _handle_meeting_state_changed);\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 meeting.off('recording-state-changed', _handle_recording_state_changed);\n meeting.off(\n 'livestream-state-changed',\n _handle_livestream_state_changed\n );\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 _handle_recording_state_changed = data => {\n setRecordingState(data?.status);\n eventEmitter.emit(events['recording-state-changed'], data);\n };\n const _handle_livestream_state_changed = data => {\n setLivestreamState(data?.status);\n eventEmitter.emit(events['livestream-state-changed'], data);\n };\n\n const _handle_meeting_state_changed = data => {\n eventEmitter.emit(events['meeting-state-changed'], 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('meeting-state-changed', _handle_meeting_state_changed);\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 meeting.on('recording-state-changed', _handle_recording_state_changed);\n meeting.on('livestream-state-changed', _handle_livestream_state_changed);\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\n const toggleScreenShare = (customScreenShareTrack = undefined) => {\n const localScreenShareOn = localScreenShareOnRef.current;\n\n if (localScreenShareOn) {\n disableScreenShare();\n } else {\n enableScreenShare(customScreenShareTrack);\n }\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 recordingState,\n livestreamState,\n isMeetingJoined,\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\n startHls,\n stopHls\n }}\n >\n {children}\n </MeetingProviderContex.Provider>\n );\n};\n\nexport default MeetingProvider;\n","import { Participant } from '@videosdk.live/js-sdk/participant';\nimport { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\n/**\n *\n * @param {string} participantId\n * @param {{\n * onStreamDisabled: Function,\n * onStreamEnabled: Function,\n * onMediaStatusChanged: Function,\n * }} options\n *\n * @returns {{\n * displayName: string;\n * participant: Participant;\n * webcamStream: MediaStreamTrack;\n * micStream: MediaStreamTrack;\n * screenShareStream: MediaStreamTrack;\n * webcamOn: boolean;\n * micOn: boolean;\n * screenShareOn: boolean;\n * isLocal: boolean;\n * isActiveSpeaker: boolean;\n * isMainParticipant: boolean;\n * pinState: any;\n * consumeMicStreams: () => void;\n * consumeWebcamStreams: () => void;\n * stopConsumingMicStreams: () => void;\n * stopConsumingWebcamStreams: () => void;\n * setQuality: (quality: \"low\" | \"med\" | 'high') => void;\n * setViewPort: (width: number, height: number) => void;\n * enableMic: () => void;\n * disableMic: () => void;\n * enableWebcam: () => void;\n * disableWebcam: () => void;\n * pin: (data: \"SHARE_AND_CAM\" | \"CAM\" | \"SHARE\") => void;\n * unpin: (data: \"SHARE_AND_CAM\" | \"CAM\" | \"SHARE\") => void;\n * switchTo: ({ meetingId, payload, token }: {\n * meetingId: string;\n * payload: string;\n * token: string;\n * }) => Promise<void>;\n * getAudioStats: () => Promise<{\n * bitrate: any;\n * score: any;\n * roundTripTime: any;\n * jitter: any;\n * totalPacketCount: any;\n * totalPacketsLost: any;\n * }>;\n * getVideoStats: () => Promise<{\n * bitrate: any;\n * score: any;\n * roundTripTime: any;\n * jitter: any;\n * totalPacketCount: any;\n * totalPacketsLost: any;\n * }>;\n *}}\n *\n */\nconst useParticipant = (\n participantId,\n {\n onStreamEnabled = () => {},\n onStreamDisabled = () => {},\n onMediaStatusChanged = () => {}\n } = {}\n) => {\n const [webcamStream, setwebcamStream] = useState(null);\n const [micStream, setMicStream] = useState(null);\n const [screenShareStream, setScreenShareStream] = useState(null);\n const [screenShareAudioStream, setScreenShareAudioStream] = 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 // const micOn = meeting?.participants?.get(participantId).micOn || false;\n // const webcamOn = meeting?.participants?.get(participantId).webcamOn || false;\n\n return {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n };\n }, [meeting]);\n\n /**\n * @type {Participant}\n */\n const participant = participants?.get(participantId);\n\n const [webcamOn, setWebcamOn] = useState(participant?.webcamOn);\n const [micOn, setMicOn] = useState(participant?.micOn);\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 case 'shareAudio':\n setScreenShareAudioStream(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 case 'shareAudio':\n setScreenShareAudioStream(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 _handleMediaStatusChanged = data => {\n const { kind, peerId, newStatus } = data;\n if (kind == 'audio') {\n setMicOn(newStatus);\n } else if (kind == 'video') {\n setWebcamOn(newStatus);\n }\n onMediaStatusChanged({ kind, peerId, newStatus });\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 const getAudioStats = async () => {\n return participant?.getAudioStats();\n };\n const getVideoStats = async () => {\n return participant?.getVideoStats();\n };\n\n const consumeWebcamStreams = () => {\n participant?.consumeWebcamStreams();\n };\n const consumeMicStreams = () => {\n participant?.consumeMicStreams();\n };\n const stopConsumingWebcamStreams = () => {\n participant?.stopConsumingWebcamStreams();\n };\n const stopConsumingMicStreams = () => {\n participant?.stopConsumingMicStreams();\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 if (participant?.micOn) {\n setMicOn(micOn);\n }\n\n if (participant?.webcamOn) {\n setWebcamOn(webcamOn);\n }\n\n participant?.on('stream-enabled', _handleStreamEnabled);\n\n participant?.on('stream-disabled', _handleStreamDisabled);\n\n participant?.on('media-status-changed', _handleMediaStatusChanged);\n\n return () => {\n participant?.off('stream-enabled', _handleStreamEnabled);\n\n participant?.off('stream-disabled', _handleStreamDisabled);\n\n participant?.off('media-status-changed', _handleMediaStatusChanged);\n };\n }, [participant]);\n\n return {\n displayName: participant?.displayName,\n participant,\n webcamStream,\n micStream,\n screenShareStream,\n screenShareAudioStream,\n webcamOn: webcamOn,\n micOn: micOn,\n screenShareOn: !!screenShareStream,\n isLocal: localParticipant?.id === participantId,\n isActiveSpeaker: activeSpeakerId === participantId,\n isMainParticipant: mainParticipant?.id === participantId,\n pinState,\n\n //\n consumeMicStreams,\n consumeWebcamStreams,\n stopConsumingMicStreams,\n stopConsumingWebcamStreams,\n setQuality,\n setViewPort,\n enableMic,\n disableMic,\n enableWebcam,\n disableWebcam,\n pin,\n unpin,\n switchTo,\n getAudioStats,\n getVideoStats\n };\n};\n\nexport default useParticipant;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\nimport { ConnectionParticipant } from '@videosdk.live/js-sdk/connectionParticipant';\n/**\n *\n * @param {string} connectionId\n * @param {{onMeeting:{\n * onParticipantJoined: Function,\n * onParticipantLeft: Function,\n * onChatMessage: Function\n * }}}\n * @returns {{\n * connection: {\n * id: string;\n * close: Function;\n * payload: string;\n * meeting: {\n * id: string;\n * sendChatMessage: Function;\n * end: Function;\n * participants: Array<ConnectionParticipant>;\n * };\n * }}}\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\n/**\n *\n * @param {string} topic\n * @param {{\n * onMessageReceived: Function,\n * onOldMessagesReceived: Function,\n * }} options\n * @returns {{\n * publish: (message: string,{persist: boolean}) => void\n * messages: Array<{\n * id: string,\n * message: string,\n * senderId: string,\n * senderName: string,\n * timestamp: string,\n * topic: string\n * }>\n * }}\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\n /**\n *\n * @param {string} message\n * @param {{persist: boolean}} options\n */\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\n/**\n * @param {{\n * cameraId: string | undefined,\n * encoderConfig: \"h90p_w160p\" | \"h180p_w320p\" | \"h216p_w384p\"\n * | \"h360p_w640p\" | \"h540p_w960p\" | \"h720p_w1280p\" | \"h1080p_w1920p\"\n * | \"h1440p_w2560p\" | \"h2160p_w3840p\" | \"h120p_w160p\" | \"h180p_w240p\"\n * | \"h240p_w320p\" | \"h360p_w480p\" | \"h480p_w640p\" | \"h540p_w720p\"\n * | \"h720p_w960p\" | \"h1080p_w1440p\" | \"h1440p_w1920p\" | undefined,\n * facingMode: \"front\" | \"environment\" | undefined,\n * optimizationMode: \"text\"| \"motion\" | \"detail\" | undefined\n * }}\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\n/**\n * @param {{\n * encoderConfig: \"h360p_30fps\" | \"h720p_5fps\" | \"h720p_15fps\"\n * | \"h1080p_15fps\" | \"h1080p_30fps\" | undefined,\n * optimizationMode: \"text\"| \"motion\" | \"detail\" | undefined,\n * withAudio:\"enable\" | \"disable\"\n * }}\n */\nconst createScreenShareVideoTrack = async ({\n encoderConfig = undefined,\n optimizationMode = undefined,\n withAudio = 'enable'\n}) => {\n return await VideoSDK.createScreenShareVideoTrack({\n encoderConfig,\n optimizationMode,\n withAudio\n });\n};\n\n/**\n * @param {{\n * noiseConfig: {\n * echoCancellation: boolean,\n * autoGainControl: boolean,\n * noiseSuppression: boolean\n * } | undefined,\n * encoderConfig: \"speech_low_quality\"\n * | \"speech_standard\" | \"music_standard\"\n * | \"standard_stereo\" | \"high_quality\"\n * | \"high_quality_stereo\" | undefined\n * microphoneId: string | undefined\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","onRecordingStateChanged","onLivestreamStateChanged","onMeetingStateChanged","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","recordingState","setRecordingState","livestreamState","setLivestreamState","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_meeting_state_changed","_handle_pin_state_changed","_handle_connection_open","_handle_connection_close","_handle_switch_meeting","_handle_error","_handle_recording_state_changed","_handle_livestream_state_changed","state","pinnedBy","cam","share","pinnedParticipantsToSet","connection","connectionsToSet","connectionId","newConnections","d","status","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","onMediaStatusChanged","webcamStream","setwebcamStream","micStream","setMicStream","screenShareStream","setScreenShareStream","screenShareAudioStream","setScreenShareAudioStream","pinState","get","webcamOn","setWebcamOn","micOn","setMicOn","setTrack","unSetTrack","_handleStreamEnabled","_handleStreamDisabled","_handleMediaStatusChanged","peerId","newStatus","setQuality","quality","setViewPort","width","height","enableMic","disableMic","pin","unpin","getAudioStats","getVideoStats","consumeWebcamStreams","consumeMicStreams","stopConsumingWebcamStreams","stopConsumingMicStreams","switchTo","streams","forEach","displayName","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","withAudio","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 'recording-state-changed': `${eventPrifix}-recording-state-changed`,\n 'livestream-state-changed': `${eventPrifix}-livestream-state-changed`,\n 'meeting-state-changed': `${eventPrifix}-meeting-state-changed`\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\n/**\n *\n * @param {{\n * onParticipantJoined?: () => void;\n * onParticipantLeft?: () => void;\n * onSpeakerChanged?: () => void;\n * onPresenterChanged?: () => void;\n * onMainParticipantChanged?: () => void;\n * onEntryRequested?: () => void;\n * onEntryResponded?: () => void;\n * onRecordingStarted?: () => void;\n * onRecordingStopped?: () => void;\n * onChatMessage?: () => void;\n * onMeetingJoined?: () => void;\n * onMeetingLeft?: () => void;\n * onLiveStreamStarted?: () => void;\n * onLiveStreamStopped?: () => void;\n * onVideoStateChanged?: () => void;\n * onVideoSeeked?: () => void;\n * onWebcamRequested?: () => void;\n * onMicRequested?: () => void;\n * onPinStateChanged?: () => void;\n * onConnectionOpen?: () => void;\n * onConnetionClose?: () => void;\n * onSwitchMeeting?: () => void;\n * onError?: () => void;\n * onHlsStarted?: () => void;\n * onHlsStopped?: () => void;\n * onRecordingStateChanged?: () => void;\n * onLivestreamStateChanged?: () => void;\n * onMeetingStateChanged?: () => void;\n *}}\n * @returns {{\n * meetingId: string,\n * meeting: Meeting,\n * localParticipant: Participant,\n * activeSpeakerId: string,\n * participants: Map<string, Participant>,\n * pinnedParticipants: Map<string, {cam:boolean, share:boolean}>,\n * presenterId: string,\n * localMicOn: boolean,\n * localWebcamOn: boolean,\n * isRecording: boolean,\n * isLiveStreaming: boolean,\n * localScreenShareOn: boolean,\n * connections: Map<string, Connection>,\n * join: () => void\n * leave: () => void\n * end: () => void\n * enableMic: (customAudioTrack: MediaStream | undefined) => void\n * disableMic: () => void\n * toggleMic: (customAudioTrack: MediaStream | undefined) => void\n * enableWebcam: (customVideoTrack: MediaStream | undefined) => void\n * disableWebcam: () => void\n * toggleWebcam: (customVideoTrack: MediaStream | undefined) => void\n * enableScreenShare: (customScreenShareTrack: MediaStream | undefined) => void\n * disableScreenShare: () => void\n * toggleScreenShare: (customScreenShareTrack: MediaStream | undefined) => void\n * startRecording: (webhookUrl: string, awsDirPath: string, config: {\n * layout: {\n * type: \"GRID\" | \"SPOTLIGHT\" | \"SIDEBAR\";\n * priority: \"SPEAKER\" | \"PIN\";\n * gridSize: number;\n * };\n * }) => void\n * stopRecording: () => void\n * startLiveStream: (outputs: Array<{\n * url: string;\n * streamKey: string;\n * }>,\n * config: {\n * layout: {\n * type: \"GRID\" | \"SPOTLIGHT\" | \"SIDEBAR\";\n * priority: \"SPEAKER\" | \"PIN\";\n * gridSize: number;\n * };\n * }) => void\n * stopLiveStream: () => void\n * startHls: (config: {\n * layout: {\n * type: \"GRID\" | \"SPOTLIGHT\" | \"SIDEBAR\";\n * priority: \"SPEAKER\" | \"PIN\";\n * gridSize: number;\n * };\n * }) => void\n * stopHls: () => void\n * getMics: () => Promise<{\n * deviceId: string;\n * label: string;\n * }[]>void\n * getWebcams: () => Promise<{\n * deviceId: string;\n * label: string;\n * facingMode: \"environment\" | \"front\"\n * }[]>void\n * changeMic: (object: string | MediaStream) => void\n * changeWebcam: (object: string | MediaStream) => void\n * startVideo: ({ link }: {\n * link: string;\n * }) => void\n * stopVideo: () => void\n * pauseVideo: ({ currentTime }: {\n * currentTime: number;\n * }) => void\n * resumeVideo: () => void\n * seekVideo: ({ currentTime }: {\n * currentTime: number;\n * }) => void\n * connectTo: ({ meetingId, payload }: {\n * meetingId: string;\n * payload: string;\n * }) => void\n *\n * }}\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 onRecordingStateChanged = () => {},\n onLivestreamStateChanged = () => {},\n onMeetingStateChanged = () => {}\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 eventEmitter.on(events['recording-state-changed'], onRecordingStateChanged);\n eventEmitter.on(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n eventEmitter.on(events['meeting-state-changed'], onMeetingStateChanged);\n\n return () => {\n eventEmitter.off(events['meeting-state-changed'], onMeetingStateChanged);\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 eventEmitter.off(\n events['recording-state-changed'],\n onRecordingStateChanged\n );\n eventEmitter.off(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\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 onRecordingStateChanged = () => {},\n onLivestreamStateChanged = () => {},\n onMeetingStateChanged = () => {}\n}) => {\n useEffect(() => {\n eventEmitter.on(events['meeting-state-changed'], onMeetingStateChanged);\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 eventEmitter.on(events['recording-state-changed'], onRecordingStateChanged);\n eventEmitter.on(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n\n return () => {\n eventEmitter.off(events['meeting-state-changed'], onMeetingStateChanged);\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 eventEmitter.off(\n events['recording-state-changed'],\n onRecordingStateChanged\n );\n eventEmitter.off(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\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\n/**\n *\n * @param {{\n * children:any,\n * config:{\n * meetingId: string,\n * autoConsume: boolean,\n * preferredProtocol:\"UDP_ONLY\" | \"UDP_OVER_TCP\",\n * participantId:string | undefined,\n * name:string,\n * micEnabled:boolean,\n * webcamEnabled:boolean,\n * maxResolution:\"hd\" | \"sd\",\n * customCameraVideoTrack: MediaStream | undefined\n * customMicrophoneAudioTrack: MediaStream | undefined,\n * },\n * token: string,\n * joinWithoutUserInteraction: boolean,\n * reinitialiseMeetingOnConfigChange: boolean,\n * deviceInfo: object\n * }}\n *\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 const [recordingState, setRecordingState] = useState(null);\n const [livestreamState, setLivestreamState] = useState(null);\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 setRecordingState(null);\n setLivestreamState(null);\n };\n\n const _handle_participant_joined = participant => {\n setParticipants(participants => {\n participants.set(participant.id, participant);\n const participantsToSet = new Map(participants);\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\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('meeting-state-changed', _handle_meeting_state_changed);\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 meeting.off('recording-state-changed', _handle_recording_state_changed);\n meeting.off(\n 'livestream-state-changed',\n _handle_livestream_state_changed\n );\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 _handle_recording_state_changed = data => {\n setRecordingState(data?.status);\n eventEmitter.emit(events['recording-state-changed'], data);\n };\n const _handle_livestream_state_changed = data => {\n setLivestreamState(data?.status);\n eventEmitter.emit(events['livestream-state-changed'], data);\n };\n\n const _handle_meeting_state_changed = data => {\n eventEmitter.emit(events['meeting-state-changed'], 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('meeting-state-changed', _handle_meeting_state_changed);\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 meeting.on('recording-state-changed', _handle_recording_state_changed);\n meeting.on('livestream-state-changed', _handle_livestream_state_changed);\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\n const toggleScreenShare = (customScreenShareTrack = undefined) => {\n const localScreenShareOn = localScreenShareOnRef.current;\n\n if (localScreenShareOn) {\n disableScreenShare();\n } else {\n enableScreenShare(customScreenShareTrack);\n }\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 recordingState,\n livestreamState,\n isMeetingJoined,\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\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\n/**\n *\n * @param {string} participantId\n * @param {{\n * onStreamDisabled: Function,\n * onStreamEnabled: Function,\n * onMediaStatusChanged: Function,\n * }} options\n *\n * @returns {{\n * displayName: string;\n * participant: Participant;\n * webcamStream: MediaStreamTrack;\n * micStream: MediaStreamTrack;\n * screenShareStream: MediaStreamTrack;\n * webcamOn: boolean;\n * micOn: boolean;\n * screenShareOn: boolean;\n * isLocal: boolean;\n * isActiveSpeaker: boolean;\n * isMainParticipant: boolean;\n * pinState: any;\n * consumeMicStreams: () => void;\n * consumeWebcamStreams: () => void;\n * stopConsumingMicStreams: () => void;\n * stopConsumingWebcamStreams: () => void;\n * setQuality: (quality: \"low\" | \"med\" | 'high') => void;\n * setViewPort: (width: number, height: number) => void;\n * enableMic: () => void;\n * disableMic: () => void;\n * enableWebcam: () => void;\n * disableWebcam: () => void;\n * pin: (data: \"SHARE_AND_CAM\" | \"CAM\" | \"SHARE\") => void;\n * unpin: (data: \"SHARE_AND_CAM\" | \"CAM\" | \"SHARE\") => void;\n * switchTo: ({ meetingId, payload, token }: {\n * meetingId: string;\n * payload: string;\n * token: string;\n * }) => Promise<void>;\n * getAudioStats: () => Promise<{\n * bitrate: any;\n * score: any;\n * roundTripTime: any;\n * jitter: any;\n * totalPacketCount: any;\n * totalPacketsLost: any;\n * }>;\n * getVideoStats: () => Promise<{\n * bitrate: any;\n * score: any;\n * roundTripTime: any;\n * jitter: any;\n * totalPacketCount: any;\n * totalPacketsLost: any;\n * }>;\n *}}\n *\n */\nconst useParticipant = (\n participantId,\n {\n onStreamEnabled = () => {},\n onStreamDisabled = () => {},\n onMediaStatusChanged = () => {}\n } = {}\n) => {\n const [webcamStream, setwebcamStream] = useState(null);\n const [micStream, setMicStream] = useState(null);\n const [screenShareStream, setScreenShareStream] = useState(null);\n const [screenShareAudioStream, setScreenShareAudioStream] = 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 // const micOn = meeting?.participants?.get(participantId).micOn || false;\n // const webcamOn = meeting?.participants?.get(participantId).webcamOn || false;\n\n return {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n };\n }, [meeting]);\n\n /**\n * @type {Participant}\n */\n const participant = participants?.get(participantId);\n\n const [webcamOn, setWebcamOn] = useState(participant?.webcamOn);\n const [micOn, setMicOn] = useState(participant?.micOn);\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 case 'shareAudio':\n setScreenShareAudioStream(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 case 'shareAudio':\n setScreenShareAudioStream(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 _handleMediaStatusChanged = data => {\n const { kind, peerId, newStatus } = data;\n if (kind == 'audio') {\n setMicOn(newStatus);\n } else if (kind == 'video') {\n setWebcamOn(newStatus);\n }\n onMediaStatusChanged({ kind, peerId, newStatus });\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 const getAudioStats = async () => {\n return participant?.getAudioStats();\n };\n const getVideoStats = async () => {\n return participant?.getVideoStats();\n };\n\n const consumeWebcamStreams = () => {\n participant?.consumeWebcamStreams();\n };\n const consumeMicStreams = () => {\n participant?.consumeMicStreams();\n };\n const stopConsumingWebcamStreams = () => {\n participant?.stopConsumingWebcamStreams();\n };\n const stopConsumingMicStreams = () => {\n participant?.stopConsumingMicStreams();\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 if (participant?.micOn) {\n setMicOn(micOn);\n }\n\n if (participant?.webcamOn) {\n setWebcamOn(webcamOn);\n }\n\n participant?.on('stream-enabled', _handleStreamEnabled);\n\n participant?.on('stream-disabled', _handleStreamDisabled);\n\n participant?.on('media-status-changed', _handleMediaStatusChanged);\n\n return () => {\n participant?.off('stream-enabled', _handleStreamEnabled);\n\n participant?.off('stream-disabled', _handleStreamDisabled);\n\n participant?.off('media-status-changed', _handleMediaStatusChanged);\n };\n }, [participant]);\n\n return {\n displayName: participant?.displayName,\n participant,\n webcamStream,\n micStream,\n screenShareStream,\n screenShareAudioStream,\n webcamOn: webcamOn,\n micOn: micOn,\n screenShareOn: !!screenShareStream,\n isLocal: localParticipant?.id === participantId,\n isActiveSpeaker: activeSpeakerId === participantId,\n isMainParticipant: mainParticipant?.id === participantId,\n pinState,\n\n //\n consumeMicStreams,\n consumeWebcamStreams,\n stopConsumingMicStreams,\n stopConsumingWebcamStreams,\n setQuality,\n setViewPort,\n enableMic,\n disableMic,\n enableWebcam,\n disableWebcam,\n pin,\n unpin,\n switchTo,\n getAudioStats,\n getVideoStats\n };\n};\n\nexport default useParticipant;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n/**\n *\n * @param {string} connectionId\n * @param {{onMeeting:{\n * onParticipantJoined: Function,\n * onParticipantLeft: Function,\n * onChatMessage: Function\n * }}}\n * @returns {{\n * connection: {\n * id: string;\n * close: Function;\n * payload: string;\n * meeting: {\n * id: string;\n * sendChatMessage: Function;\n * end: Function;\n * participants: Array<ConnectionParticipant>;\n * };\n * }}}\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\n/**\n *\n * @param {string} topic\n * @param {{\n * onMessageReceived: Function,\n * onOldMessagesReceived: Function,\n * }} options\n * @returns {{\n * publish: (message: string,{persist: boolean}) => void\n * messages: Array<{\n * id: string,\n * message: string,\n * senderId: string,\n * senderName: string,\n * timestamp: string,\n * topic: string\n * }>\n * }}\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\n /**\n *\n * @param {string} message\n * @param {{persist: boolean}} options\n */\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\n/**\n * @param {{\n * cameraId: string | undefined,\n * encoderConfig: \"h90p_w160p\" | \"h180p_w320p\" | \"h216p_w384p\"\n * | \"h360p_w640p\" | \"h540p_w960p\" | \"h720p_w1280p\" | \"h1080p_w1920p\"\n * | \"h1440p_w2560p\" | \"h2160p_w3840p\" | \"h120p_w160p\" | \"h180p_w240p\"\n * | \"h240p_w320p\" | \"h360p_w480p\" | \"h480p_w640p\" | \"h540p_w720p\"\n * | \"h720p_w960p\" | \"h1080p_w1440p\" | \"h1440p_w1920p\" | undefined,\n * facingMode: \"front\" | \"environment\" | undefined,\n * optimizationMode: \"text\"| \"motion\" | \"detail\" | undefined\n * }}\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\n/**\n * @param {{\n * encoderConfig: \"h360p_30fps\" | \"h720p_5fps\" | \"h720p_15fps\"\n * | \"h1080p_15fps\" | \"h1080p_30fps\" | undefined,\n * optimizationMode: \"text\"| \"motion\" | \"detail\" | undefined,\n * withAudio:\"enable\" | \"disable\"\n * }}\n */\nconst createScreenShareVideoTrack = async ({\n encoderConfig = undefined,\n optimizationMode = undefined,\n withAudio = 'enable'\n}) => {\n return await VideoSDK.createScreenShareVideoTrack({\n encoderConfig,\n optimizationMode,\n withAudio\n });\n};\n\n/**\n * @param {{\n * noiseConfig: {\n * echoCancellation: boolean,\n * autoGainControl: boolean,\n * noiseSuppression: boolean\n * } | undefined,\n * encoderConfig: \"speech_low_quality\"\n * | \"speech_standard\" | \"music_standard\"\n * | \"standard_stereo\" | \"high_quality\"\n * | \"high_quality_stereo\" | undefined\n * microphoneId: string | undefined\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","onRecordingStateChanged","onLivestreamStateChanged","onMeetingStateChanged","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","recordingState","setRecordingState","livestreamState","setLivestreamState","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_meeting_state_changed","_handle_pin_state_changed","_handle_connection_open","_handle_connection_close","_handle_switch_meeting","_handle_error","_handle_recording_state_changed","_handle_livestream_state_changed","state","pinnedBy","cam","share","pinnedParticipantsToSet","connection","connectionsToSet","connectionId","newConnections","d","status","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","onMediaStatusChanged","webcamStream","setwebcamStream","micStream","setMicStream","screenShareStream","setScreenShareStream","screenShareAudioStream","setScreenShareAudioStream","pinState","get","webcamOn","setWebcamOn","micOn","setMicOn","setTrack","unSetTrack","_handleStreamEnabled","_handleStreamDisabled","_handleMediaStatusChanged","peerId","newStatus","setQuality","quality","setViewPort","width","height","enableMic","disableMic","pin","unpin","getAudioStats","getVideoStats","consumeWebcamStreams","consumeMicStreams","stopConsumingWebcamStreams","stopConsumingMicStreams","switchTo","streams","forEach","displayName","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","withAudio","createMicrophoneAudioTrack","noiseConfig","microphoneId"],"mappings":"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"}
|
package/dist/index.modern.js
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import '@videosdk.live/js-sdk/connection';
|
|
2
|
-
import '@videosdk.live/js-sdk/meeting';
|
|
3
|
-
import '@videosdk.live/js-sdk/participant';
|
|
4
1
|
import React, { createContext, useEffect, useContext, useState, useRef, useMemo } from 'react';
|
|
5
2
|
import EventEmitter from 'events';
|
|
6
3
|
import { VideoSDK } from '@videosdk.live/js-sdk';
|
|
7
|
-
import '@videosdk.live/js-sdk/connectionParticipant';
|
|
8
4
|
|
|
9
5
|
var eventPrifix = 'videosdk-live-react-sdk';
|
|
10
6
|
var events = {
|
|
@@ -283,7 +279,7 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
|
|
|
283
279
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MeetingProviderContex.Consumer, null, children));
|
|
284
280
|
};
|
|
285
281
|
|
|
286
|
-
var version = "0.1.
|
|
282
|
+
var version = "0.1.46";
|
|
287
283
|
|
|
288
284
|
var MeetingProvider = function MeetingProvider(_ref) {
|
|
289
285
|
var children = _ref.children,
|
package/dist/index.modern.js.map
CHANGED
|
@@ -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 'recording-state-changed': `${eventPrifix}-recording-state-changed`,\n 'livestream-state-changed': `${eventPrifix}-livestream-state-changed`,\n 'meeting-state-changed': `${eventPrifix}-meeting-state-changed`\n};\n\nconst eventEmitter = new EventEmitter();\neventEmitter.setMaxListeners(9999);\n\nexport { eventEmitter, events };\n","import { Connection } from '@videosdk.live/js-sdk/connection';\nimport { Meeting } from '@videosdk.live/js-sdk/meeting';\nimport { Participant } from '@videosdk.live/js-sdk/participant';\nimport React from 'react';\nimport { useContext, createContext, useEffect } from 'react';\nimport { eventEmitter, events } from '../utils';\nexport const MeetingProviderContex = createContext();\n\n/**\n *\n * @param {{\n * onParticipantJoined?: () => void;\n * onParticipantLeft?: () => void;\n * onSpeakerChanged?: () => void;\n * onPresenterChanged?: () => void;\n * onMainParticipantChanged?: () => void;\n * onEntryRequested?: () => void;\n * onEntryResponded?: () => void;\n * onRecordingStarted?: () => void;\n * onRecordingStopped?: () => void;\n * onChatMessage?: () => void;\n * onMeetingJoined?: () => void;\n * onMeetingLeft?: () => void;\n * onLiveStreamStarted?: () => void;\n * onLiveStreamStopped?: () => void;\n * onVideoStateChanged?: () => void;\n * onVideoSeeked?: () => void;\n * onWebcamRequested?: () => void;\n * onMicRequested?: () => void;\n * onPinStateChanged?: () => void;\n * onConnectionOpen?: () => void;\n * onConnetionClose?: () => void;\n * onSwitchMeeting?: () => void;\n * onError?: () => void;\n * onHlsStarted?: () => void;\n * onHlsStopped?: () => void;\n * onRecordingStateChanged?: () => void;\n * onLivestreamStateChanged?: () => void;\n * onMeetingStateChanged?: () => void;\n *}}\n * @returns {{\n * meetingId: string,\n * meeting: Meeting,\n * localParticipant: Participant,\n * activeSpeakerId: string,\n * participants: Map<string, Participant>,\n * pinnedParticipants: Map<string, {cam:boolean, share:boolean}>,\n * presenterId: string,\n * localMicOn: boolean,\n * localWebcamOn: boolean,\n * isRecording: boolean,\n * isLiveStreaming: boolean,\n * localScreenShareOn: boolean,\n * connections: Map<string, Connection>,\n * join: () => void\n * leave: () => void\n * end: () => void\n * enableMic: (customAudioTrack: MediaStream | undefined) => void\n * disableMic: () => void\n * toggleMic: (customAudioTrack: MediaStream | undefined) => void\n * enableWebcam: (customVideoTrack: MediaStream | undefined) => void\n * disableWebcam: () => void\n * toggleWebcam: (customVideoTrack: MediaStream | undefined) => void\n * enableScreenShare: (customScreenShareTrack: MediaStream | undefined) => void\n * disableScreenShare: () => void\n * toggleScreenShare: (customScreenShareTrack: MediaStream | undefined) => void\n * startRecording: (webhookUrl: string, awsDirPath: string, config: {\n * layout: {\n * type: \"GRID\" | \"SPOTLIGHT\" | \"SIDEBAR\";\n * priority: \"SPEAKER\" | \"PIN\";\n * gridSize: number;\n * };\n * }) => void\n * stopRecording: () => void\n * startLiveStream: (outputs: Array<{\n * url: string;\n * streamKey: string;\n * }>,\n * config: {\n * layout: {\n * type: \"GRID\" | \"SPOTLIGHT\" | \"SIDEBAR\";\n * priority: \"SPEAKER\" | \"PIN\";\n * gridSize: number;\n * };\n * }) => void\n * stopLiveStream: () => void\n * startHls: (config: {\n * layout: {\n * type: \"GRID\" | \"SPOTLIGHT\" | \"SIDEBAR\";\n * priority: \"SPEAKER\" | \"PIN\";\n * gridSize: number;\n * };\n * }) => void\n * stopHls: () => void\n * getMics: () => Promise<{\n * deviceId: string;\n * label: string;\n * }[]>void\n * getWebcams: () => Promise<{\n * deviceId: string;\n * label: string;\n * facingMode: \"environment\" | \"front\"\n * }[]>void\n * changeMic: (object: string | MediaStream) => void\n * changeWebcam: (object: string | MediaStream) => void\n * startVideo: ({ link }: {\n * link: string;\n * }) => void\n * stopVideo: () => void\n * pauseVideo: ({ currentTime }: {\n * currentTime: number;\n * }) => void\n * resumeVideo: () => void\n * seekVideo: ({ currentTime }: {\n * currentTime: number;\n * }) => void\n * connectTo: ({ meetingId, payload }: {\n * meetingId: string;\n * payload: string;\n * }) => void\n *\n * }}\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 onRecordingStateChanged = () => {},\n onLivestreamStateChanged = () => {},\n onMeetingStateChanged = () => {}\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 eventEmitter.on(events['recording-state-changed'], onRecordingStateChanged);\n eventEmitter.on(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n eventEmitter.on(events['meeting-state-changed'], onMeetingStateChanged);\n\n return () => {\n eventEmitter.off(events['meeting-state-changed'], onMeetingStateChanged);\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 eventEmitter.off(\n events['recording-state-changed'],\n onRecordingStateChanged\n );\n eventEmitter.off(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\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 onRecordingStateChanged = () => {},\n onLivestreamStateChanged = () => {},\n onMeetingStateChanged = () => {}\n}) => {\n useEffect(() => {\n eventEmitter.on(events['meeting-state-changed'], onMeetingStateChanged);\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 eventEmitter.on(events['recording-state-changed'], onRecordingStateChanged);\n eventEmitter.on(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n\n return () => {\n eventEmitter.off(events['meeting-state-changed'], onMeetingStateChanged);\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 eventEmitter.off(\n events['recording-state-changed'],\n onRecordingStateChanged\n );\n eventEmitter.off(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\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\n/**\n *\n * @param {{\n * children:any,\n * config:{\n * meetingId: string,\n * autoConsume: boolean,\n * preferredProtocol:\"UDP_ONLY\" | \"UDP_OVER_TCP\",\n * participantId:string | undefined,\n * name:string,\n * micEnabled:boolean,\n * webcamEnabled:boolean,\n * maxResolution:\"hd\" | \"sd\",\n * customCameraVideoTrack: MediaStream | undefined\n * customMicrophoneAudioTrack: MediaStream | undefined,\n * },\n * token: string,\n * joinWithoutUserInteraction: boolean,\n * reinitialiseMeetingOnConfigChange: boolean,\n * deviceInfo: object\n * }}\n *\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 const [recordingState, setRecordingState] = useState(null);\n const [livestreamState, setLivestreamState] = useState(null);\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 setRecordingState(null);\n setLivestreamState(null);\n };\n\n const _handle_participant_joined = participant => {\n setParticipants(participants => {\n participants.set(participant.id, participant);\n const participantsToSet = new Map(participants);\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\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('meeting-state-changed', _handle_meeting_state_changed);\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 meeting.off('recording-state-changed', _handle_recording_state_changed);\n meeting.off(\n 'livestream-state-changed',\n _handle_livestream_state_changed\n );\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 _handle_recording_state_changed = data => {\n setRecordingState(data?.status);\n eventEmitter.emit(events['recording-state-changed'], data);\n };\n const _handle_livestream_state_changed = data => {\n setLivestreamState(data?.status);\n eventEmitter.emit(events['livestream-state-changed'], data);\n };\n\n const _handle_meeting_state_changed = data => {\n eventEmitter.emit(events['meeting-state-changed'], 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('meeting-state-changed', _handle_meeting_state_changed);\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 meeting.on('recording-state-changed', _handle_recording_state_changed);\n meeting.on('livestream-state-changed', _handle_livestream_state_changed);\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\n const toggleScreenShare = (customScreenShareTrack = undefined) => {\n const localScreenShareOn = localScreenShareOnRef.current;\n\n if (localScreenShareOn) {\n disableScreenShare();\n } else {\n enableScreenShare(customScreenShareTrack);\n }\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 recordingState,\n livestreamState,\n isMeetingJoined,\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\n startHls,\n stopHls\n }}\n >\n {children}\n </MeetingProviderContex.Provider>\n );\n};\n\nexport default MeetingProvider;\n","import { Participant } from '@videosdk.live/js-sdk/participant';\nimport { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\n/**\n *\n * @param {string} participantId\n * @param {{\n * onStreamDisabled: Function,\n * onStreamEnabled: Function,\n * onMediaStatusChanged: Function,\n * }} options\n *\n * @returns {{\n * displayName: string;\n * participant: Participant;\n * webcamStream: MediaStreamTrack;\n * micStream: MediaStreamTrack;\n * screenShareStream: MediaStreamTrack;\n * webcamOn: boolean;\n * micOn: boolean;\n * screenShareOn: boolean;\n * isLocal: boolean;\n * isActiveSpeaker: boolean;\n * isMainParticipant: boolean;\n * pinState: any;\n * consumeMicStreams: () => void;\n * consumeWebcamStreams: () => void;\n * stopConsumingMicStreams: () => void;\n * stopConsumingWebcamStreams: () => void;\n * setQuality: (quality: \"low\" | \"med\" | 'high') => void;\n * setViewPort: (width: number, height: number) => void;\n * enableMic: () => void;\n * disableMic: () => void;\n * enableWebcam: () => void;\n * disableWebcam: () => void;\n * pin: (data: \"SHARE_AND_CAM\" | \"CAM\" | \"SHARE\") => void;\n * unpin: (data: \"SHARE_AND_CAM\" | \"CAM\" | \"SHARE\") => void;\n * switchTo: ({ meetingId, payload, token }: {\n * meetingId: string;\n * payload: string;\n * token: string;\n * }) => Promise<void>;\n * getAudioStats: () => Promise<{\n * bitrate: any;\n * score: any;\n * roundTripTime: any;\n * jitter: any;\n * totalPacketCount: any;\n * totalPacketsLost: any;\n * }>;\n * getVideoStats: () => Promise<{\n * bitrate: any;\n * score: any;\n * roundTripTime: any;\n * jitter: any;\n * totalPacketCount: any;\n * totalPacketsLost: any;\n * }>;\n *}}\n *\n */\nconst useParticipant = (\n participantId,\n {\n onStreamEnabled = () => {},\n onStreamDisabled = () => {},\n onMediaStatusChanged = () => {}\n } = {}\n) => {\n const [webcamStream, setwebcamStream] = useState(null);\n const [micStream, setMicStream] = useState(null);\n const [screenShareStream, setScreenShareStream] = useState(null);\n const [screenShareAudioStream, setScreenShareAudioStream] = 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 // const micOn = meeting?.participants?.get(participantId).micOn || false;\n // const webcamOn = meeting?.participants?.get(participantId).webcamOn || false;\n\n return {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n };\n }, [meeting]);\n\n /**\n * @type {Participant}\n */\n const participant = participants?.get(participantId);\n\n const [webcamOn, setWebcamOn] = useState(participant?.webcamOn);\n const [micOn, setMicOn] = useState(participant?.micOn);\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 case 'shareAudio':\n setScreenShareAudioStream(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 case 'shareAudio':\n setScreenShareAudioStream(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 _handleMediaStatusChanged = data => {\n const { kind, peerId, newStatus } = data;\n if (kind == 'audio') {\n setMicOn(newStatus);\n } else if (kind == 'video') {\n setWebcamOn(newStatus);\n }\n onMediaStatusChanged({ kind, peerId, newStatus });\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 const getAudioStats = async () => {\n return participant?.getAudioStats();\n };\n const getVideoStats = async () => {\n return participant?.getVideoStats();\n };\n\n const consumeWebcamStreams = () => {\n participant?.consumeWebcamStreams();\n };\n const consumeMicStreams = () => {\n participant?.consumeMicStreams();\n };\n const stopConsumingWebcamStreams = () => {\n participant?.stopConsumingWebcamStreams();\n };\n const stopConsumingMicStreams = () => {\n participant?.stopConsumingMicStreams();\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 if (participant?.micOn) {\n setMicOn(micOn);\n }\n\n if (participant?.webcamOn) {\n setWebcamOn(webcamOn);\n }\n\n participant?.on('stream-enabled', _handleStreamEnabled);\n\n participant?.on('stream-disabled', _handleStreamDisabled);\n\n participant?.on('media-status-changed', _handleMediaStatusChanged);\n\n return () => {\n participant?.off('stream-enabled', _handleStreamEnabled);\n\n participant?.off('stream-disabled', _handleStreamDisabled);\n\n participant?.off('media-status-changed', _handleMediaStatusChanged);\n };\n }, [participant]);\n\n return {\n displayName: participant?.displayName,\n participant,\n webcamStream,\n micStream,\n screenShareStream,\n screenShareAudioStream,\n webcamOn: webcamOn,\n micOn: micOn,\n screenShareOn: !!screenShareStream,\n isLocal: localParticipant?.id === participantId,\n isActiveSpeaker: activeSpeakerId === participantId,\n isMainParticipant: mainParticipant?.id === participantId,\n pinState,\n\n //\n consumeMicStreams,\n consumeWebcamStreams,\n stopConsumingMicStreams,\n stopConsumingWebcamStreams,\n setQuality,\n setViewPort,\n enableMic,\n disableMic,\n enableWebcam,\n disableWebcam,\n pin,\n unpin,\n switchTo,\n getAudioStats,\n getVideoStats\n };\n};\n\nexport default useParticipant;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\nimport { ConnectionParticipant } from '@videosdk.live/js-sdk/connectionParticipant';\n/**\n *\n * @param {string} connectionId\n * @param {{onMeeting:{\n * onParticipantJoined: Function,\n * onParticipantLeft: Function,\n * onChatMessage: Function\n * }}}\n * @returns {{\n * connection: {\n * id: string;\n * close: Function;\n * payload: string;\n * meeting: {\n * id: string;\n * sendChatMessage: Function;\n * end: Function;\n * participants: Array<ConnectionParticipant>;\n * };\n * }}}\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\n/**\n *\n * @param {string} topic\n * @param {{\n * onMessageReceived: Function,\n * onOldMessagesReceived: Function,\n * }} options\n * @returns {{\n * publish: (message: string,{persist: boolean}) => void\n * messages: Array<{\n * id: string,\n * message: string,\n * senderId: string,\n * senderName: string,\n * timestamp: string,\n * topic: string\n * }>\n * }}\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\n /**\n *\n * @param {string} message\n * @param {{persist: boolean}} options\n */\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\n/**\n * @param {{\n * cameraId: string | undefined,\n * encoderConfig: \"h90p_w160p\" | \"h180p_w320p\" | \"h216p_w384p\"\n * | \"h360p_w640p\" | \"h540p_w960p\" | \"h720p_w1280p\" | \"h1080p_w1920p\"\n * | \"h1440p_w2560p\" | \"h2160p_w3840p\" | \"h120p_w160p\" | \"h180p_w240p\"\n * | \"h240p_w320p\" | \"h360p_w480p\" | \"h480p_w640p\" | \"h540p_w720p\"\n * | \"h720p_w960p\" | \"h1080p_w1440p\" | \"h1440p_w1920p\" | undefined,\n * facingMode: \"front\" | \"environment\" | undefined,\n * optimizationMode: \"text\"| \"motion\" | \"detail\" | undefined\n * }}\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\n/**\n * @param {{\n * encoderConfig: \"h360p_30fps\" | \"h720p_5fps\" | \"h720p_15fps\"\n * | \"h1080p_15fps\" | \"h1080p_30fps\" | undefined,\n * optimizationMode: \"text\"| \"motion\" | \"detail\" | undefined,\n * withAudio:\"enable\" | \"disable\"\n * }}\n */\nconst createScreenShareVideoTrack = async ({\n encoderConfig = undefined,\n optimizationMode = undefined,\n withAudio = 'enable'\n}) => {\n return await VideoSDK.createScreenShareVideoTrack({\n encoderConfig,\n optimizationMode,\n withAudio\n });\n};\n\n/**\n * @param {{\n * noiseConfig: {\n * echoCancellation: boolean,\n * autoGainControl: boolean,\n * noiseSuppression: boolean\n * } | undefined,\n * encoderConfig: \"speech_low_quality\"\n * | \"speech_standard\" | \"music_standard\"\n * | \"standard_stereo\" | \"high_quality\"\n * | \"high_quality_stereo\" | undefined\n * microphoneId: string | undefined\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","onRecordingStateChanged","onLivestreamStateChanged","onMeetingStateChanged","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","recordingState","setRecordingState","livestreamState","setLivestreamState","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_meeting_state_changed","_handle_pin_state_changed","_handle_connection_open","_handle_connection_close","_handle_switch_meeting","_handle_error","_handle_recording_state_changed","_handle_livestream_state_changed","state","pinnedBy","cam","share","pinnedParticipantsToSet","connection","connectionsToSet","connectionId","newConnections","d","status","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","onMediaStatusChanged","webcamStream","setwebcamStream","micStream","setMicStream","screenShareStream","setScreenShareStream","screenShareAudioStream","setScreenShareAudioStream","pinState","get","webcamOn","setWebcamOn","micOn","setMicOn","setTrack","unSetTrack","_handleStreamEnabled","_handleStreamDisabled","_handleMediaStatusChanged","peerId","newStatus","setQuality","quality","setViewPort","width","height","enableMic","disableMic","pin","unpin","getAudioStats","getVideoStats","consumeWebcamStreams","consumeMicStreams","stopConsumingWebcamStreams","stopConsumingMicStreams","switchTo","streams","forEach","displayName","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","withAudio","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 'recording-state-changed': `${eventPrifix}-recording-state-changed`,\n 'livestream-state-changed': `${eventPrifix}-livestream-state-changed`,\n 'meeting-state-changed': `${eventPrifix}-meeting-state-changed`\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\n/**\n *\n * @param {{\n * onParticipantJoined?: () => void;\n * onParticipantLeft?: () => void;\n * onSpeakerChanged?: () => void;\n * onPresenterChanged?: () => void;\n * onMainParticipantChanged?: () => void;\n * onEntryRequested?: () => void;\n * onEntryResponded?: () => void;\n * onRecordingStarted?: () => void;\n * onRecordingStopped?: () => void;\n * onChatMessage?: () => void;\n * onMeetingJoined?: () => void;\n * onMeetingLeft?: () => void;\n * onLiveStreamStarted?: () => void;\n * onLiveStreamStopped?: () => void;\n * onVideoStateChanged?: () => void;\n * onVideoSeeked?: () => void;\n * onWebcamRequested?: () => void;\n * onMicRequested?: () => void;\n * onPinStateChanged?: () => void;\n * onConnectionOpen?: () => void;\n * onConnetionClose?: () => void;\n * onSwitchMeeting?: () => void;\n * onError?: () => void;\n * onHlsStarted?: () => void;\n * onHlsStopped?: () => void;\n * onRecordingStateChanged?: () => void;\n * onLivestreamStateChanged?: () => void;\n * onMeetingStateChanged?: () => void;\n *}}\n * @returns {{\n * meetingId: string,\n * meeting: Meeting,\n * localParticipant: Participant,\n * activeSpeakerId: string,\n * participants: Map<string, Participant>,\n * pinnedParticipants: Map<string, {cam:boolean, share:boolean}>,\n * presenterId: string,\n * localMicOn: boolean,\n * localWebcamOn: boolean,\n * isRecording: boolean,\n * isLiveStreaming: boolean,\n * localScreenShareOn: boolean,\n * connections: Map<string, Connection>,\n * join: () => void\n * leave: () => void\n * end: () => void\n * enableMic: (customAudioTrack: MediaStream | undefined) => void\n * disableMic: () => void\n * toggleMic: (customAudioTrack: MediaStream | undefined) => void\n * enableWebcam: (customVideoTrack: MediaStream | undefined) => void\n * disableWebcam: () => void\n * toggleWebcam: (customVideoTrack: MediaStream | undefined) => void\n * enableScreenShare: (customScreenShareTrack: MediaStream | undefined) => void\n * disableScreenShare: () => void\n * toggleScreenShare: (customScreenShareTrack: MediaStream | undefined) => void\n * startRecording: (webhookUrl: string, awsDirPath: string, config: {\n * layout: {\n * type: \"GRID\" | \"SPOTLIGHT\" | \"SIDEBAR\";\n * priority: \"SPEAKER\" | \"PIN\";\n * gridSize: number;\n * };\n * }) => void\n * stopRecording: () => void\n * startLiveStream: (outputs: Array<{\n * url: string;\n * streamKey: string;\n * }>,\n * config: {\n * layout: {\n * type: \"GRID\" | \"SPOTLIGHT\" | \"SIDEBAR\";\n * priority: \"SPEAKER\" | \"PIN\";\n * gridSize: number;\n * };\n * }) => void\n * stopLiveStream: () => void\n * startHls: (config: {\n * layout: {\n * type: \"GRID\" | \"SPOTLIGHT\" | \"SIDEBAR\";\n * priority: \"SPEAKER\" | \"PIN\";\n * gridSize: number;\n * };\n * }) => void\n * stopHls: () => void\n * getMics: () => Promise<{\n * deviceId: string;\n * label: string;\n * }[]>void\n * getWebcams: () => Promise<{\n * deviceId: string;\n * label: string;\n * facingMode: \"environment\" | \"front\"\n * }[]>void\n * changeMic: (object: string | MediaStream) => void\n * changeWebcam: (object: string | MediaStream) => void\n * startVideo: ({ link }: {\n * link: string;\n * }) => void\n * stopVideo: () => void\n * pauseVideo: ({ currentTime }: {\n * currentTime: number;\n * }) => void\n * resumeVideo: () => void\n * seekVideo: ({ currentTime }: {\n * currentTime: number;\n * }) => void\n * connectTo: ({ meetingId, payload }: {\n * meetingId: string;\n * payload: string;\n * }) => void\n *\n * }}\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 onRecordingStateChanged = () => {},\n onLivestreamStateChanged = () => {},\n onMeetingStateChanged = () => {}\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 eventEmitter.on(events['recording-state-changed'], onRecordingStateChanged);\n eventEmitter.on(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n eventEmitter.on(events['meeting-state-changed'], onMeetingStateChanged);\n\n return () => {\n eventEmitter.off(events['meeting-state-changed'], onMeetingStateChanged);\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 eventEmitter.off(\n events['recording-state-changed'],\n onRecordingStateChanged\n );\n eventEmitter.off(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\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 onRecordingStateChanged = () => {},\n onLivestreamStateChanged = () => {},\n onMeetingStateChanged = () => {}\n}) => {\n useEffect(() => {\n eventEmitter.on(events['meeting-state-changed'], onMeetingStateChanged);\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 eventEmitter.on(events['recording-state-changed'], onRecordingStateChanged);\n eventEmitter.on(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n\n return () => {\n eventEmitter.off(events['meeting-state-changed'], onMeetingStateChanged);\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 eventEmitter.off(\n events['recording-state-changed'],\n onRecordingStateChanged\n );\n eventEmitter.off(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\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\n/**\n *\n * @param {{\n * children:any,\n * config:{\n * meetingId: string,\n * autoConsume: boolean,\n * preferredProtocol:\"UDP_ONLY\" | \"UDP_OVER_TCP\",\n * participantId:string | undefined,\n * name:string,\n * micEnabled:boolean,\n * webcamEnabled:boolean,\n * maxResolution:\"hd\" | \"sd\",\n * customCameraVideoTrack: MediaStream | undefined\n * customMicrophoneAudioTrack: MediaStream | undefined,\n * },\n * token: string,\n * joinWithoutUserInteraction: boolean,\n * reinitialiseMeetingOnConfigChange: boolean,\n * deviceInfo: object\n * }}\n *\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 const [recordingState, setRecordingState] = useState(null);\n const [livestreamState, setLivestreamState] = useState(null);\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 setRecordingState(null);\n setLivestreamState(null);\n };\n\n const _handle_participant_joined = participant => {\n setParticipants(participants => {\n participants.set(participant.id, participant);\n const participantsToSet = new Map(participants);\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\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('meeting-state-changed', _handle_meeting_state_changed);\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 meeting.off('recording-state-changed', _handle_recording_state_changed);\n meeting.off(\n 'livestream-state-changed',\n _handle_livestream_state_changed\n );\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 _handle_recording_state_changed = data => {\n setRecordingState(data?.status);\n eventEmitter.emit(events['recording-state-changed'], data);\n };\n const _handle_livestream_state_changed = data => {\n setLivestreamState(data?.status);\n eventEmitter.emit(events['livestream-state-changed'], data);\n };\n\n const _handle_meeting_state_changed = data => {\n eventEmitter.emit(events['meeting-state-changed'], 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('meeting-state-changed', _handle_meeting_state_changed);\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 meeting.on('recording-state-changed', _handle_recording_state_changed);\n meeting.on('livestream-state-changed', _handle_livestream_state_changed);\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\n const toggleScreenShare = (customScreenShareTrack = undefined) => {\n const localScreenShareOn = localScreenShareOnRef.current;\n\n if (localScreenShareOn) {\n disableScreenShare();\n } else {\n enableScreenShare(customScreenShareTrack);\n }\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 recordingState,\n livestreamState,\n isMeetingJoined,\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\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\n/**\n *\n * @param {string} participantId\n * @param {{\n * onStreamDisabled: Function,\n * onStreamEnabled: Function,\n * onMediaStatusChanged: Function,\n * }} options\n *\n * @returns {{\n * displayName: string;\n * participant: Participant;\n * webcamStream: MediaStreamTrack;\n * micStream: MediaStreamTrack;\n * screenShareStream: MediaStreamTrack;\n * webcamOn: boolean;\n * micOn: boolean;\n * screenShareOn: boolean;\n * isLocal: boolean;\n * isActiveSpeaker: boolean;\n * isMainParticipant: boolean;\n * pinState: any;\n * consumeMicStreams: () => void;\n * consumeWebcamStreams: () => void;\n * stopConsumingMicStreams: () => void;\n * stopConsumingWebcamStreams: () => void;\n * setQuality: (quality: \"low\" | \"med\" | 'high') => void;\n * setViewPort: (width: number, height: number) => void;\n * enableMic: () => void;\n * disableMic: () => void;\n * enableWebcam: () => void;\n * disableWebcam: () => void;\n * pin: (data: \"SHARE_AND_CAM\" | \"CAM\" | \"SHARE\") => void;\n * unpin: (data: \"SHARE_AND_CAM\" | \"CAM\" | \"SHARE\") => void;\n * switchTo: ({ meetingId, payload, token }: {\n * meetingId: string;\n * payload: string;\n * token: string;\n * }) => Promise<void>;\n * getAudioStats: () => Promise<{\n * bitrate: any;\n * score: any;\n * roundTripTime: any;\n * jitter: any;\n * totalPacketCount: any;\n * totalPacketsLost: any;\n * }>;\n * getVideoStats: () => Promise<{\n * bitrate: any;\n * score: any;\n * roundTripTime: any;\n * jitter: any;\n * totalPacketCount: any;\n * totalPacketsLost: any;\n * }>;\n *}}\n *\n */\nconst useParticipant = (\n participantId,\n {\n onStreamEnabled = () => {},\n onStreamDisabled = () => {},\n onMediaStatusChanged = () => {}\n } = {}\n) => {\n const [webcamStream, setwebcamStream] = useState(null);\n const [micStream, setMicStream] = useState(null);\n const [screenShareStream, setScreenShareStream] = useState(null);\n const [screenShareAudioStream, setScreenShareAudioStream] = 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 // const micOn = meeting?.participants?.get(participantId).micOn || false;\n // const webcamOn = meeting?.participants?.get(participantId).webcamOn || false;\n\n return {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n };\n }, [meeting]);\n\n /**\n * @type {Participant}\n */\n const participant = participants?.get(participantId);\n\n const [webcamOn, setWebcamOn] = useState(participant?.webcamOn);\n const [micOn, setMicOn] = useState(participant?.micOn);\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 case 'shareAudio':\n setScreenShareAudioStream(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 case 'shareAudio':\n setScreenShareAudioStream(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 _handleMediaStatusChanged = data => {\n const { kind, peerId, newStatus } = data;\n if (kind == 'audio') {\n setMicOn(newStatus);\n } else if (kind == 'video') {\n setWebcamOn(newStatus);\n }\n onMediaStatusChanged({ kind, peerId, newStatus });\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 const getAudioStats = async () => {\n return participant?.getAudioStats();\n };\n const getVideoStats = async () => {\n return participant?.getVideoStats();\n };\n\n const consumeWebcamStreams = () => {\n participant?.consumeWebcamStreams();\n };\n const consumeMicStreams = () => {\n participant?.consumeMicStreams();\n };\n const stopConsumingWebcamStreams = () => {\n participant?.stopConsumingWebcamStreams();\n };\n const stopConsumingMicStreams = () => {\n participant?.stopConsumingMicStreams();\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 if (participant?.micOn) {\n setMicOn(micOn);\n }\n\n if (participant?.webcamOn) {\n setWebcamOn(webcamOn);\n }\n\n participant?.on('stream-enabled', _handleStreamEnabled);\n\n participant?.on('stream-disabled', _handleStreamDisabled);\n\n participant?.on('media-status-changed', _handleMediaStatusChanged);\n\n return () => {\n participant?.off('stream-enabled', _handleStreamEnabled);\n\n participant?.off('stream-disabled', _handleStreamDisabled);\n\n participant?.off('media-status-changed', _handleMediaStatusChanged);\n };\n }, [participant]);\n\n return {\n displayName: participant?.displayName,\n participant,\n webcamStream,\n micStream,\n screenShareStream,\n screenShareAudioStream,\n webcamOn: webcamOn,\n micOn: micOn,\n screenShareOn: !!screenShareStream,\n isLocal: localParticipant?.id === participantId,\n isActiveSpeaker: activeSpeakerId === participantId,\n isMainParticipant: mainParticipant?.id === participantId,\n pinState,\n\n //\n consumeMicStreams,\n consumeWebcamStreams,\n stopConsumingMicStreams,\n stopConsumingWebcamStreams,\n setQuality,\n setViewPort,\n enableMic,\n disableMic,\n enableWebcam,\n disableWebcam,\n pin,\n unpin,\n switchTo,\n getAudioStats,\n getVideoStats\n };\n};\n\nexport default useParticipant;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n/**\n *\n * @param {string} connectionId\n * @param {{onMeeting:{\n * onParticipantJoined: Function,\n * onParticipantLeft: Function,\n * onChatMessage: Function\n * }}}\n * @returns {{\n * connection: {\n * id: string;\n * close: Function;\n * payload: string;\n * meeting: {\n * id: string;\n * sendChatMessage: Function;\n * end: Function;\n * participants: Array<ConnectionParticipant>;\n * };\n * }}}\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\n/**\n *\n * @param {string} topic\n * @param {{\n * onMessageReceived: Function,\n * onOldMessagesReceived: Function,\n * }} options\n * @returns {{\n * publish: (message: string,{persist: boolean}) => void\n * messages: Array<{\n * id: string,\n * message: string,\n * senderId: string,\n * senderName: string,\n * timestamp: string,\n * topic: string\n * }>\n * }}\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\n /**\n *\n * @param {string} message\n * @param {{persist: boolean}} options\n */\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\n/**\n * @param {{\n * cameraId: string | undefined,\n * encoderConfig: \"h90p_w160p\" | \"h180p_w320p\" | \"h216p_w384p\"\n * | \"h360p_w640p\" | \"h540p_w960p\" | \"h720p_w1280p\" | \"h1080p_w1920p\"\n * | \"h1440p_w2560p\" | \"h2160p_w3840p\" | \"h120p_w160p\" | \"h180p_w240p\"\n * | \"h240p_w320p\" | \"h360p_w480p\" | \"h480p_w640p\" | \"h540p_w720p\"\n * | \"h720p_w960p\" | \"h1080p_w1440p\" | \"h1440p_w1920p\" | undefined,\n * facingMode: \"front\" | \"environment\" | undefined,\n * optimizationMode: \"text\"| \"motion\" | \"detail\" | undefined\n * }}\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\n/**\n * @param {{\n * encoderConfig: \"h360p_30fps\" | \"h720p_5fps\" | \"h720p_15fps\"\n * | \"h1080p_15fps\" | \"h1080p_30fps\" | undefined,\n * optimizationMode: \"text\"| \"motion\" | \"detail\" | undefined,\n * withAudio:\"enable\" | \"disable\"\n * }}\n */\nconst createScreenShareVideoTrack = async ({\n encoderConfig = undefined,\n optimizationMode = undefined,\n withAudio = 'enable'\n}) => {\n return await VideoSDK.createScreenShareVideoTrack({\n encoderConfig,\n optimizationMode,\n withAudio\n });\n};\n\n/**\n * @param {{\n * noiseConfig: {\n * echoCancellation: boolean,\n * autoGainControl: boolean,\n * noiseSuppression: boolean\n * } | undefined,\n * encoderConfig: \"speech_low_quality\"\n * | \"speech_standard\" | \"music_standard\"\n * | \"standard_stereo\" | \"high_quality\"\n * | \"high_quality_stereo\" | undefined\n * microphoneId: string | undefined\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","onRecordingStateChanged","onLivestreamStateChanged","onMeetingStateChanged","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","recordingState","setRecordingState","livestreamState","setLivestreamState","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_meeting_state_changed","_handle_pin_state_changed","_handle_connection_open","_handle_connection_close","_handle_switch_meeting","_handle_error","_handle_recording_state_changed","_handle_livestream_state_changed","state","pinnedBy","cam","share","pinnedParticipantsToSet","connection","connectionsToSet","connectionId","newConnections","d","status","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","onMediaStatusChanged","webcamStream","setwebcamStream","micStream","setMicStream","screenShareStream","setScreenShareStream","screenShareAudioStream","setScreenShareAudioStream","pinState","get","webcamOn","setWebcamOn","micOn","setMicOn","setTrack","unSetTrack","_handleStreamEnabled","_handleStreamDisabled","_handleMediaStatusChanged","peerId","newStatus","setQuality","quality","setViewPort","width","height","enableMic","disableMic","pin","unpin","getAudioStats","getVideoStats","consumeWebcamStreams","consumeMicStreams","stopConsumingWebcamStreams","stopConsumingMicStreams","switchTo","streams","forEach","displayName","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","withAudio","createMicrophoneAudioTrack","noiseConfig","microphoneId"],"mappings":"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"}
|
|
@@ -143,7 +143,4 @@ export function MeetingConsumer({ children, onParticipantJoined, onParticipantLe
|
|
|
143
143
|
onLivestreamStateChanged?: () => void;
|
|
144
144
|
onMeetingStateChanged?: () => void;
|
|
145
145
|
}): any;
|
|
146
|
-
import { Meeting } from "@videosdk.live/js-sdk/meeting";
|
|
147
|
-
import { Participant } from "@videosdk.live/js-sdk/participant";
|
|
148
|
-
import { Connection } from "@videosdk.live/js-sdk/connection";
|
|
149
146
|
//# sourceMappingURL=meetingProviderContextDef.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meetingProviderContextDef.d.ts","sourceRoot":"","sources":["../../src/meeting/meetingProviderContextDef.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"meetingProviderContextDef.d.ts","sourceRoot":"","sources":["../../src/meeting/meetingProviderContextDef.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useParticipant.d.ts","sourceRoot":"","sources":["../../src/participant/useParticipant.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"useParticipant.d.ts","sourceRoot":"","sources":["../../src/participant/useParticipant.js"],"names":[],"mappings":";AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,+CAxDW,MAAM,gEACN;IACV,gBAAmB,WAAW;IAC9B,eAAkB,WAAW;IAC7B,oBAAuB,WAAW;CAC/B;iBAGc,MAAM;;kBAEL,gBAAgB;eACnB,gBAAgB;uBACR,gBAAgB;cACzB,OAAO;WACV,OAAO;mBACC,OAAO;aACb,OAAO;qBACC,OAAO;uBACL,OAAO;cAChB,GAAG;uBACM,MAAM,IAAI;0BACP,MAAM,IAAI;6BACP,MAAM,IAAI;gCACP,MAAM,IAAI;0BAChB,KAAK,GAAG,KAAK,GAAG,MAAM,KAAK,IAAI;yBAChC,MAAM,UAAU,MAAM,KAAK,IAAI;eACzC,MAAM,IAAI;gBACT,MAAM,IAAI;kBACR,MAAM,IAAI;mBACT,MAAM,IAAI;gBACb,eAAe,GAAG,KAAK,GAAG,OAAO,KAAK,IAAI;kBACxC,eAAe,GAAG,KAAK,GAAG,OAAO,KAAK,IAAI;;mBAE1C,MAAM;iBACR,MAAM;eACR,MAAM;UACV,QAAQ,IAAI,CAAC;mBACJ,MAAM,QAAQ;QACjC,OAAa,EAAE,GAAG,CAAC;QACnB,KAAW,EAAE,GAAG,CAAC;QACjB,aAAmB,EAAE,GAAG,CAAC;QACzB,MAAY,EAAE,GAAG,CAAC;QAClB,gBAAsB,EAAE,GAAG,CAAC;QAC5B,gBAAsB,EAAE,GAAG,CAAC;KACvB,CAAC;mBACa,MAAM,QAAQ;QACjC,OAAa,EAAE,GAAG,CAAC;QACnB,KAAW,EAAE,GAAG,CAAC;QACjB,aAAmB,EAAE,GAAG,CAAC;QACzB,MAAY,EAAE,GAAG,CAAC;QAClB,gBAAsB,EAAE,GAAG,CAAC;QAC5B,gBAAsB,EAAE,GAAG,CAAC;KACvB,CAAC;EAsON"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@videosdk.live/react-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.46",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.modern.js",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
74
|
-
"@videosdk.live/js-sdk": "0.0.
|
|
74
|
+
"@videosdk.live/js-sdk": "0.0.44",
|
|
75
75
|
"events": "^3.3.0"
|
|
76
76
|
}
|
|
77
77
|
}
|