mediasfu-shared 1.0.6 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HEADLESS_GUIDE.md +156 -0
- package/README.md +130 -62
- package/dist/ProducerClient/producerClientEmits/createDeviceClient.d.ts +23 -0
- package/dist/ProducerClient/producerClientEmits/createDeviceClient.d.ts.map +1 -0
- package/dist/ProducerClient/producerClientEmits/joinRoomClient.d.ts +22 -0
- package/dist/ProducerClient/producerClientEmits/joinRoomClient.d.ts.map +1 -0
- package/dist/ProducerClient/producerClientEmits/updateRoomParametersClient.d.ts +85 -0
- package/dist/ProducerClient/producerClientEmits/updateRoomParametersClient.d.ts.map +1 -0
- package/dist/consumers/addVideosGrid.d.ts +10 -0
- package/dist/consumers/addVideosGrid.d.ts.map +1 -0
- package/dist/consumers/autoAdjust.d.ts +41 -0
- package/dist/consumers/autoAdjust.d.ts.map +1 -0
- package/dist/consumers/calculateRowsAndColumns.d.ts +24 -0
- package/dist/consumers/calculateRowsAndColumns.d.ts.map +1 -0
- package/dist/consumers/changeVids.d.ts +252 -0
- package/dist/consumers/changeVids.d.ts.map +1 -0
- package/dist/consumers/checkGrid.d.ts +42 -0
- package/dist/consumers/checkGrid.d.ts.map +1 -0
- package/dist/consumers/checkPermission.d.ts +42 -0
- package/dist/consumers/checkPermission.d.ts.map +1 -0
- package/dist/consumers/checkScreenShare.d.ts +59 -0
- package/dist/consumers/checkScreenShare.d.ts.map +1 -0
- package/dist/consumers/closeAndResize.d.ts +157 -0
- package/dist/consumers/closeAndResize.d.ts.map +1 -0
- package/dist/consumers/compareActiveNames.d.ts +50 -0
- package/dist/consumers/compareActiveNames.d.ts.map +1 -0
- package/dist/consumers/compareScreenStates.d.ts +55 -0
- package/dist/consumers/compareScreenStates.d.ts.map +1 -0
- package/dist/consumers/connectIps.d.ts +66 -0
- package/dist/consumers/connectIps.d.ts.map +1 -0
- package/dist/consumers/connectLocalIps.d.ts +52 -0
- package/dist/consumers/connectLocalIps.d.ts.map +1 -0
- package/dist/consumers/connectRecvTransport.d.ts +64 -0
- package/dist/consumers/connectRecvTransport.d.ts.map +1 -0
- package/dist/consumers/connectSendTransport.d.ts +75 -0
- package/dist/consumers/connectSendTransport.d.ts.map +1 -0
- package/dist/consumers/connectSendTransportAudio.d.ts +62 -0
- package/dist/consumers/connectSendTransportAudio.d.ts.map +1 -0
- package/dist/consumers/connectSendTransportScreen.d.ts +72 -0
- package/dist/consumers/connectSendTransportScreen.d.ts.map +1 -0
- package/dist/consumers/connectSendTransportVideo.d.ts +75 -0
- package/dist/consumers/connectSendTransportVideo.d.ts.map +1 -0
- package/dist/consumers/consumerResume.d.ts +16 -0
- package/dist/consumers/consumerResume.d.ts.map +1 -0
- package/dist/consumers/controlMedia.d.ts +61 -0
- package/dist/consumers/controlMedia.d.ts.map +1 -0
- package/dist/consumers/createSendTransport.d.ts +80 -0
- package/dist/consumers/createSendTransport.d.ts.map +1 -0
- package/dist/consumers/disconnectSendTransportAudio.d.ts +79 -0
- package/dist/consumers/disconnectSendTransportAudio.d.ts.map +1 -0
- package/dist/consumers/disconnectSendTransportScreen.d.ts +61 -0
- package/dist/consumers/disconnectSendTransportScreen.d.ts.map +1 -0
- package/dist/consumers/disconnectSendTransportVideo.d.ts +72 -0
- package/dist/consumers/disconnectSendTransportVideo.d.ts.map +1 -0
- package/dist/consumers/dispStreams.d.ts +189 -0
- package/dist/consumers/dispStreams.d.ts.map +1 -0
- package/dist/consumers/frameworkConsumerContract.d.ts +2 -0
- package/dist/consumers/frameworkConsumerContract.d.ts.map +1 -0
- package/dist/consumers/generatePageContent.d.ts +68 -0
- package/dist/consumers/generatePageContent.d.ts.map +1 -0
- package/dist/consumers/getEstimate.d.ts +62 -0
- package/dist/consumers/getEstimate.d.ts.map +1 -0
- package/dist/consumers/getPipedProducersAlt.d.ts +62 -0
- package/dist/consumers/getPipedProducersAlt.d.ts.map +1 -0
- package/dist/consumers/getProducersPiped.d.ts +49 -0
- package/dist/consumers/getProducersPiped.d.ts.map +1 -0
- package/dist/consumers/getVideos.d.ts +49 -0
- package/dist/consumers/getVideos.d.ts.map +1 -0
- package/dist/consumers/gridLayout/addVideosGrid.engine.d.ts +19 -0
- package/dist/consumers/gridLayout/addVideosGrid.engine.d.ts.map +1 -0
- package/dist/consumers/gridLayout/prepopulateUserMedia.engine.d.ts +138 -0
- package/dist/consumers/gridLayout/prepopulateUserMedia.engine.d.ts.map +1 -0
- package/dist/consumers/index.cjs +80 -0
- package/dist/consumers/index.cjs.map +1 -0
- package/dist/consumers/index.d.ts +62 -0
- package/dist/consumers/index.d.ts.map +1 -0
- package/dist/consumers/index.js +80 -0
- package/dist/consumers/index.js.map +1 -0
- package/dist/consumers/mixStreams.d.ts +37 -0
- package/dist/consumers/mixStreams.d.ts.map +1 -0
- package/dist/consumers/onScreenChanges.d.ts +62 -0
- package/dist/consumers/onScreenChanges.d.ts.map +1 -0
- package/dist/consumers/prepopulateUserMedia.d.ts +10 -0
- package/dist/consumers/prepopulateUserMedia.d.ts.map +1 -0
- package/dist/consumers/processConsumerTransports.d.ts +73 -0
- package/dist/consumers/processConsumerTransports.d.ts.map +1 -0
- package/dist/consumers/processConsumerTransportsAudio.d.ts +57 -0
- package/dist/consumers/processConsumerTransportsAudio.d.ts.map +1 -0
- package/dist/consumers/rePort.d.ts +63 -0
- package/dist/consumers/rePort.d.ts.map +1 -0
- package/dist/consumers/reUpdateInter.d.ts +142 -0
- package/dist/consumers/reUpdateInter.d.ts.map +1 -0
- package/dist/consumers/readjust.d.ts +68 -0
- package/dist/consumers/readjust.d.ts.map +1 -0
- package/dist/consumers/receiveAllPipedTransports.d.ts +44 -0
- package/dist/consumers/receiveAllPipedTransports.d.ts.map +1 -0
- package/dist/consumers/receiveRoomMessages.d.ts +31 -0
- package/dist/consumers/receiveRoomMessages.d.ts.map +1 -0
- package/dist/consumers/reorderStreams.d.ts +98 -0
- package/dist/consumers/reorderStreams.d.ts.map +1 -0
- package/dist/consumers/requestScreenShare.d.ts +47 -0
- package/dist/consumers/requestScreenShare.d.ts.map +1 -0
- package/dist/consumers/resumePauseAudioStreams.d.ts +85 -0
- package/dist/consumers/resumePauseAudioStreams.d.ts.map +1 -0
- package/dist/consumers/resumePauseStreams.d.ts +68 -0
- package/dist/consumers/resumePauseStreams.d.ts.map +1 -0
- package/dist/consumers/resumeSendTransportAudio.d.ts +65 -0
- package/dist/consumers/resumeSendTransportAudio.d.ts.map +1 -0
- package/dist/consumers/signalNewConsumerTransport.d.ts +59 -0
- package/dist/consumers/signalNewConsumerTransport.d.ts.map +1 -0
- package/dist/consumers/socketReceiveMethods/joinConsumeRoom.d.ts +76 -0
- package/dist/consumers/socketReceiveMethods/joinConsumeRoom.d.ts.map +1 -0
- package/dist/consumers/socketReceiveMethods/newPipeProducer.d.ts +119 -0
- package/dist/consumers/socketReceiveMethods/newPipeProducer.d.ts.map +1 -0
- package/dist/consumers/socketReceiveMethods/producerClosed.d.ts +53 -0
- package/dist/consumers/socketReceiveMethods/producerClosed.d.ts.map +1 -0
- package/dist/consumers/startShareScreen.d.ts +58 -0
- package/dist/consumers/startShareScreen.d.ts.map +1 -0
- package/dist/consumers/stopShareScreen.d.ts +127 -0
- package/dist/consumers/stopShareScreen.d.ts.map +1 -0
- package/dist/consumers/streamSuccessAudio.d.ts +149 -0
- package/dist/consumers/streamSuccessAudio.d.ts.map +1 -0
- package/dist/consumers/streamSuccessAudioSwitch.d.ts +131 -0
- package/dist/consumers/streamSuccessAudioSwitch.d.ts.map +1 -0
- package/dist/consumers/streamSuccessScreen.d.ts +109 -0
- package/dist/consumers/streamSuccessScreen.d.ts.map +1 -0
- package/dist/consumers/streamSuccessVideo.d.ts +160 -0
- package/dist/consumers/streamSuccessVideo.d.ts.map +1 -0
- package/dist/consumers/switchUserAudio.d.ts +56 -0
- package/dist/consumers/switchUserAudio.d.ts.map +1 -0
- package/dist/consumers/switchUserVideo.d.ts +77 -0
- package/dist/consumers/switchUserVideo.d.ts.map +1 -0
- package/dist/consumers/switchUserVideoAlt.d.ts +69 -0
- package/dist/consumers/switchUserVideoAlt.d.ts.map +1 -0
- package/dist/consumers/translationConsumerSwitch.d.ts +67 -0
- package/dist/consumers/translationConsumerSwitch.d.ts.map +1 -0
- package/dist/consumers/trigger.d.ts +71 -0
- package/dist/consumers/trigger.d.ts.map +1 -0
- package/dist/consumers/updateMiniCardsGrid.d.ts +65 -0
- package/dist/consumers/updateMiniCardsGrid.d.ts.map +1 -0
- package/dist/consumers/updateParticipantAudioDecibels.d.ts +31 -0
- package/dist/consumers/updateParticipantAudioDecibels.d.ts.map +1 -0
- package/dist/getParticipantMedia-B0JS6d2b.js +3555 -0
- package/dist/getParticipantMedia-B0JS6d2b.js.map +1 -0
- package/dist/getParticipantMedia-CdcYqcbD.cjs +3554 -0
- package/dist/getParticipantMedia-CdcYqcbD.cjs.map +1 -0
- package/dist/index.cjs +2727 -13252
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +192 -11233
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2636 -13143
- package/dist/index.js.map +1 -1
- package/dist/index.native.cjs +352 -0
- package/dist/index.native.cjs.map +1 -0
- package/dist/index.native.d.ts +204 -0
- package/dist/index.native.d.ts.map +1 -0
- package/dist/index.native.js +352 -0
- package/dist/index.native.js.map +1 -0
- package/dist/joinLocalRoom-BdM1msQt.cjs +673 -0
- package/dist/joinLocalRoom-BdM1msQt.cjs.map +1 -0
- package/dist/joinLocalRoom-CvteNe4R.js +657 -0
- package/dist/joinLocalRoom-CvteNe4R.js.map +1 -0
- package/dist/joinRoomOnMediaSFU-CC8RVJgr.cjs +1222 -0
- package/dist/joinRoomOnMediaSFU-CC8RVJgr.cjs.map +1 -0
- package/dist/joinRoomOnMediaSFU-y6vJ1OBo.js +1223 -0
- package/dist/joinRoomOnMediaSFU-y6vJ1OBo.js.map +1 -0
- package/dist/methods/background/launchBackground.d.ts +10 -0
- package/dist/methods/background/launchBackground.d.ts.map +1 -0
- package/dist/methods/breakoutRooms/breakoutRoomUpdated.d.ts +67 -0
- package/dist/methods/breakoutRooms/breakoutRoomUpdated.d.ts.map +1 -0
- package/dist/methods/breakoutRooms/handleStartBreakout.d.ts +42 -0
- package/dist/methods/breakoutRooms/handleStartBreakout.d.ts.map +1 -0
- package/dist/methods/breakoutRooms/handleStopBreakout.d.ts +33 -0
- package/dist/methods/breakoutRooms/handleStopBreakout.d.ts.map +1 -0
- package/dist/methods/breakoutRooms/index.d.ts +5 -0
- package/dist/methods/breakoutRooms/index.d.ts.map +1 -0
- package/dist/methods/breakoutRooms/launchBreakoutRooms.d.ts +25 -0
- package/dist/methods/breakoutRooms/launchBreakoutRooms.d.ts.map +1 -0
- package/dist/methods/coHost/launchCoHost.d.ts +25 -0
- package/dist/methods/coHost/launchCoHost.d.ts.map +1 -0
- package/dist/methods/coHostMethods/index.d.ts +3 -0
- package/dist/methods/coHostMethods/index.d.ts.map +1 -0
- package/dist/methods/coHostMethods/modifyCoHostSettings.d.ts +49 -0
- package/dist/methods/coHostMethods/modifyCoHostSettings.d.ts.map +1 -0
- package/dist/methods/displaySettings/index.d.ts +2 -0
- package/dist/methods/displaySettings/index.d.ts.map +1 -0
- package/dist/methods/displaySettings/launchDisplaySettings.d.ts +25 -0
- package/dist/methods/displaySettings/launchDisplaySettings.d.ts.map +1 -0
- package/dist/methods/displaySettings/modifyDisplaySettings.d.ts +106 -0
- package/dist/methods/displaySettings/modifyDisplaySettings.d.ts.map +1 -0
- package/dist/methods/exit/confirmExit.d.ts +38 -0
- package/dist/methods/exit/confirmExit.d.ts.map +1 -0
- package/dist/methods/exit/index.d.ts +3 -0
- package/dist/methods/exit/index.d.ts.map +1 -0
- package/dist/methods/exit/launchConfirmExit.d.ts +23 -0
- package/dist/methods/exit/launchConfirmExit.d.ts.map +1 -0
- package/dist/methods/index.cjs +3975 -0
- package/dist/methods/index.cjs.map +1 -0
- package/dist/methods/index.d.ts +66 -0
- package/dist/methods/index.d.ts.map +1 -0
- package/dist/methods/index.js +3976 -0
- package/dist/methods/index.js.map +1 -0
- package/dist/methods/mediaSettings/launchMediaSettings.d.ts +38 -0
- package/dist/methods/mediaSettings/launchMediaSettings.d.ts.map +1 -0
- package/dist/methods/menu/launchMenuModal.d.ts +22 -0
- package/dist/methods/menu/launchMenuModal.d.ts.map +1 -0
- package/dist/methods/message/index.d.ts +2 -0
- package/dist/methods/message/index.d.ts.map +1 -0
- package/dist/methods/message/launchMessages.d.ts +24 -0
- package/dist/methods/message/launchMessages.d.ts.map +1 -0
- package/dist/methods/message/sendMessage.d.ts +63 -0
- package/dist/methods/message/sendMessage.d.ts.map +1 -0
- package/dist/methods/panelists/focusPanelists.d.ts +24 -0
- package/dist/methods/panelists/focusPanelists.d.ts.map +1 -0
- package/dist/methods/panelists/index.d.ts +4 -0
- package/dist/methods/panelists/index.d.ts.map +1 -0
- package/dist/methods/panelists/launchPanelists.d.ts +7 -0
- package/dist/methods/panelists/launchPanelists.d.ts.map +1 -0
- package/dist/methods/panelists/updatePanelists.d.ts +35 -0
- package/dist/methods/panelists/updatePanelists.d.ts.map +1 -0
- package/dist/methods/participants/index.d.ts +4 -0
- package/dist/methods/participants/index.d.ts.map +1 -0
- package/dist/methods/participants/launchParticipants.d.ts +22 -0
- package/dist/methods/participants/launchParticipants.d.ts.map +1 -0
- package/dist/methods/participants/messageParticipants.d.ts +43 -0
- package/dist/methods/participants/messageParticipants.d.ts.map +1 -0
- package/dist/methods/participants/muteParticipants.d.ts +41 -0
- package/dist/methods/participants/muteParticipants.d.ts.map +1 -0
- package/dist/methods/participants/removeParticipants.d.ts +47 -0
- package/dist/methods/participants/removeParticipants.d.ts.map +1 -0
- package/dist/methods/permissions/index.d.ts +4 -0
- package/dist/methods/permissions/index.d.ts.map +1 -0
- package/dist/methods/permissions/launchPermissions.d.ts +7 -0
- package/dist/methods/permissions/launchPermissions.d.ts.map +1 -0
- package/dist/methods/permissions/updateParticipantPermission.d.ts +25 -0
- package/dist/methods/permissions/updateParticipantPermission.d.ts.map +1 -0
- package/dist/methods/permissions/updatePermissionConfig.d.ts +22 -0
- package/dist/methods/permissions/updatePermissionConfig.d.ts.map +1 -0
- package/dist/methods/polls/handleCreatePoll.d.ts +39 -0
- package/dist/methods/polls/handleCreatePoll.d.ts.map +1 -0
- package/dist/methods/polls/handleEndPoll.d.ts +34 -0
- package/dist/methods/polls/handleEndPoll.d.ts.map +1 -0
- package/dist/methods/polls/handleVotePoll.d.ts +39 -0
- package/dist/methods/polls/handleVotePoll.d.ts.map +1 -0
- package/dist/methods/polls/index.d.ts +4 -0
- package/dist/methods/polls/index.d.ts.map +1 -0
- package/dist/methods/polls/launchPoll.d.ts +22 -0
- package/dist/methods/polls/launchPoll.d.ts.map +1 -0
- package/dist/methods/polls/pollUpdated.d.ts +38 -0
- package/dist/methods/polls/pollUpdated.d.ts.map +1 -0
- package/dist/methods/prejoin/handleCreateRoom.d.ts +77 -0
- package/dist/methods/prejoin/handleCreateRoom.d.ts.map +1 -0
- package/dist/methods/prejoin/handleJoinRoom.d.ts +56 -0
- package/dist/methods/prejoin/handleJoinRoom.d.ts.map +1 -0
- package/dist/methods/prejoin/index.d.ts +5 -0
- package/dist/methods/prejoin/index.d.ts.map +1 -0
- package/dist/methods/recording/checkPauseState.d.ts +34 -0
- package/dist/methods/recording/checkPauseState.d.ts.map +1 -0
- package/dist/methods/recording/checkResumeState.d.ts +30 -0
- package/dist/methods/recording/checkResumeState.d.ts.map +1 -0
- package/dist/methods/recording/confirmRecording.d.ts +46 -0
- package/dist/methods/recording/confirmRecording.d.ts.map +1 -0
- package/dist/methods/recording/launchRecording.d.ts +56 -0
- package/dist/methods/recording/launchRecording.d.ts.map +1 -0
- package/dist/methods/recording/recordPauseTimer.d.ts +31 -0
- package/dist/methods/recording/recordPauseTimer.d.ts.map +1 -0
- package/dist/methods/recording/recordResumeTimer.d.ts +29 -0
- package/dist/methods/recording/recordResumeTimer.d.ts.map +1 -0
- package/dist/methods/recording/recordStartTimer.d.ts +45 -0
- package/dist/methods/recording/recordStartTimer.d.ts.map +1 -0
- package/dist/methods/recording/recordUpdateTimer.d.ts +29 -0
- package/dist/methods/recording/recordUpdateTimer.d.ts.map +1 -0
- package/dist/methods/recording/startRecording.d.ts +122 -0
- package/dist/methods/recording/startRecording.d.ts.map +1 -0
- package/dist/methods/recording/stopRecording.d.ts +36 -0
- package/dist/methods/recording/stopRecording.d.ts.map +1 -0
- package/dist/methods/recording/timeLeftRecording.d.ts +13 -0
- package/dist/methods/recording/timeLeftRecording.d.ts.map +1 -0
- package/dist/methods/recording/updateRecording.d.ts +49 -0
- package/dist/methods/recording/updateRecording.d.ts.map +1 -0
- package/dist/methods/requests/hostRequestResponse.d.ts +33 -0
- package/dist/methods/requests/hostRequestResponse.d.ts.map +1 -0
- package/dist/methods/requests/index.d.ts +2 -0
- package/dist/methods/requests/index.d.ts.map +1 -0
- package/dist/methods/requests/launchRequests.d.ts +22 -0
- package/dist/methods/requests/launchRequests.d.ts.map +1 -0
- package/dist/methods/requests/respondToRequests.d.ts +38 -0
- package/dist/methods/requests/respondToRequests.d.ts.map +1 -0
- package/dist/methods/settings/index.d.ts +3 -0
- package/dist/methods/settings/index.d.ts.map +1 -0
- package/dist/methods/settings/launchSettings.d.ts +22 -0
- package/dist/methods/settings/launchSettings.d.ts.map +1 -0
- package/dist/methods/settings/modifySettings.d.ts +45 -0
- package/dist/methods/settings/modifySettings.d.ts.map +1 -0
- package/dist/methods/socketReceive/allMembers.d.ts +117 -0
- package/dist/methods/socketReceive/allMembers.d.ts.map +1 -0
- package/dist/methods/socketReceive/allMembersRest.d.ts +122 -0
- package/dist/methods/socketReceive/allMembersRest.d.ts.map +1 -0
- package/dist/methods/socketReceive/allWaitingRoomMembers.d.ts +24 -0
- package/dist/methods/socketReceive/allWaitingRoomMembers.d.ts.map +1 -0
- package/dist/methods/socketReceive/banParticipant.d.ts +44 -0
- package/dist/methods/socketReceive/banParticipant.d.ts.map +1 -0
- package/dist/methods/socketReceive/controlMediaHost.d.ts +62 -0
- package/dist/methods/socketReceive/controlMediaHost.d.ts.map +1 -0
- package/dist/methods/socketReceive/disconnect.d.ts +24 -0
- package/dist/methods/socketReceive/disconnect.d.ts.map +1 -0
- package/dist/methods/socketReceive/disconnectUserSelf.d.ts +29 -0
- package/dist/methods/socketReceive/disconnectUserSelf.d.ts.map +1 -0
- package/dist/methods/socketReceive/getDomains.d.ts +48 -0
- package/dist/methods/socketReceive/getDomains.d.ts.map +1 -0
- package/dist/methods/socketReceive/meetingEnded.d.ts +27 -0
- package/dist/methods/socketReceive/meetingEnded.d.ts.map +1 -0
- package/dist/methods/socketReceive/meetingStillThere.d.ts +19 -0
- package/dist/methods/socketReceive/meetingStillThere.d.ts.map +1 -0
- package/dist/methods/socketReceive/panelistReceiveMethods.d.ts +66 -0
- package/dist/methods/socketReceive/panelistReceiveMethods.d.ts.map +1 -0
- package/dist/methods/socketReceive/participantRequested.d.ts +28 -0
- package/dist/methods/socketReceive/participantRequested.d.ts.map +1 -0
- package/dist/methods/socketReceive/permissionReceiveMethods.d.ts +23 -0
- package/dist/methods/socketReceive/permissionReceiveMethods.d.ts.map +1 -0
- package/dist/methods/socketReceive/personJoined.d.ts +24 -0
- package/dist/methods/socketReceive/personJoined.d.ts.map +1 -0
- package/dist/methods/socketReceive/producerMediaClosed.d.ts +66 -0
- package/dist/methods/socketReceive/producerMediaClosed.d.ts.map +1 -0
- package/dist/methods/socketReceive/producerMediaPaused.d.ts +70 -0
- package/dist/methods/socketReceive/producerMediaPaused.d.ts.map +1 -0
- package/dist/methods/socketReceive/producerMediaResumed.d.ts +53 -0
- package/dist/methods/socketReceive/producerMediaResumed.d.ts.map +1 -0
- package/dist/methods/socketReceive/reInitiateRecording.d.ts +33 -0
- package/dist/methods/socketReceive/reInitiateRecording.d.ts.map +1 -0
- package/dist/methods/socketReceive/receiveMessage.d.ts +36 -0
- package/dist/methods/socketReceive/receiveMessage.d.ts.map +1 -0
- package/dist/methods/socketReceive/recordingNotice.d.ts +98 -0
- package/dist/methods/socketReceive/recordingNotice.d.ts.map +1 -0
- package/dist/methods/socketReceive/roomRecordParams.d.ts +60 -0
- package/dist/methods/socketReceive/roomRecordParams.d.ts.map +1 -0
- package/dist/methods/socketReceive/screenProducerId.d.ts +36 -0
- package/dist/methods/socketReceive/screenProducerId.d.ts.map +1 -0
- package/dist/methods/socketReceive/startRecords.d.ts +31 -0
- package/dist/methods/socketReceive/startRecords.d.ts.map +1 -0
- package/dist/methods/socketReceive/stoppedRecording.d.ts +24 -0
- package/dist/methods/socketReceive/stoppedRecording.d.ts.map +1 -0
- package/dist/methods/socketReceive/translationReceiveMethods.d.ts +227 -0
- package/dist/methods/socketReceive/translationReceiveMethods.d.ts.map +1 -0
- package/dist/methods/socketReceive/updateConsumingDomains.d.ts +60 -0
- package/dist/methods/socketReceive/updateConsumingDomains.d.ts.map +1 -0
- package/dist/methods/socketReceive/updateMediaSettings.d.ts +28 -0
- package/dist/methods/socketReceive/updateMediaSettings.d.ts.map +1 -0
- package/dist/methods/socketReceive/updatedCoHost.d.ts +38 -0
- package/dist/methods/socketReceive/updatedCoHost.d.ts.map +1 -0
- package/dist/methods/socketReceive/userWaiting.d.ts +30 -0
- package/dist/methods/socketReceive/userWaiting.d.ts.map +1 -0
- package/dist/methods/stream/clickAudio.d.ts +71 -0
- package/dist/methods/stream/clickAudio.d.ts.map +1 -0
- package/dist/methods/stream/clickChat.d.ts +11 -0
- package/dist/methods/stream/clickChat.d.ts.map +1 -0
- package/dist/methods/stream/clickScreenShare.d.ts +45 -0
- package/dist/methods/stream/clickScreenShare.d.ts.map +1 -0
- package/dist/methods/stream/clickVideo.d.ts +101 -0
- package/dist/methods/stream/clickVideo.d.ts.map +1 -0
- package/dist/methods/stream/index.d.ts +5 -0
- package/dist/methods/stream/index.d.ts.map +1 -0
- package/dist/methods/stream/switchAudio.d.ts +40 -0
- package/dist/methods/stream/switchAudio.d.ts.map +1 -0
- package/dist/methods/stream/switchVideo.d.ts +56 -0
- package/dist/methods/stream/switchVideo.d.ts.map +1 -0
- package/dist/methods/stream/switchVideoAlt.d.ts +55 -0
- package/dist/methods/stream/switchVideoAlt.d.ts.map +1 -0
- package/dist/methods/utils/SoundPlayer.d.ts +19 -0
- package/dist/methods/utils/SoundPlayer.d.ts.map +1 -0
- package/dist/methods/utils/checkLimitsAndMakeRequest.d.ts +30 -0
- package/dist/methods/utils/checkLimitsAndMakeRequest.d.ts.map +1 -0
- package/dist/methods/utils/createResponseJoinRoom.d.ts +24 -0
- package/dist/methods/utils/createResponseJoinRoom.d.ts.map +1 -0
- package/dist/methods/utils/createRoomOnMediaSFU.d.ts +28 -0
- package/dist/methods/utils/createRoomOnMediaSFU.d.ts.map +1 -0
- package/dist/methods/utils/formatNumber.d.ts +21 -0
- package/dist/methods/utils/formatNumber.d.ts.map +1 -0
- package/dist/methods/utils/generateRandomMessages.d.ts +11 -0
- package/dist/methods/utils/generateRandomMessages.d.ts.map +1 -0
- package/dist/methods/utils/generateRandomParticipants.d.ts +10 -0
- package/dist/methods/utils/generateRandomParticipants.d.ts.map +1 -0
- package/dist/methods/utils/generateRandomPolls.d.ts +7 -0
- package/dist/methods/utils/generateRandomPolls.d.ts.map +1 -0
- package/dist/methods/utils/generateRandomRequestList.d.ts +10 -0
- package/dist/methods/utils/generateRandomRequestList.d.ts.map +1 -0
- package/dist/methods/utils/generateRandomWaitingRoomList.d.ts +4 -0
- package/dist/methods/utils/generateRandomWaitingRoomList.d.ts.map +1 -0
- package/dist/methods/utils/getModalPosition.d.ts +7 -0
- package/dist/methods/utils/getModalPosition.d.ts.map +1 -0
- package/dist/methods/utils/getOverlayPosition.d.ts +22 -0
- package/dist/methods/utils/getOverlayPosition.d.ts.map +1 -0
- package/dist/methods/utils/getParticipantMedia.d.ts +55 -0
- package/dist/methods/utils/getParticipantMedia.d.ts.map +1 -0
- package/dist/methods/utils/headless/getCurrentParams.d.ts +27 -0
- package/dist/methods/utils/headless/getCurrentParams.d.ts.map +1 -0
- package/dist/methods/utils/headless/getMediaStreams.d.ts +96 -0
- package/dist/methods/utils/headless/getMediaStreams.d.ts.map +1 -0
- package/dist/methods/utils/headless/getRoomReadiness.d.ts +25 -0
- package/dist/methods/utils/headless/getRoomReadiness.d.ts.map +1 -0
- package/dist/methods/utils/headless/headlessTypes.d.ts +89 -0
- package/dist/methods/utils/headless/headlessTypes.d.ts.map +1 -0
- package/dist/methods/utils/headless/index.d.ts +29 -0
- package/dist/methods/utils/headless/index.d.ts.map +1 -0
- package/dist/methods/utils/headless/mediaPermissions.d.ts +53 -0
- package/dist/methods/utils/headless/mediaPermissions.d.ts.map +1 -0
- package/dist/methods/utils/headless/mediaProduction.d.ts +177 -0
- package/dist/methods/utils/headless/mediaProduction.d.ts.map +1 -0
- package/dist/methods/utils/headless/moderation.d.ts +157 -0
- package/dist/methods/utils/headless/moderation.d.ts.map +1 -0
- package/dist/methods/utils/headless/participantState.d.ts +128 -0
- package/dist/methods/utils/headless/participantState.d.ts.map +1 -0
- package/dist/methods/utils/headless/playback.d.ts +106 -0
- package/dist/methods/utils/headless/playback.d.ts.map +1 -0
- package/dist/methods/utils/headless/roomActions.d.ts +88 -0
- package/dist/methods/utils/headless/roomActions.d.ts.map +1 -0
- package/dist/methods/utils/headless/sessionControls.d.ts +159 -0
- package/dist/methods/utils/headless/sessionControls.d.ts.map +1 -0
- package/dist/methods/utils/headless/sessionExtras.d.ts +291 -0
- package/dist/methods/utils/headless/sessionExtras.d.ts.map +1 -0
- package/dist/methods/utils/headless/sessionFeatures.d.ts +159 -0
- package/dist/methods/utils/headless/sessionFeatures.d.ts.map +1 -0
- package/dist/methods/utils/headless/viewerSession.d.ts +125 -0
- package/dist/methods/utils/headless/viewerSession.d.ts.map +1 -0
- package/dist/methods/utils/headless/virtualBackground.d.ts +72 -0
- package/dist/methods/utils/headless/virtualBackground.d.ts.map +1 -0
- package/dist/methods/utils/initialValuesState.d.ts +388 -0
- package/dist/methods/utils/initialValuesState.d.ts.map +1 -0
- package/dist/methods/utils/joinRoomOnMediaSFU.d.ts +56 -0
- package/dist/methods/utils/joinRoomOnMediaSFU.d.ts.map +1 -0
- package/dist/methods/utils/liveSubtitle.d.ts +36 -0
- package/dist/methods/utils/liveSubtitle.d.ts.map +1 -0
- package/dist/methods/utils/meetingTimeRemaining.d.ts +15 -0
- package/dist/methods/utils/meetingTimeRemaining.d.ts.map +1 -0
- package/dist/methods/utils/meetingTimer/startMeetingProgressTimer.d.ts +35 -0
- package/dist/methods/utils/meetingTimer/startMeetingProgressTimer.d.ts.map +1 -0
- package/dist/methods/utils/producer/aParams.d.ts +3 -0
- package/dist/methods/utils/producer/aParams.d.ts.map +1 -0
- package/dist/methods/utils/producer/hParams.d.ts +3 -0
- package/dist/methods/utils/producer/hParams.d.ts.map +1 -0
- package/dist/methods/utils/producer/screenParams.d.ts +3 -0
- package/dist/methods/utils/producer/screenParams.d.ts.map +1 -0
- package/dist/methods/utils/producer/vParams.d.ts +3 -0
- package/dist/methods/utils/producer/vParams.d.ts.map +1 -0
- package/dist/methods/utils/producer/videoCaptureConstraints.d.ts +145 -0
- package/dist/methods/utils/producer/videoCaptureConstraints.d.ts.map +1 -0
- package/dist/methods/utils/resolveMediaSFURoomApi.d.ts +4 -0
- package/dist/methods/utils/resolveMediaSFURoomApi.d.ts.map +1 -0
- package/dist/methods/utils/sleep.d.ts +21 -0
- package/dist/methods/utils/sleep.d.ts.map +1 -0
- package/dist/methods/utils/translationLanguages.d.ts +100 -0
- package/dist/methods/utils/translationLanguages.d.ts.map +1 -0
- package/dist/methods/utils/validateAlphanumeric.d.ts +21 -0
- package/dist/methods/utils/validateAlphanumeric.d.ts.map +1 -0
- package/dist/methods/utils/virtualBackgroundCompositor.d.ts +21 -0
- package/dist/methods/utils/virtualBackgroundCompositor.d.ts.map +1 -0
- package/dist/methods/utils/webrtc.d.ts +18 -0
- package/dist/methods/utils/webrtc.d.ts.map +1 -0
- package/dist/methods/waiting/index.d.ts +2 -0
- package/dist/methods/waiting/index.d.ts.map +1 -0
- package/dist/methods/waiting/launchWaiting.d.ts +23 -0
- package/dist/methods/waiting/launchWaiting.d.ts.map +1 -0
- package/dist/methods/waiting/respondToWaiting.d.ts +40 -0
- package/dist/methods/waiting/respondToWaiting.d.ts.map +1 -0
- package/dist/methods/welcome/handleWelcomeRequest.d.ts +47 -0
- package/dist/methods/welcome/handleWelcomeRequest.d.ts.map +1 -0
- package/dist/methods/welcome/index.d.ts +3 -0
- package/dist/methods/welcome/index.d.ts.map +1 -0
- package/dist/methods/whiteboard/captureCanvasStream.d.ts +38 -0
- package/dist/methods/whiteboard/captureCanvasStream.d.ts.map +1 -0
- package/dist/methods/whiteboard/handleStartWhiteboard.d.ts +31 -0
- package/dist/methods/whiteboard/handleStartWhiteboard.d.ts.map +1 -0
- package/dist/methods/whiteboard/handleStopWhiteboard.d.ts +25 -0
- package/dist/methods/whiteboard/handleStopWhiteboard.d.ts.map +1 -0
- package/dist/methods/whiteboard/index.d.ts +5 -0
- package/dist/methods/whiteboard/index.d.ts.map +1 -0
- package/dist/methods/whiteboard/launchConfigureWhiteboard.d.ts +23 -0
- package/dist/methods/whiteboard/launchConfigureWhiteboard.d.ts.map +1 -0
- package/dist/producers/producerEmits/joinConRoom.d.ts +54 -0
- package/dist/producers/producerEmits/joinConRoom.d.ts.map +1 -0
- package/dist/producers/producerEmits/joinLocalRoom.d.ts +30 -0
- package/dist/producers/producerEmits/joinLocalRoom.d.ts.map +1 -0
- package/dist/producers/producerEmits/joinRoom.d.ts +35 -0
- package/dist/producers/producerEmits/joinRoom.d.ts.map +1 -0
- package/dist/readme/mediasfu-platform-capabilities.webp +0 -0
- package/dist/sockets/SocketManager.d.ts +102 -0
- package/dist/sockets/SocketManager.d.ts.map +1 -0
- package/dist/translationConsumerSwitch-C20MfNNq.cjs +509 -0
- package/dist/translationConsumerSwitch-C20MfNNq.cjs.map +1 -0
- package/dist/translationConsumerSwitch-zKuS5wgH.js +510 -0
- package/dist/translationConsumerSwitch-zKuS5wgH.js.map +1 -0
- package/dist/types/index.cjs +85 -0
- package/dist/types/index.cjs.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +85 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/shared-base-types.d.ts +656 -0
- package/dist/types/shared-base-types.d.ts.map +1 -0
- package/dist/types/types.d.ts +124 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/updateParticipantAudioDecibels-DLd8Y-Fh.js +5392 -0
- package/dist/updateParticipantAudioDecibels-DLd8Y-Fh.js.map +1 -0
- package/dist/updateParticipantAudioDecibels-DPmHiy3K.cjs +5391 -0
- package/dist/updateParticipantAudioDecibels-DPmHiy3K.cjs.map +1 -0
- package/dist/validateAlphanumeric-DKn5BsUP.cjs +15 -0
- package/dist/validateAlphanumeric-DKn5BsUP.cjs.map +1 -0
- package/dist/validateAlphanumeric-Dk1JB80W.js +16 -0
- package/dist/validateAlphanumeric-Dk1JB80W.js.map +1 -0
- package/package.json +106 -99
- package/src/ProducerClient/producerClientEmits/createDeviceClient.ts +1 -2
- package/src/ProducerClient/producerClientEmits/updateRoomParametersClient.ts +1 -1
- package/src/consumers/connectIps.ts +1 -1
- package/src/consumers/connectRecvTransport.ts +1 -1
- package/src/consumers/connectSendTransport.ts +1 -1
- package/src/consumers/connectSendTransportAudio.ts +1 -1
- package/src/consumers/connectSendTransportScreen.ts +5 -2
- package/src/consumers/connectSendTransportVideo.ts +1 -1
- package/src/consumers/createSendTransport.ts +34 -29
- package/src/consumers/disconnectSendTransportAudio.ts +1 -1
- package/src/consumers/disconnectSendTransportScreen.ts +1 -1
- package/src/consumers/disconnectSendTransportVideo.ts +1 -1
- package/src/consumers/index.ts +61 -0
- package/src/consumers/resumeSendTransportAudio.ts +1 -1
- package/src/consumers/signalNewConsumerTransport.ts +1 -2
- package/src/consumers/socketReceiveMethods/joinConsumeRoom.ts +1 -1
- package/src/consumers/socketReceiveMethods/newPipeProducer.ts +1 -1
- package/src/consumers/streamSuccessAudio.ts +1 -2
- package/src/consumers/streamSuccessAudioSwitch.ts +1 -2
- package/src/consumers/streamSuccessVideo.ts +35 -6
- package/src/index.native.ts +24 -1
- package/src/index.ts +7 -0
- package/src/methods/exit/confirmExit.ts +11 -4
- package/src/methods/socketReceive/getDomains.ts +1 -1
- package/src/methods/utils/getParticipantMedia.ts +112 -0
- package/src/methods/utils/headless/getCurrentParams.ts +44 -0
- package/src/methods/utils/headless/getMediaStreams.ts +256 -0
- package/src/methods/utils/headless/getRoomReadiness.ts +49 -0
- package/src/methods/utils/headless/headlessTypes.ts +102 -0
- package/src/methods/utils/headless/index.ts +28 -0
- package/src/methods/utils/headless/mediaPermissions.ts +124 -0
- package/src/methods/utils/headless/mediaProduction.ts +505 -0
- package/src/methods/utils/headless/moderation.ts +455 -0
- package/src/methods/utils/headless/participantState.ts +254 -0
- package/src/methods/utils/headless/playback.ts +336 -0
- package/src/methods/utils/headless/roomActions.ts +230 -0
- package/src/methods/utils/headless/sessionControls.ts +335 -0
- package/src/methods/utils/headless/sessionExtras.ts +593 -0
- package/src/methods/utils/headless/sessionFeatures.ts +480 -0
- package/src/methods/utils/headless/viewerSession.ts +246 -0
- package/src/methods/utils/headless/virtualBackground.ts +280 -0
- package/src/methods/utils/resolveMediaSFURoomApi.ts +2 -2
- package/src/methods/utils/virtualBackgroundCompositor.ts +53 -0
- package/src/methods/whiteboard/captureCanvasStream.ts +2 -2
- package/src/producers/producerEmits/joinConRoom.ts +1 -1
- package/src/producers/producerEmits/joinRoom.ts +1 -1
- package/src/types/index.ts +1 -0
- package/src/types/shared-base-types.ts +2 -3
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# Building a Headless MediaSFU Wrapper with mediasfu-shared
|
|
2
|
+
|
|
3
|
+
`mediasfu-shared` is the lowest-level public TypeScript package in the MediaSFU SDK family. It supplies room, socket, producer, consumer, grid, state, and utility primitives. It does not supply a visible room, `ModernMediasfuGeneric`, a custom-component system, or a framework headless controller.
|
|
4
|
+
|
|
5
|
+
Choose this layer only when you are building a framework adapter or a product whose runtime ownership cannot be expressed through a higher-level SDK.
|
|
6
|
+
|
|
7
|
+
## Prefer the highest useful layer
|
|
8
|
+
|
|
9
|
+
| Need | Recommended layer |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| Complete polished room | Framework SDK and `ModernMediasfuGeneric` where available |
|
|
12
|
+
| Replace selected cards, controls, or modals | Framework SDK custom components or `uiOverrides` |
|
|
13
|
+
| App owns the full workspace but SDK owns runtime publication | Framework SDK with `returnUI=false` |
|
|
14
|
+
| Build or maintain the framework/runtime adapter itself | `mediasfu-shared` |
|
|
15
|
+
|
|
16
|
+
## Runtime ownership
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
Your framework store and lifecycle
|
|
20
|
+
| current parameter object
|
|
21
|
+
v
|
|
22
|
+
mediasfu-shared room / socket / producer / consumer functions
|
|
23
|
+
| state updates and media events
|
|
24
|
+
v
|
|
25
|
+
Your adapter publishes new immutable framework state
|
|
26
|
+
| resolved video + every remote audio source
|
|
27
|
+
v
|
|
28
|
+
Your application UI
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Your adapter must define clear ownership for the socket, mediasoup device, send/receive transports, producers, consumers, participant state, render state, and teardown.
|
|
32
|
+
|
|
33
|
+
## 1. Make reads pure
|
|
34
|
+
|
|
35
|
+
Create one pure read for your current parameter bag and separate it from publication:
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
let currentParameters: Record<string, any> = {};
|
|
39
|
+
|
|
40
|
+
export function getCurrentParameters() {
|
|
41
|
+
return currentParameters;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function publishParameters(next: Record<string, any>) {
|
|
45
|
+
currentParameters = next;
|
|
46
|
+
subscribers.forEach((subscriber) => subscriber(next));
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Do not call a publisher from render, computed state, pagination, polling, or media-card reads. A read must not notify subscribers.
|
|
51
|
+
|
|
52
|
+
The names above belong to your adapter; `mediasfu-shared` does not currently export a dedicated parameter-store controller.
|
|
53
|
+
|
|
54
|
+
## 2. Secure create and join
|
|
55
|
+
|
|
56
|
+
Keep MediaSFU credentials on your backend. The public client sends an authenticated create/join intent to your app server. The server validates it, adds credentials from environment variables, and forwards it to MediaSFU Cloud or your MediaSFU Open rooms endpoint.
|
|
57
|
+
|
|
58
|
+
Normalize the response into your adapter's session state. Never log secrets or retain raw room responses in screenshots. Follow the [secure proxy guide](https://mediasfu.com/docs/usage/secure-backend-proxy/).
|
|
59
|
+
|
|
60
|
+
For local-only experimentation, short-lived credentials can live in ignored environment configuration. Remove them before committing, publishing, or building public artifacts.
|
|
61
|
+
|
|
62
|
+
## 3. Connect room and socket state
|
|
63
|
+
|
|
64
|
+
The package exports room helpers, `connectSocket`, `SocketManager`, producer-client flows, socket-receive methods, and TypeScript contracts. Build the smallest happy path first:
|
|
65
|
+
|
|
66
|
+
1. create or join securely
|
|
67
|
+
2. connect the socket with returned session data
|
|
68
|
+
3. create the mediasoup device
|
|
69
|
+
4. join the assigned room
|
|
70
|
+
5. register socket event handlers
|
|
71
|
+
6. publish current room state to the framework
|
|
72
|
+
|
|
73
|
+
Do not mix UI customization into this acceptance step.
|
|
74
|
+
|
|
75
|
+
## 4. Produce local media
|
|
76
|
+
|
|
77
|
+
The shared package exports `clickAudio`, `clickVideo`, `clickScreenShare`, stream-success helpers, and send-transport helpers. Always invoke them with the newest parameter object from your pure store.
|
|
78
|
+
|
|
79
|
+
Your adapter must surface permission pending, permission denied, producer connecting, live, paused, ended, and failed states so the UI does not guess from button color alone.
|
|
80
|
+
|
|
81
|
+
## 5. Consume remote media
|
|
82
|
+
|
|
83
|
+
Consumer helpers cover receive transport creation, signaling, consumer resume, producer-close events, piped producers, grid planning, and audio processing. Treat a signaled producer and a renderable live track as different milestones.
|
|
84
|
+
|
|
85
|
+
For every consumer, retain stable identifiers for:
|
|
86
|
+
|
|
87
|
+
- participant
|
|
88
|
+
- producer
|
|
89
|
+
- consumer
|
|
90
|
+
- stream/track
|
|
91
|
+
- media kind
|
|
92
|
+
- screen-share versus camera source
|
|
93
|
+
|
|
94
|
+
Use those identifiers for reconciliation and cleanup rather than array position or visible page.
|
|
95
|
+
|
|
96
|
+
## 6. Resolve visual media deterministically
|
|
97
|
+
|
|
98
|
+
A reliable wrapper should define a consistent visual priority:
|
|
99
|
+
|
|
100
|
+
1. active screen share
|
|
101
|
+
2. selected or pinned remote camera
|
|
102
|
+
3. local camera preview
|
|
103
|
+
4. avatar or audio-only fallback
|
|
104
|
+
|
|
105
|
+
Recompute when participants, streams, producer IDs, screen-share state, or track readiness changes. The package exports pure grid/render planning engines such as the `prepopulateUserMedia` and `addVideosGrid` engine helpers; use the generated API reference for exact signatures.
|
|
106
|
+
|
|
107
|
+
## 7. Render every audio source
|
|
108
|
+
|
|
109
|
+
Audio consumption is independent of video layout and pagination.
|
|
110
|
+
|
|
111
|
+
- Keep a dedicated audio-render collection keyed by stable producer ID.
|
|
112
|
+
- Add an audio target when a live remote audio consumer arrives.
|
|
113
|
+
- Keep it active when the participant is off-page or not selected.
|
|
114
|
+
- Remove it on producer close, participant leave, breakout exclusion, or teardown.
|
|
115
|
+
- Handle browser autoplay or native audio-session restrictions in the framework adapter.
|
|
116
|
+
|
|
117
|
+
## 8. Publish outside framework render/build phases
|
|
118
|
+
|
|
119
|
+
Socket and transport callbacks may arrive while a framework is rendering. Coalesce publication onto that framework's safe post-render scheduler. Avoid notifying consumers synchronously from React render, Vue computed evaluation, Angular change detection, or another framework's build phase.
|
|
120
|
+
|
|
121
|
+
## 9. Teardown and late callbacks
|
|
122
|
+
|
|
123
|
+
Teardown can race socket acknowledgements. Guard disposed devices, sockets, and transports in every late callback. Make cleanup idempotent:
|
|
124
|
+
|
|
125
|
+
- unregister socket handlers
|
|
126
|
+
- close consumers and receive transports
|
|
127
|
+
- close producers and send transports
|
|
128
|
+
- stop app-owned tracks
|
|
129
|
+
- detach render targets
|
|
130
|
+
- clear timers, queues, and pending promises where possible
|
|
131
|
+
- publish a final disconnected state once
|
|
132
|
+
|
|
133
|
+
## 10. Verification matrix
|
|
134
|
+
|
|
135
|
+
Before publishing a wrapper or application, install the released `mediasfu-shared` version from npm and repeat the build and media acceptance checks against that clean dependency.
|
|
136
|
+
|
|
137
|
+
| Path | Minimum proof |
|
|
138
|
+
| --- | --- |
|
|
139
|
+
| Secure create/join | Backend request succeeds and no client artifact contains credentials |
|
|
140
|
+
| Produce | Remote participant receives microphone, camera, and screen tracks |
|
|
141
|
+
| Consume | Local app renders remote camera/screen and plays remote audio |
|
|
142
|
+
| Pagination | Off-page participant remains audible |
|
|
143
|
+
| Resolution | Screen-to-camera-to-fallback transitions without stale frames |
|
|
144
|
+
| Reconnect | Producers/consumers recover without duplicates |
|
|
145
|
+
| Teardown | Late callbacks do not throw and no tracks/listeners remain |
|
|
146
|
+
|
|
147
|
+
Use a real two-participant room for media acceptance. Seeded or mocked UI proves layout only.
|
|
148
|
+
|
|
149
|
+
## References
|
|
150
|
+
|
|
151
|
+
- [Package README](README.md)
|
|
152
|
+
- [Shared SDK guide](https://mediasfu.com/docs/sdks/shared/)
|
|
153
|
+
- [Generated API references](https://mediasfu.com/docs/api-reference/)
|
|
154
|
+
- [Secure backend proxy](https://mediasfu.com/docs/usage/secure-backend-proxy/)
|
|
155
|
+
- [MediaSFU Open](https://github.com/MediaSFU/MediaSFUOpen)
|
|
156
|
+
- [MediaSFU Sandbox](https://mediasfu.com/sandbox)
|
package/README.md
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
# mediasfu-shared
|
|
2
|
-
|
|
3
|
-
**mediasfu-shared** is the framework-agnostic WebRTC runtime at the core of the MediaSFU SDK family. It provides shared room helpers, mediasoup signaling, socket management, media state utilities, and TypeScript types for React, Vue, Angular, Svelte, and plain TypeScript. Install with `npm install mediasfu-shared`.
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
# mediasfu-shared — framework-neutral MediaSFU engine
|
|
2
|
+
|
|
3
|
+
**mediasfu-shared** is the framework-agnostic WebRTC runtime at the core of the MediaSFU SDK family. It provides shared room helpers, mediasoup signaling, socket management, media state utilities, and TypeScript types for React, Vue, Angular, Svelte, and plain TypeScript. Install with `npm install mediasfu-shared`.
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
6
|
+
<a href="https://www.mediasfu.com/quick-usage">
|
|
7
|
+
<img src="https://raw.githubusercontent.com/MediaSFU/MediaSFU-Shared/main/public/readme/mediasfu-platform-capabilities.webp" width="1100" alt="MediaSFU real-time product capabilities including meetings, live broadcasts, classrooms, calling, recording, agents, and live commerce" />
|
|
8
|
+
</a>
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
This package exposes framework-neutral room, media, participant, playback, and headless helpers. It does not render a room or provide a framework state controller. Choose a framework SDK when you want prebuilt UI, `ModernMediasfuGeneric`, UI overrides, or a framework-native headless hook or service.
|
|
6
12
|
|
|
7
13
|
## When To Use This Package
|
|
8
14
|
|
|
@@ -20,55 +26,104 @@ npm install mediasfu-shared mediasoup-client socket.io-client
|
|
|
20
26
|
|
|
21
27
|
`mediasoup-client` and `socket.io-client` are peer dependencies, so install them in the host app.
|
|
22
28
|
|
|
23
|
-
## Backend
|
|
24
|
-
|
|
25
|
-
The
|
|
26
|
-
|
|
27
|
-
- Use MediaSFU Cloud when you want managed room creation, signaling, and media routing.
|
|
28
|
-
- Use MediaSFU Open
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
29
|
+
## Backend requirement and credential boundary
|
|
30
|
+
|
|
31
|
+
The Cloud room helpers target `https://mediasfu.com/v1/rooms/` by default.
|
|
32
|
+
|
|
33
|
+
- Use **MediaSFU Cloud** when you want managed room creation, signaling, and media routing.
|
|
34
|
+
- Use **MediaSFU Open** when you want your own locally or privately running MediaSFU media server. You install and operate [MediaSFU Open](https://github.com/MediaSFU/MediaSFUOpen), then configure its reachable URL.
|
|
35
|
+
|
|
36
|
+
In production, create and join rooms through your authenticated backend so the MediaSFU API username and key never enter a browser or mobile bundle. Direct credentials are suitable only for an ignored, private local-development environment.
|
|
37
|
+
|
|
38
|
+
## Server-side room bootstrap
|
|
39
|
+
|
|
40
|
+
The following shape belongs in a trusted server process. Validate and authorize the caller, load credentials from server-side environment configuration, and return only the client-safe room/session fields your application needs.
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
import {
|
|
44
|
+
createRoomOnMediaSFU,
|
|
45
|
+
} from 'mediasfu-shared';
|
|
46
|
+
|
|
47
|
+
export async function createRoomForAuthenticatedUser(userName: string) {
|
|
48
|
+
return createRoomOnMediaSFU({
|
|
49
|
+
payload: {
|
|
50
|
+
action: 'create',
|
|
51
|
+
userName,
|
|
52
|
+
duration: 60,
|
|
53
|
+
capacity: 10,
|
|
54
|
+
},
|
|
55
|
+
apiUserName: process.env.MEDIASFU_API_USERNAME ?? '',
|
|
56
|
+
apiKey: process.env.MEDIASFU_API_KEY ?? '',
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Headless state and actions
|
|
62
|
+
|
|
63
|
+
`mediasfu-shared` exports the framework-independent headless helpers used by the
|
|
64
|
+
React Native, Expo, Vue, and Angular adapters. The package does not mount a room
|
|
65
|
+
component by itself: pass it the newest parameter bag published by your chosen
|
|
66
|
+
framework SDK.
|
|
67
|
+
|
|
68
|
+
```ts
|
|
69
|
+
import {
|
|
70
|
+
getCurrentParams,
|
|
71
|
+
getRoomReadiness,
|
|
72
|
+
getLocalVideoStream,
|
|
73
|
+
listParticipantMediaStates,
|
|
74
|
+
runMediaControl,
|
|
75
|
+
type HeadlessParameters,
|
|
76
|
+
} from 'mediasfu-shared';
|
|
77
|
+
|
|
78
|
+
let parameters: HeadlessParameters = {};
|
|
79
|
+
|
|
80
|
+
export function acceptPublishedParameters(next: HeadlessParameters) {
|
|
81
|
+
parameters = next;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export function readRoom() {
|
|
85
|
+
const current = getCurrentParams({ parameters });
|
|
86
|
+
return {
|
|
87
|
+
readiness: getRoomReadiness({ parameters: current }),
|
|
88
|
+
localVideo: getLocalVideoStream({ parameters: current }),
|
|
89
|
+
participants: listParticipantMediaStates({ parameters: current }),
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export async function toggleMicrophone() {
|
|
94
|
+
return runMediaControl({ parameters, control: 'clickAudio' });
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Always replace the stored bag when the framework publishes a new one. Do not
|
|
99
|
+
hold an earlier snapshot: the SDK reassigns fields as room state changes.
|
|
100
|
+
`getCurrentParams()` is a pure read. `getUpdatedAllParams()` republishes and
|
|
101
|
+
must not be used by render functions, computed values, or polling timers.
|
|
102
|
+
|
|
103
|
+
The headless barrel also exports media-stream resolution, participant state,
|
|
104
|
+
permissions, moderation, recording/polls/whiteboard/breakout controls, session
|
|
105
|
+
extras, playback/viewer capabilities, and media-production helpers. The native
|
|
106
|
+
entry omits the DOM-only virtual-background pipeline; use the native SDK's
|
|
107
|
+
platform implementation instead.
|
|
108
|
+
|
|
109
|
+
### Browser virtual backgrounds
|
|
110
|
+
|
|
111
|
+
For a browser headless wrapper, apply a background after the camera is live and
|
|
112
|
+
keep rendering the stream returned by the SDK's current parameter bag:
|
|
113
|
+
|
|
114
|
+
```ts
|
|
115
|
+
import { applyVirtualBackground, clearVirtualBackground } from 'mediasfu-shared';
|
|
116
|
+
|
|
117
|
+
await applyVirtualBackground({ parameters, image: '/backgrounds/studio.jpg' });
|
|
118
|
+
// On removal, the producer is restored to the raw camera track.
|
|
119
|
+
await clearVirtualBackground({ parameters });
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
The helper uses the same segmentation/compositing contract as the React modal,
|
|
123
|
+
isolates processing tracks, and updates `virtualStream`/`processedStream` for
|
|
124
|
+
the self-view. Native builds intentionally omit this browser-only pipeline.
|
|
125
|
+
|
|
126
|
+
For lifecycle ownership, media resolution, independent audio rendering, publication scheduling, and teardown guidance, read [Building a Headless MediaSFU Wrapper](HEADLESS_GUIDE.md).
|
|
72
127
|
|
|
73
128
|
## Import Paths
|
|
74
129
|
|
|
@@ -77,11 +132,13 @@ console.log(createResult.success, joinResult.success, socketManager.socket.conne
|
|
|
77
132
|
- `mediasfu-shared/methods` is useful when you want action utilities and room helpers.
|
|
78
133
|
- `mediasfu-shared/types` is useful when you only need TypeScript contracts.
|
|
79
134
|
|
|
80
|
-
## Documentation
|
|
81
|
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
135
|
+
## Documentation
|
|
136
|
+
|
|
137
|
+
- Shared/headless guide: [HEADLESS_GUIDE.md](HEADLESS_GUIDE.md)
|
|
138
|
+
- Main developer docs: [https://mediasfu.com/documentation](https://mediasfu.com/documentation)
|
|
139
|
+
- API Sandbox: [https://mediasfu.com/sandbox](https://mediasfu.com/sandbox)
|
|
140
|
+
- Secure backend proxy guide: [https://mediasfu.com/docs/usage/secure-backend-proxy/](https://mediasfu.com/docs/usage/secure-backend-proxy/)
|
|
141
|
+
- MediaSFU Open / CE: [https://github.com/MediaSFU/MediaSFUOpen](https://github.com/MediaSFU/MediaSFUOpen)
|
|
85
142
|
|
|
86
143
|
Generate package-local API docs with:
|
|
87
144
|
|
|
@@ -103,6 +160,17 @@ npm run build-docs
|
|
|
103
160
|
- GitHub issues: [https://github.com/MediaSFU/MediaSFU-Shared/issues](https://github.com/MediaSFU/MediaSFU-Shared/issues)
|
|
104
161
|
- Email: info@mediasfu.com
|
|
105
162
|
|
|
106
|
-
##
|
|
107
|
-
|
|
108
|
-
|
|
163
|
+
## Host leave and rejoin
|
|
164
|
+
|
|
165
|
+
Host exits still end the room by default. To leave while keeping the room, timer, and other participants active, pass `endRoomOnHostExit: false`:
|
|
166
|
+
|
|
167
|
+
```ts
|
|
168
|
+
await confirmExit({ socket, member, roomName, endRoomOnHostExit: false });
|
|
169
|
+
await leaveRoom({ parameters, endRoomOnHostExit: false });
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
The host can later rejoin with the normal room credentials. Never expose production API credentials in a client application; use your backend room proxy outside local development.
|
|
173
|
+
|
|
174
|
+
## License
|
|
175
|
+
|
|
176
|
+
MIT. See [LICENSE](LICENSE).
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { RtpCapabilities, Device } from 'mediasoup-client/types';
|
|
2
|
+
export interface CreateDeviceClientOptions {
|
|
3
|
+
rtpCapabilities: RtpCapabilities | null;
|
|
4
|
+
}
|
|
5
|
+
export type CreateDeviceClientType = (options: CreateDeviceClientOptions) => Promise<Device | null>;
|
|
6
|
+
/**
|
|
7
|
+
* Creates a mediasoup client device with the provided RTP capabilities.
|
|
8
|
+
*
|
|
9
|
+
* @param {CreateDeviceClientOptions} options - The options for creating the device client.
|
|
10
|
+
* @param {RTPCapabilities} options.rtpCapabilities - The RTP capabilities required for the device.
|
|
11
|
+
* @returns {Promise<Device | null>} A promise that resolves to the created Device or null if creation fails.
|
|
12
|
+
* @throws {Error} Throws an error if the required parameters are not provided or if device creation is not supported.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* const device = await createDeviceClient({ rtpCapabilities });
|
|
16
|
+
* if (device) {
|
|
17
|
+
* console.log("Device created successfully");
|
|
18
|
+
* } else {
|
|
19
|
+
* console.log("Failed to create device");
|
|
20
|
+
* }
|
|
21
|
+
*/
|
|
22
|
+
export declare const createDeviceClient: ({ rtpCapabilities }: CreateDeviceClientOptions) => Promise<Device | null>;
|
|
23
|
+
//# sourceMappingURL=createDeviceClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDeviceClient.d.ts","sourceRoot":"","sources":["../../../src/ProducerClient/producerClientEmits/createDeviceClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEtE,MAAM,WAAW,yBAAyB;IACxC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;CACzC;AAID,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,yBAAyB,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAGpG;;;;;;;;;;;;;;;GAeG;AAEH,eAAO,MAAM,kBAAkB,GAAU,qBAEtC,yBAAyB,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAiCnD,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Socket } from 'socket.io-client';
|
|
2
|
+
import { JoinRoomResponse } from '../../producers/producerEmits/joinRoom';
|
|
3
|
+
import { JoinConRoomResponse } from '../../producers/producerEmits/joinConRoom';
|
|
4
|
+
export interface JoinRoomClientOptions {
|
|
5
|
+
socket: Socket;
|
|
6
|
+
roomName: string;
|
|
7
|
+
islevel: string;
|
|
8
|
+
member: string;
|
|
9
|
+
sec: string;
|
|
10
|
+
apiUserName: string;
|
|
11
|
+
consume?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export type JoinRoomClientResponse = JoinRoomResponse | JoinConRoomResponse;
|
|
14
|
+
export type JoinRoomClientType = (options: JoinRoomClientOptions) => Promise<JoinRoomClientResponse>;
|
|
15
|
+
/**
|
|
16
|
+
* Joins a room by delegating to the producer or consumer join emit based on the consume flag.
|
|
17
|
+
*
|
|
18
|
+
* @param {JoinRoomClientOptions} options - The options for joining the room.
|
|
19
|
+
* @returns {Promise<JoinRoomClientResponse>} The response returned from the server.
|
|
20
|
+
*/
|
|
21
|
+
export declare const joinRoomClient: ({ socket, roomName, islevel, member, sec, apiUserName, consume, }: JoinRoomClientOptions) => Promise<JoinRoomClientResponse>;
|
|
22
|
+
//# sourceMappingURL=joinRoomClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"joinRoomClient.d.ts","sourceRoot":"","sources":["../../../src/ProducerClient/producerClientEmits/joinRoomClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAY,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAe,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAE7F,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;AAC5E,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,qBAAqB,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAErG;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAU,mEAQlC,qBAAqB,KAAG,OAAO,CAAC,sBAAsB,CAyBxD,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { RtpCapabilities } from 'mediasoup-client/types';
|
|
2
|
+
import { HParamsType, VParamsType, ScreenParamsType, AParamsType, MeetingRoomParams, VidCons, ShowAlert, ResponseJoinRoom, EventType } from '../../types/shared-base-types';
|
|
3
|
+
export interface UpdateRoomParametersClientParameters {
|
|
4
|
+
rtpCapabilities: RtpCapabilities | null;
|
|
5
|
+
roomRecvIPs: string[];
|
|
6
|
+
meetingRoomParams: MeetingRoomParams | null;
|
|
7
|
+
itemPageLimit: number;
|
|
8
|
+
audioOnlyRoom: boolean;
|
|
9
|
+
addForBasic: boolean;
|
|
10
|
+
screenPageLimit: number;
|
|
11
|
+
shareScreenStarted: boolean;
|
|
12
|
+
shared: boolean;
|
|
13
|
+
targetOrientation: string;
|
|
14
|
+
vidCons: VidCons;
|
|
15
|
+
recordingVideoSupport: boolean;
|
|
16
|
+
frameRate: number;
|
|
17
|
+
adminPasscode: string;
|
|
18
|
+
eventType: EventType;
|
|
19
|
+
youAreCoHost: boolean;
|
|
20
|
+
autoWave: boolean;
|
|
21
|
+
forceFullDisplay: boolean;
|
|
22
|
+
chatSetting: string;
|
|
23
|
+
meetingDisplayType: string;
|
|
24
|
+
audioSetting: string;
|
|
25
|
+
videoSetting: string;
|
|
26
|
+
screenshareSetting: string;
|
|
27
|
+
hParams: HParamsType;
|
|
28
|
+
vParams: VParamsType;
|
|
29
|
+
screenParams: ScreenParamsType;
|
|
30
|
+
aParams: AParamsType;
|
|
31
|
+
islevel: string;
|
|
32
|
+
showAlert?: ShowAlert;
|
|
33
|
+
data: ResponseJoinRoom;
|
|
34
|
+
updateRtpCapabilities: (rtpCapabilities: RtpCapabilities | null) => void;
|
|
35
|
+
updateRoomRecvIPs: (roomRecvIPs: string[]) => void;
|
|
36
|
+
updateMeetingRoomParams: (meetingRoomParams: MeetingRoomParams | null) => void;
|
|
37
|
+
updateItemPageLimit: (limit: number) => void;
|
|
38
|
+
updateAudioOnlyRoom: (isAudioOnly: boolean) => void;
|
|
39
|
+
updateAddForBasic: (addForBasic: boolean) => void;
|
|
40
|
+
updateScreenPageLimit: (limit: number) => void;
|
|
41
|
+
updateVidCons: (cons: VidCons) => void;
|
|
42
|
+
updateFrameRate: (frameRate: number) => void;
|
|
43
|
+
updateAdminPasscode: (passcode: string) => void;
|
|
44
|
+
updateEventType: (eventType: EventType) => void;
|
|
45
|
+
updateYouAreCoHost: (coHost: boolean) => void;
|
|
46
|
+
updateAutoWave: (autoWave: boolean) => void;
|
|
47
|
+
updateForceFullDisplay: (forceFull: boolean) => void;
|
|
48
|
+
updateChatSetting: (setting: string) => void;
|
|
49
|
+
updateMeetingDisplayType: (type: string) => void;
|
|
50
|
+
updateAudioSetting: (setting: string) => void;
|
|
51
|
+
updateVideoSetting: (setting: string) => void;
|
|
52
|
+
updateScreenshareSetting: (setting: string) => void;
|
|
53
|
+
updateHParams: (params: HParamsType) => void;
|
|
54
|
+
updateVParams: (params: VParamsType) => void;
|
|
55
|
+
updateScreenParams: (params: ScreenParamsType) => void;
|
|
56
|
+
updateAParams: (params: AParamsType) => void;
|
|
57
|
+
updateMainHeightWidth: (heightWidth: number) => void;
|
|
58
|
+
updateTargetResolution: (resolution: string) => void;
|
|
59
|
+
updateTargetResolutionHost: (resolution: string) => void;
|
|
60
|
+
updateRecordingAudioPausesLimit: (limit: number) => void;
|
|
61
|
+
updateRecordingAudioPausesCount: (count: number) => void;
|
|
62
|
+
updateRecordingAudioSupport: (support: boolean) => void;
|
|
63
|
+
updateRecordingAudioPeopleLimit: (limit: number) => void;
|
|
64
|
+
updateRecordingAudioParticipantsTimeLimit: (limit: number) => void;
|
|
65
|
+
updateRecordingVideoPausesCount: (count: number) => void;
|
|
66
|
+
updateRecordingVideoPausesLimit: (limit: number) => void;
|
|
67
|
+
updateRecordingVideoSupport: (support: boolean) => void;
|
|
68
|
+
updateRecordingVideoPeopleLimit: (limit: number) => void;
|
|
69
|
+
updateRecordingVideoParticipantsTimeLimit: (limit: number) => void;
|
|
70
|
+
updateRecordingAllParticipantsSupport: (support: boolean) => void;
|
|
71
|
+
updateRecordingVideoParticipantsSupport: (support: boolean) => void;
|
|
72
|
+
updateRecordingAllParticipantsFullRoomSupport: (support: boolean) => void;
|
|
73
|
+
updateRecordingVideoParticipantsFullRoomSupport: (support: boolean) => void;
|
|
74
|
+
updateRecordingPreferredOrientation: (orientation: string) => void;
|
|
75
|
+
updateRecordingSupportForOtherOrientation: (support: boolean) => void;
|
|
76
|
+
updateRecordingMultiFormatsSupport: (support: boolean) => void;
|
|
77
|
+
updateRecordingVideoOptions: (options: string) => void;
|
|
78
|
+
updateRecordingAudioOptions: (options: string) => void;
|
|
79
|
+
}
|
|
80
|
+
export type UpdateRoomParametersClientOptions = {
|
|
81
|
+
parameters: UpdateRoomParametersClientParameters;
|
|
82
|
+
};
|
|
83
|
+
export type UpdateRoomParametersClientType = (options: UpdateRoomParametersClientOptions) => void;
|
|
84
|
+
export declare const updateRoomParametersClient: ({ parameters }: UpdateRoomParametersClientOptions) => void;
|
|
85
|
+
//# sourceMappingURL=updateRoomParametersClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateRoomParametersClient.d.ts","sourceRoot":"","sources":["../../../src/ProducerClient/producerClientEmits/updateRoomParametersClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface AddVideosGridParameters {
|
|
2
|
+
[key: string]: any;
|
|
3
|
+
}
|
|
4
|
+
export interface AddVideosGridOptions {
|
|
5
|
+
parameters: AddVideosGridParameters;
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
}
|
|
8
|
+
export type AddVideosGridType = (options: AddVideosGridOptions) => Promise<void>;
|
|
9
|
+
export declare const addVideosGrid: AddVideosGridType;
|
|
10
|
+
//# sourceMappingURL=addVideosGrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addVideosGrid.d.ts","sourceRoot":"","sources":["../../src/consumers/addVideosGrid.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,uBAAuB;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,uBAAuB,CAAC;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEjF,eAAO,MAAM,aAAa,EAAE,iBAE3B,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { EventType } from '../types/types';
|
|
2
|
+
export interface AutoAdjustOptions {
|
|
3
|
+
n: number;
|
|
4
|
+
eventType: EventType;
|
|
5
|
+
shareScreenStarted: boolean;
|
|
6
|
+
shared: boolean;
|
|
7
|
+
}
|
|
8
|
+
export type AutoAdjustType = (options: AutoAdjustOptions) => Promise<number[]>;
|
|
9
|
+
/**
|
|
10
|
+
* Adjusts values based on the provided options and the number of participants.
|
|
11
|
+
*
|
|
12
|
+
* @function
|
|
13
|
+
* @async
|
|
14
|
+
* @param {AutoAdjustOptions} options - The options for auto adjustment.
|
|
15
|
+
* @param {number} options.n - The number of participants.
|
|
16
|
+
* @param {string} options.eventType - The type of event (e.g., 'broadcast', 'chat', 'conference').
|
|
17
|
+
* @param {boolean} options.shareScreenStarted - Indicates if screen sharing has started.
|
|
18
|
+
* @param {boolean} options.shared - Indicates if something is shared.
|
|
19
|
+
*
|
|
20
|
+
* @returns {Promise<number[]>} A promise that resolves to an array containing the adjusted values.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* import { autoAdjust } from 'mediasfu-reactjs';
|
|
24
|
+
*
|
|
25
|
+
* const options = {
|
|
26
|
+
* n: 10,
|
|
27
|
+
* eventType: 'conference',
|
|
28
|
+
* shareScreenStarted: false,
|
|
29
|
+
* shared: false,
|
|
30
|
+
* };
|
|
31
|
+
*
|
|
32
|
+
* autoAdjust(options)
|
|
33
|
+
* .then(values => {
|
|
34
|
+
* console.log('Adjusted values:', values);
|
|
35
|
+
* })
|
|
36
|
+
* .catch(error => {
|
|
37
|
+
* console.error('Error adjusting values:', error);
|
|
38
|
+
* });
|
|
39
|
+
*/
|
|
40
|
+
export declare function autoAdjust({ n, eventType, shareScreenStarted, shared }: AutoAdjustOptions): Promise<number[]>;
|
|
41
|
+
//# sourceMappingURL=autoAdjust.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoAdjust.d.ts","sourceRoot":"","sources":["../../src/consumers/autoAdjust.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAChC,CAAC,EAAE,MAAM,CAAC;IACV,SAAS,EAAE,SAAS,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAG/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,wBAAsB,UAAU,CAAC,EAC/B,CAAC,EACD,SAAS,EAAE,kBAAkB,EAAE,MAAM,EACtC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAoDvC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface CalculateRowsAndColumnsOptions {
|
|
2
|
+
n: number;
|
|
3
|
+
}
|
|
4
|
+
export type CalculateRowsAndColumnsType = (options: CalculateRowsAndColumnsOptions) => [number, number];
|
|
5
|
+
/**
|
|
6
|
+
* Calculates the number of rows and columns needed to display a given number of items in a grid.
|
|
7
|
+
*
|
|
8
|
+
* @function
|
|
9
|
+
* @param {CalculateRowsAndColumnsOptions} options - The options for calculating rows and columns.
|
|
10
|
+
* @param {number} options.n - The number of items to display.
|
|
11
|
+
* @returns {[number, number]} A tuple containing the number of rows and columns.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* import { calculateRowsAndColumns } from 'mediasfu-reactjs';
|
|
15
|
+
*
|
|
16
|
+
* const options = {
|
|
17
|
+
* n: 10,
|
|
18
|
+
* };
|
|
19
|
+
*
|
|
20
|
+
* const [rows, cols] = calculateRowsAndColumns(options);
|
|
21
|
+
* console.log(`Rows: ${rows}, Columns: ${cols}`); // Outputs: Rows: 4, Columns: 3
|
|
22
|
+
*/
|
|
23
|
+
export declare function calculateRowsAndColumns({ n }: CalculateRowsAndColumnsOptions): [number, number];
|
|
24
|
+
//# sourceMappingURL=calculateRowsAndColumns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculateRowsAndColumns.d.ts","sourceRoot":"","sources":["../../src/consumers/calculateRowsAndColumns.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,8BAA8B;IAC7C,CAAC,EAAE,MAAM,CAAC;CACX;AAGD,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,EAAE,8BAA8B,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAExG;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,CAAC,EAAE,EAAE,8BAA8B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAyB/F"}
|