@100mslive/hms-video-store 0.2.83 → 0.2.84-alpha.3
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/core/IHMSActions.d.ts +13 -1
- package/dist/core/hmsSDKStore/HMSSDKActions.d.ts +2 -0
- package/dist/core/hmsSDKStore/adapter.d.ts +2 -1
- package/dist/core/hmsSDKStore/sdkTypes.d.ts +2 -2
- package/dist/core/schema/room.d.ts +4 -1
- package/dist/core/selectors/selectors.d.ts +3 -0
- package/dist/hms-video-store.cjs.js +1 -1
- package/dist/hms-video-store.esm.js +1 -1
- package/package.json +3 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HMSConfig, HMSSimulcastLayer, HMSAudioTrackSettings, HMSVideoTrackSettings, HMSLogLevel, HMSVideoPlugin, HMSAudioPlugin } from '@100mslive/hms-video';
|
|
2
2
|
import { HMSMessageID, HMSPeerID, HMSRoleName, HMSTrackID, HMSTrackSource, IHMSPlaylistActions, HMSChangeMultiTrackStateParams } from './schema';
|
|
3
3
|
import { HMSRoleChangeRequest } from './selectors';
|
|
4
|
-
import { RTMPRecordingConfig } from './hmsSDKStore/sdkTypes';
|
|
4
|
+
import { RTMPRecordingConfig, HLSConfig } from './hmsSDKStore/sdkTypes';
|
|
5
5
|
/**
|
|
6
6
|
* The below interface defines our SDK API Surface for taking room related actions.
|
|
7
7
|
* It talks to our 100ms backend and handles error reconnections, state managements
|
|
@@ -229,6 +229,18 @@ export interface IHMSActions {
|
|
|
229
229
|
* If you want to stop both RTMP streaming and recording.
|
|
230
230
|
*/
|
|
231
231
|
stopRTMPAndRecording(): Promise<void>;
|
|
232
|
+
/**
|
|
233
|
+
* If you want to start HLS streaming.
|
|
234
|
+
* @param params.meetingURL This is the meeting url which is opened in a headless chrome instance for streaming and recording.
|
|
235
|
+
* Make sure this url leads the joiner straight to the room without any preview screen or requiring additional clicks.
|
|
236
|
+
* @alpha
|
|
237
|
+
*/
|
|
238
|
+
startHLSStreaming(params: HLSConfig): Promise<void>;
|
|
239
|
+
/**
|
|
240
|
+
* If you want to stop HLS streaming.
|
|
241
|
+
* @alpha
|
|
242
|
+
*/
|
|
243
|
+
stopHLSStreaming(): Promise<void>;
|
|
232
244
|
/**
|
|
233
245
|
* If you want to update the name of peer.
|
|
234
246
|
* @beta
|
|
@@ -74,6 +74,8 @@ export declare class HMSSDKActions implements IHMSActions {
|
|
|
74
74
|
removePeer(peerID: string, reason: string): Promise<void>;
|
|
75
75
|
startRTMPOrRecording(params: sdkTypes.RTMPRecordingConfig): Promise<void>;
|
|
76
76
|
stopRTMPAndRecording(): Promise<void>;
|
|
77
|
+
startHLSStreaming(params: sdkTypes.HLSConfig): Promise<void>;
|
|
78
|
+
stopHLSStreaming(): Promise<void>;
|
|
77
79
|
changeName(name: string): Promise<void>;
|
|
78
80
|
changeMetadata(metadata: string | any): Promise<void>;
|
|
79
81
|
setRemoteTrackEnabled(trackID: HMSTrackID | HMSTrackID[], enabled: boolean): Promise<void>;
|
|
@@ -42,8 +42,9 @@ export declare class SDKToHMS {
|
|
|
42
42
|
};
|
|
43
43
|
static convertPlaylistItem<T>(playlistManager: sdkTypes.HMSPlaylistManager, playlistItem: sdkTypes.HMSPlaylistItem<T>): HMSPlaylistItem<T>;
|
|
44
44
|
private static getConvertedPlaylistType;
|
|
45
|
-
static convertRecordingRTMPState(recording: sdkTypes.HMSRecording | undefined, rtmp: sdkTypes.HMSRTMP | undefined): {
|
|
45
|
+
static convertRecordingRTMPState(recording: sdkTypes.HMSRecording | undefined, rtmp: sdkTypes.HMSRTMP | undefined, hls: sdkTypes.HMSHLS | undefined): {
|
|
46
46
|
recording: sdkTypes.HMSRecording;
|
|
47
47
|
rtmp: sdkTypes.HMSRTMP;
|
|
48
|
+
hls: sdkTypes.HMSHLS;
|
|
48
49
|
};
|
|
49
50
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { HMSException, HMSSimulcastLayer, HMSPeerUpdate, HMSRoomUpdate, HMSTrackUpdate, HMSAudioTrackSettings, HMSVideoTrackSettings, HMSPeer, HMSRoom, HMSMessage, HMSConfig, HMSSpeaker, HMSRole, HMSLocalPeer, HMSRemotePeer, SimulcastLayerDefinition, DeviceMap, HMSLogLevel, HMSDeviceChangeEvent, HMSPlaylistItem, HMSPlaylistManager, HMSPlaylistProgressEvent, RTMPRecordingConfig, HMSRecording, HMSRTMP, HMSAudioPluginType, HMSVideoPluginType, HMSVideoPlugin, HMSAudioPlugin } from '@100mslive/hms-video';
|
|
1
|
+
import { HMSException, HMSSimulcastLayer, HMSPeerUpdate, HMSRoomUpdate, HMSTrackUpdate, HMSAudioTrackSettings, HMSVideoTrackSettings, HMSPeer, HMSRoom, HMSMessage, HMSConfig, HMSSpeaker, HMSRole, HMSLocalPeer, HMSRemotePeer, SimulcastLayerDefinition, DeviceMap, HMSLogLevel, HMSDeviceChangeEvent, HMSPlaylistItem, HMSPlaylistManager, HMSPlaylistProgressEvent, RTMPRecordingConfig, HMSRecording, HMSRTMP, HMSAudioPluginType, HMSVideoPluginType, HMSVideoPlugin, HMSAudioPlugin, HLSConfig, HMSHLS } from '@100mslive/hms-video';
|
|
2
2
|
export { HMSException, HMSSimulcastLayer, HMSRoomUpdate, HMSPeerUpdate, HMSTrackUpdate, HMSLogLevel, HMSAudioPluginType, HMSVideoPluginType, };
|
|
3
|
-
export type { DeviceMap, HMSPeer, HMSRoom, HMSMessage, HMSSpeaker, HMSConfig, HMSAudioTrackSettings, HMSVideoTrackSettings, HMSRole, HMSLocalPeer, HMSRemotePeer, SimulcastLayerDefinition, HMSDeviceChangeEvent, HMSPlaylistItem, HMSPlaylistManager, HMSPlaylistProgressEvent, RTMPRecordingConfig, HMSRecording, HMSRTMP, HMSVideoPlugin, HMSAudioPlugin, };
|
|
3
|
+
export type { DeviceMap, HMSPeer, HMSRoom, HMSMessage, HMSSpeaker, HMSConfig, HMSAudioTrackSettings, HMSVideoTrackSettings, HMSRole, HMSLocalPeer, HMSRemotePeer, SimulcastLayerDefinition, HMSDeviceChangeEvent, HMSPlaylistItem, HMSPlaylistManager, HMSPlaylistProgressEvent, RTMPRecordingConfig, HMSRecording, HMSRTMP, HMSVideoPlugin, HMSAudioPlugin, HLSConfig, HMSHLS, };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HMSRecording, HMSRTMP } from '@100mslive/hms-video';
|
|
1
|
+
import { HMSRecording, HMSRTMP, HMSHLS } from '@100mslive/hms-video';
|
|
2
2
|
import { HMSPeerID } from './peer';
|
|
3
3
|
export declare type HMSRoomID = string;
|
|
4
4
|
export declare enum HMSRoomState {
|
|
@@ -20,4 +20,7 @@ export interface HMSRoom {
|
|
|
20
20
|
roomState: HMSRoomState;
|
|
21
21
|
recording: HMSRecording;
|
|
22
22
|
rtmp: HMSRTMP;
|
|
23
|
+
hls: HMSHLS;
|
|
24
|
+
sessionId: string;
|
|
25
|
+
startedAt?: number;
|
|
23
26
|
}
|
|
@@ -183,3 +183,6 @@ export declare const selectPermissions: import("reselect").OutputSelector<HMSSto
|
|
|
183
183
|
} | undefined>;
|
|
184
184
|
export declare const selectRecordingState: import("reselect").OutputSelector<HMSStore, import("../../../../hms-video-web/dist/interfaces/room").HMSRecording, (res: HMSRoom) => import("../../../../hms-video-web/dist/interfaces/room").HMSRecording>;
|
|
185
185
|
export declare const selectRTMPState: import("reselect").OutputSelector<HMSStore, import("../../../../hms-video-web/dist/interfaces/room").HMSRTMP, (res: HMSRoom) => import("../../../../hms-video-web/dist/interfaces/room").HMSRTMP>;
|
|
186
|
+
export declare const selectHLSState: import("reselect").OutputSelector<HMSStore, import("../../../../hms-video-web/dist/interfaces/room").HMSHLS, (res: HMSRoom) => import("../../../../hms-video-web/dist/interfaces/room").HMSHLS>;
|
|
187
|
+
export declare const selectSessionId: import("reselect").OutputSelector<HMSStore, string, (res: HMSRoom) => string>;
|
|
188
|
+
export declare const selectRoomStartTime: import("reselect").OutputSelector<HMSStore, number | undefined, (res: HMSRoom) => number | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var mt=Object.create;var F=Object.defineProperty,ht=Object.defineProperties,gt=Object.getOwnPropertyDescriptor,Tt=Object.getOwnPropertyDescriptors,yt=Object.getOwnPropertyNames,xe=Object.getOwnPropertySymbols,Ht=Object.getPrototypeOf,Le=Object.prototype.hasOwnProperty,ft=Object.prototype.propertyIsEnumerable;var Oe=(s,e,t)=>e in s?F(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,V=(s,e)=>{for(var t in e||(e={}))Le.call(e,t)&&Oe(s,t,e[t]);if(xe)for(var t of xe(e))ft.call(e,t)&&Oe(s,t,e[t]);return s},B=(s,e)=>ht(s,Tt(e)),Ne=s=>F(s,"__esModule",{value:!0});var kt=(s,e)=>{Ne(s);for(var t in e)F(s,t,{get:e[t],enumerable:!0})},Pt=(s,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of yt(e))!Le.call(s,i)&&i!=="default"&&F(s,i,{get:()=>e[i],enumerable:!(t=gt(e,i))||t.enumerable});return s},R=s=>Pt(Ne(F(s!=null?mt(Ht(s)):{},"default",s&&s.__esModule&&"default"in s?{get:()=>s.default,enumerable:!0}:{value:s,enumerable:!0})),s);var c=(s,e,t)=>new Promise((i,o)=>{var r=g=>{try{p(t.next(g))}catch(P){o(P)}},a=g=>{try{p(t.throw(g))}catch(P){o(P)}},p=g=>g.done?i(g.value):Promise.resolve(g.value).then(r,a);p((t=t.apply(s,e)).next())});kt(exports,{HMSAudioPluginType:()=>n.HMSAudioPluginType,HMSLogLevel:()=>n.HMSLogLevel,HMSMessageType:()=>ce,HMSNotificationSeverity:()=>f,HMSNotificationTypes:()=>M,HMSPlaylistType:()=>d,HMSReactiveStore:()=>O,HMSRoomState:()=>H,HMSVideoPluginType:()=>n.HMSVideoPluginType,createDefaultStoreState:()=>G,selectAudioPlaylist:()=>He,selectAudioPlaylistTrackByPeerID:()=>ss,selectAudioTrackByPeerID:()=>tt,selectAudioTrackVolume:()=>Ie,selectAudioVolumeByPeerID:()=>cs,selectAuxiliaryAudioByPeerID:()=>Zt,selectAuxiliaryTracksByPeerID:()=>Yt,selectAvailableRoleNames:()=>qt,selectBroadcastMessages:()=>rt,selectBroadcastMessagesUnreadCount:()=>ps,selectCameraStreamByPeerID:()=>Wt,selectDegradedTracks:()=>Kt,selectDevices:()=>Dt,selectDominantSpeaker:()=>xt,selectHMSMessages:()=>Y,selectHMSMessagesCount:()=>me,selectIsAllowedToPublish:()=>Ps,selectIsAllowedToSubscribe:()=>$t,selectIsAudioLocallyMuted:()=>De,selectIsConnectedToRoom:()=>It,selectIsInPreview:()=>Bt,selectIsLocalAudioEnabled:()=>Lt,selectIsLocalAudioPluginPresent:()=>Es,selectIsLocalScreenShared:()=>ie,selectIsLocalVideoDisplayEnabled:()=>Me,selectIsLocalVideoEnabled:()=>se,selectIsLocalVideoPluginPresent:()=>Is,selectIsLocallyMutedByPeerID:()=>as,selectIsPeerAudioEnabled:()=>os,selectIsPeerVideoEnabled:()=>rs,selectIsScreenShareLocallyMutedByPeerID:()=>ns,selectIsSomeoneScreenSharing:()=>Ot,selectLocalAudioTrackID:()=>N,selectLocalMediaSettings:()=>Se,selectLocalPeer:()=>I,selectLocalPeerID:()=>ue,selectLocalPeerRole:()=>Q,selectLocalTrackIDs:()=>pe,selectLocalVideoTrackID:()=>w,selectMessageIDsInOrder:()=>de,selectMessagesByPeerID:()=>Ms,selectMessagesByRole:()=>ms,selectMessagesMap:()=>le,selectMessagesUnreadCountByPeerID:()=>gs,selectMessagesUnreadCountByRole:()=>hs,selectPeerAudioByID:()=>zt,selectPeerByID:()=>E,selectPeerCount:()=>Et,selectPeerMetadata:()=>ys,selectPeerNameByID:()=>Jt,selectPeerScreenSharing:()=>Ge,selectPeerSharingAudio:()=>Nt,selectPeerSharingAudioPlaylist:()=>_t,selectPeerSharingVideoPlaylist:()=>Ut,selectPeers:()=>te,selectPeersByRole:()=>Ts,selectPeersMap:()=>v,selectPeersScreenSharing:()=>wt,selectPeersWithAudioStatus:()=>Hs,selectPermissions:()=>ge,selectRTMPState:()=>Gt,selectRecordingState:()=>Ft,selectRemotePeers:()=>Ct,selectRoleByRoleName:()=>Rs,selectRoleChangeRequest:()=>ks,selectRolesMap:()=>L,selectRoom:()=>x,selectRoomStarted:()=>he,selectRoomState:()=>oe,selectScreenShareAudioByPeerID:()=>ve,selectScreenShareByPeerID:()=>is,selectScreenSharesByPeerId:()=>Re,selectScreenshareAudioVolumeByPeerID:()=>ls,selectSimulcastLayerByTrack:()=>ds,selectSpeakers:()=>Fe,selectTrackAudioByID:()=>Qt,selectTrackByID:()=>z,selectTracksMap:()=>T,selectUnreadHMSMessagesCount:()=>Vt,selectVideoPlaylist:()=>fe,selectVideoPlaylistAudioTrackByPeerID:()=>ts,selectVideoPlaylistVideoTrackByPeerID:()=>es,selectVideoTrackByPeerID:()=>et});var St=R(require("immer")),ut=R(require("zustand/vanilla")),pt=R(require("zustand/shallow")),Mt=R(require("@100mslive/hms-video"));var H;(function(a){a.Disconnected="Disconnected",a.Preview="Preview",a.Connecting="Connecting",a.Connected="Connected",a.Reconnecting="Reconnecting",a.Failed="Failed"})(H||(H={}));var G=()=>({room:{id:"",isConnected:!1,name:"",peers:[],shareableLink:"",localPeer:"",hasWaitingRoom:!1,roomState:H.Disconnected,recording:{browser:{running:!1},server:{running:!1}},rtmp:{running:!1}},peers:{},tracks:{},playlist:{audio:{list:{},selection:{id:"",hasPrevious:!1,hasNext:!1},progress:0,volume:0,currentTime:0,playbackRate:1},video:{list:{},selection:{id:"",hasPrevious:!1,hasNext:!1},progress:0,volume:0,currentTime:0,playbackRate:1}},messages:{byID:{},allIDs:[]},speakers:{},settings:{audioInputDeviceId:"",audioOutputDeviceId:"",videoInputDeviceId:""},devices:{audioInput:[],audioOutput:[],videoInput:[]},roles:{},roleChangeRequests:[],errors:[]});var ce;(function(e){e.CHAT="chat"})(ce||(ce={}));var f;(function(i){i.INFO="info",i.ERROR="error",i.CRITICAL="critical"})(f||(f={}));var M;(function(l){l.PEER_JOINED="PEER_JOINED",l.PEER_LEFT="PEER_LEFT",l.PEER_LIST="PEER_LIST",l.NEW_MESSAGE="NEW_MESSAGE",l.ERROR="ERROR",l.RECONNECTING="RECONNECTING",l.RECONNECTED="RECONNECTED",l.TRACK_ADDED="TRACK_ADDED",l.TRACK_REMOVED="TRACK_REMOVED",l.TRACK_MUTED="TRACK_MUTED",l.TRACK_UNMUTED="TRACK_UNMUTED",l.TRACK_DEGRADED="TRACK_DEGRADED",l.TRACK_RESTORED="TRACK_RESTORED",l.ROLE_CHANGE_REQUEST="ROLE_CHANGE_REQUEST",l.ROLE_UPDATED="ROLE_UPDATED",l.CHANGE_TRACK_STATE_REQUEST="CHANGE_TRACK_STATE_REQUEST",l.CHANGE_MULTI_TRACK_STATE_REQUEST="CHANGE_MULTI_TRACK_STATE_REQUEST",l.ROOM_ENDED="ROOM_ENDED",l.REMOVED_FROM_ROOM="REMOVED_FROM_ROOM",l.DEVICE_CHANGE_UPDATE="DEVICE_CHANGE_UPDATE",l.PLAYLIST_TRACK_ENDED="PLAYLIST_TRACK_ENDED",l.NAME_UPDATED="NAME_UPDATED",l.METADATA_UPDATED="METADATA_UPDATED"})(M||(M={}));var d;(function(t){t.audio="audio",t.video="video"})(d||(d={}));var n=R(require("@100mslive/hms-video"));var C=R(require("@100mslive/hms-video"));var we=(s,e)=>{let t=Be(Object.keys(s),Object.keys(e));for(let i of t){let o=s[i],r=e[i];_e(o,r)?(A(o.auxiliaryTracks,r.auxiliaryTracks)&&(r.auxiliaryTracks=o.auxiliaryTracks),Object.assign(o,r)):Ke(o,r)?delete s[i]:Ve(o,r)&&(s[i]=r)}},Ue=(s,e)=>{let t=Be(Object.keys(s),Object.keys(e));for(let i of t){let o=s[i],r=e[i];_e(o,r)?(Rt(o,r),Object.assign(o,r)):Ke(o,r)?delete s[i]:Ve(o,r)&&(s[i]=r)}},Rt=(s,e)=>{s.plugins&&A(s.plugins,e.plugins)&&(e.plugins=s.plugins),s.layerDefinitions&&A(s.layerDefinitions,e.layerDefinitions)&&(e.layerDefinitions=s.layerDefinitions)},_e=(s,e)=>s&&e,Ke=(s,e)=>s&&!e,Ve=(s,e)=>!s&&e,A=(s,e)=>{if(s===e||s.length===0&&(e==null?void 0:e.length)===0)return!0;if(!s||!e||s.length!==e.length)return!1;for(let t=0;t<s.length;t++)if(s[t]!==e[t])return!1;return!0},Be=(s,e)=>{let t=new Set;for(let i of s)t.add(i);for(let i of e)t.add(i);return Array.from(t)};var h=class{static convertPeer(e){var t,i,o;return{id:e.peerId,name:e.name,roleName:(t=e.role)==null?void 0:t.name,isLocal:e.isLocal,videoTrack:(i=e.videoTrack)==null?void 0:i.trackId,audioTrack:(o=e.audioTrack)==null?void 0:o.trackId,auxiliaryTracks:e.auxiliaryTracks.map(r=>r.trackId),customerUserId:e.customerUserId,customerDescription:e.metadata,metadata:e.metadata}}static convertTrack(e,t){let i={id:e.trackId,source:e.source,type:e.type,enabled:e.enabled,displayEnabled:e.enabled,peerId:e.peerId||t};return this.enrichTrack(i,e),i}static enrichTrack(e,t){let i=t.getMediaTrackSettings();e.source==="screen"&&e.type==="video"&&(e.displaySurface=i.displaySurface),e.height=i.height,e.width=i.width,t instanceof C.HMSRemoteAudioTrack&&(e.volume=t.getVolume()||0),h.updateDeviceID(e,t),h.enrichVideoTrack(e,t),h.enrichPluginsDetails(e,t)}static updateDeviceID(e,t){var i;t instanceof C.HMSLocalVideoTrack||t instanceof C.HMSLocalAudioTrack?e.deviceID=t.settings.deviceId:e.deviceID=(i=t.getMediaTrackSettings())==null?void 0:i.deviceId}static enrichVideoTrack(e,t){t instanceof C.HMSRemoteVideoTrack&&(e.layer=t.getSimulcastLayer(),e.degraded=t.degraded,A(t.getSimulcastDefinitions(),e.layerDefinitions)||(e.layerDefinitions=t.getSimulcastDefinitions()))}static enrichPluginsDetails(e,t){(t instanceof C.HMSLocalVideoTrack||t instanceof C.HMSLocalAudioTrack)&&(A(t.getPlugins(),e.plugins)||(e.plugins=t.getPlugins()))}static convertRoom(e){var t,i,o,r,a;return{id:e.id,name:e.name,localPeer:(i=(t=e.localPeer)==null?void 0:t.peerId)!=null?i:"",hasWaitingRoom:e.hasWaitingRoom,shareableLink:e.shareableLink,recording:{browser:{running:!!((o=e.recording)==null?void 0:o.browser.running)},server:{running:!!((r=e.recording)==null?void 0:r.server.running)}},rtmp:{running:!!((a=e.rtmp)==null?void 0:a.running)}}}static convertMessage(e){var t,i,o;return{sender:e.sender.peerId,senderName:e.sender.name,senderRole:(t=e.sender.role)==null?void 0:t.name,senderUserId:e.sender.customerUserId,recipientPeer:(i=e.recipientPeer)==null?void 0:i.peerId,recipientRoles:(o=e.recipientRoles)==null?void 0:o.map(r=>r.name),time:e.time,type:e.type,message:e.message}}static convertRoles(e){let t={};return e&&e.forEach(i=>{t[i.name]=i}),t}static convertRoleChangeRequest(e){return{requestedBy:e.requestedBy.peerId,roleName:e.role.name,token:e.token}}static convertException(e){return{code:e.code,action:e.action,name:e.name,message:e.message,description:e.description,isTerminal:e.isTerminal,nativeError:e.nativeError,timestamp:new Date}}static convertDeviceChangeUpdate(e){let t={devices:e.devices,selection:e.selection,type:e.type};return e.error&&(t.error=this.convertException(e.error)),t}static convertPlaylist(e){let t=this.getConvertedPlaylistType(e,d.audio),i=this.getConvertedPlaylistType(e,d.video);return{audio:t,video:i}}static convertPlaylistItem(e,t){let i=t.type,o=e.getCurrentSelection(i),r=e.isPlaying(i),a=t.url===(o==null?void 0:o.url);return B(V({},t),{type:t.type,selected:a,playing:a&&r})}static getConvertedPlaylistType(e,t){let i={},o=e.getCurrentSelection(t),r=e.getCurrentProgress(t),a=e.getVolume(t),p=e.getList(t),g=e.getCurrentIndex(t);return e.getList(t).forEach(P=>{i[P.id]=h.convertPlaylistItem(e,P)}),{list:i,selection:{id:o==null?void 0:o.id,hasPrevious:g>0,hasNext:g<p.length-1},progress:r,volume:a,currentTime:e.getCurrentTime(t),playbackRate:e.getPlaybackRate(t)}}static convertRecordingRTMPState(e,t){var i,o;return{recording:{browser:{running:!!((i=e==null?void 0:e.browser)==null?void 0:i.running)},server:{running:!!((o=e==null?void 0:e.server)==null?void 0:o.running)}},rtmp:{running:!!(t==null?void 0:t.running)}}}};var S=R(require("reselect"));function U(s,e,t=vt){let i,o;if(e)for(let r of e.auxiliaryTracks){let a=s[r];t(a)&&(o=j(a)?a:o,i=J(a)?a:i)}return{video:i,audio:o}}function j(s){return s&&s.type==="audio"}function J(s){return s&&s.type==="video"}function vt(s){return s&&s.source==="screen"}function ee(s){return s&&s.source==="audioplaylist"}function W(s){return s&&s.source==="videoplaylist"}function qe(s){return Boolean(s==null?void 0:s.degraded)}function q(s,e){return e&&s.tracks[e]?s.tracks[e].enabled:!1}function $e(s,e){return e&&s.tracks[e]?s.tracks[e].displayEnabled:!1}var x=s=>s.room,v=s=>s.peers,le=s=>s.messages.byID,de=s=>s.messages.allIDs,T=s=>s.tracks,Se=s=>s.settings,Dt=s=>s.devices,Fe=s=>s.speakers,It=(0,S.createSelector)([x],s=>s&&s.isConnected),Et=(0,S.createSelector)(x,s=>s.peers.length),te=(0,S.createSelector)([x,v],(s,e)=>s.peers.map(t=>e[t])),bt=(0,S.createSelector)(T,s=>Object.values(s)),I=(0,S.createSelector)(x,v,(s,e)=>e[s.localPeer]),ue=(0,S.createSelector)(x,s=>s.localPeer),N=(0,S.createSelector)(I,s=>s==null?void 0:s.audioTrack),w=(0,S.createSelector)(I,s=>s==null?void 0:s.videoTrack),At=(0,S.createSelector)(I,s=>s==null?void 0:s.auxiliaryTracks),pe=(0,S.createSelector)([N,w,At],(s,e,t)=>{let i=[...t];return s&&i.unshift(s),e&&i.unshift(e),i}),Ct=(0,S.createSelector)(te,s=>s.filter(e=>!e.isLocal)),xt=(0,S.createSelector)(v,Fe,(s,e)=>{let t=Object.entries(e).sort((i,o)=>{var p,g;let r=((p=i[1])==null?void 0:p.audioLevel)||0;return(((g=o[1])==null?void 0:g.audioLevel)||0)>r?1:-1});if(t.length>0&&t[0][1].audioLevel&&t[0][1].audioLevel>0){let i=t[0][1].peerID;if(i in s)return s[i]}return null}),Lt=s=>{let e=I(s);return q(s,e==null?void 0:e.audioTrack)},se=s=>{let e=I(s);return q(s,e==null?void 0:e.videoTrack)},Me=s=>{let e=I(s);return $e(s,e==null?void 0:e.videoTrack)},ie=(0,S.createSelector)(I,T,(s,e)=>{let{video:t,audio:i}=U(e,s);return!!(t||i)}),Ge=(0,S.createSelector)(v,T,(s,e)=>{let t;for(let i in s){let o=s[i],{video:r,audio:a}=U(e,o);if(r)return o;a&&!t&&(t=o)}return t}),Ot=(0,S.createSelector)(Ge,s=>!!s),Nt=(0,S.createSelector)(v,T,(s,e)=>{for(let t in s){let i=s[t],{audio:o,video:r}=U(e,i);if(!r&&!!o)return i}}),wt=(0,S.createSelector)(v,T,(s,e)=>{let t=[],i=[];for(let o in s){let r=s[o],{video:a,audio:p}=U(e,r);a?t.push(r):p&&i.push(r)}return t.concat(i)}),Ut=(0,S.createSelector)(v,T,(s,e)=>{for(let t in e){let i=e[t];if(W(i)&&J(i)&&i.peerId)return s[i.peerId]}}),_t=(0,S.createSelector)(v,T,(s,e)=>{for(let t in e){let i=e[t];if(ee(i)&&i.peerId)return s[i.peerId]}}),Kt=(0,S.createSelector)(bt,s=>s.filter(qe)),me=(0,S.createSelector)(de,s=>s.length),Vt=(0,S.createSelector)(le,s=>Object.values(s).filter(e=>!e.read).length),Y=(0,S.createSelector)(de,le,(s,e)=>{let t=[];return s.forEach(i=>{t.push(e[i])}),t}),oe=(0,S.createSelector)([x],s=>s&&s.roomState),Bt=(0,S.createSelector)(oe,s=>s===H.Preview),he=(0,S.createSelector)(x,s=>s.roomState!==H.Disconnected),L=s=>s.roles,qt=(0,S.createSelector)([L],s=>Object.keys(s)),Q=(0,S.createSelector)([I,L],(s,e)=>(s==null?void 0:s.roleName)?e[s.roleName]:null),$t=(0,S.createSelector)([Q],s=>{var e;return((e=s==null?void 0:s.subscribeParams)==null?void 0:e.subscribeToRoles)?s.subscribeParams.subscribeToRoles.length>0:!1}),ge=(0,S.createSelector)(Q,s=>s==null?void 0:s.permissions),Ft=(0,S.createSelector)(x,s=>s.recording),Gt=(0,S.createSelector)(x,s=>s.rtmp);var Te=R(require("reselect"));var je=(s=d.audio)=>e=>e.playlist[s].list,ye=(s=d.audio)=>e=>e.playlist[s].selection,Je=(s=d.audio)=>e=>e.playlist[s].progress,We=(s=d.audio)=>e=>e.playlist[s].currentTime,Ye=(s=d.audio)=>e=>e.playlist[s].playbackRate,Qe=(s=d.audio)=>e=>e.playlist[s].volume,Xe=(s=d.audio)=>(0,Te.createSelector)(je(s),e=>Object.values(e)),ze=(s=d.audio)=>(0,Te.createSelector)(je(s),ye(s),(e,t)=>{if(!!t.id)return e[t.id]}),He={selection:ye(d.audio),progress:Je(d.audio),currentTime:We(d.audio),playbackRate:Ye(d.audio),volume:Qe(d.audio),list:Xe(d.audio),selectedItem:ze(d.audio)},fe={selection:ye(d.video),progress:Je(d.video),currentTime:We(d.video),playbackRate:Ye(d.video),volume:Qe(d.video),list:Xe(d.video),selectedItem:ze(d.video)};var y=R(require("reselect"));var X="HMS-Store:",u=class{static v(e,...t){this.log(n.HMSLogLevel.VERBOSE,e,...t)}static d(...e){this.log(n.HMSLogLevel.DEBUG,...e)}static i(...e){this.log(n.HMSLogLevel.INFO,...e)}static w(...e){this.log(n.HMSLogLevel.WARN,...e)}static e(...e){this.log(n.HMSLogLevel.ERROR,...e)}static time(e){this.log(n.HMSLogLevel.TIME,"[HMSPerformanceTiming]",e)}static timeEnd(e){this.log(n.HMSLogLevel.TIMEEND,"[HMSPerformanceTiming]",e,e)}static cleanUp(){performance.clearMarks(),performance.clearMeasures()}static log(e,...t){if(!(this.level.valueOf()>e.valueOf()))switch(e){case n.HMSLogLevel.VERBOSE:{console.log(X,...t);break}case n.HMSLogLevel.DEBUG:{console.debug(X,...t);break}case n.HMSLogLevel.INFO:{console.info(X,...t);break}case n.HMSLogLevel.WARN:{console.warn(X,...t);break}case n.HMSLogLevel.ERROR:{console.error(X,...t);break}case n.HMSLogLevel.TIME:{performance.mark(t[1]);break}case n.HMSLogLevel.TIMEEND:{let i=t[0],o=t[1];try{let r=performance.measure(o,o);this.log(n.HMSLogLevel.DEBUG,i,o,r==null?void 0:r.duration),performance.clearMarks(o),performance.clearMeasures(o)}catch(r){this.log(n.HMSLogLevel.DEBUG,i,o,r)}break}}}};u.level=n.HMSLogLevel.VERBOSE;function m(s){return e=>t=>s(t,e)}var ke=(s,e)=>e,jt=(s,e)=>e,Ze=(s,e)=>e,D=(0,y.createSelector)([v,ke],(s,e)=>e?s[e]:null),Pe=(0,y.createSelector)([T,jt],(s,e)=>e?s[e]:null),E=m(D),Jt=m((0,y.createSelector)(D,s=>s==null?void 0:s.name)),z=m(Pe),et=m((s,e)=>{let t=D(s,e);if(t&&t.videoTrack&&t.videoTrack!=="")return s.tracks[t.videoTrack]}),tt=m((s,e)=>{let t=D(s,e);if(t&&t.audioTrack&&t.audioTrack!=="")return s.tracks[t.audioTrack]}),Wt=et,Yt=m((s,e)=>{let t=D(s,e);return(t==null?void 0:t.auxiliaryTracks.map(i=>s.tracks[i]))||[]}),st=(s,e)=>e?s.speakers[e]:null,Qt=m((0,y.createSelector)(st,s=>(s==null?void 0:s.audioLevel)||0)),Xt=(s,e)=>{let t=tt(e)(s);return st(s,t==null?void 0:t.id)},zt=m((0,y.createSelector)(Xt,s=>(s==null?void 0:s.audioLevel)||0)),Zt=m((s,e)=>{let t=D(s,e);if(t){let i=t==null?void 0:t.auxiliaryTracks.find(o=>j(s.tracks[o]));return i?s.tracks[i]:void 0}}),es=m((0,y.createSelector)(T,D,(s,e)=>{let t=e==null?void 0:e.auxiliaryTracks.find(i=>{let o=s[i];return W(o)&&J(o)});return t?s[t]:void 0})),ts=m((0,y.createSelector)(T,D,(s,e)=>{let t=e==null?void 0:e.auxiliaryTracks.find(i=>{let o=s[i];return W(o)&&j(o)});return t?s[t]:void 0})),ss=m((0,y.createSelector)(T,D,(s,e)=>{let t=e==null?void 0:e.auxiliaryTracks.find(i=>{let o=s[i];return ee(o)&&j(o)});return t?s[t]:void 0})),Re=m((0,y.createSelector)(T,D,(s,e)=>U(s,e))),is=s=>(0,y.createSelector)(Re(s),e=>e.video),ve=s=>(0,y.createSelector)(Re(s),e=>e.audio),os=m((s,e)=>{let t=D(s,e);return q(s,t==null?void 0:t.audioTrack)}),rs=m((s,e)=>{let t=D(s,e);return q(s,t==null?void 0:t.videoTrack)}),De=m((s,e)=>{if(e&&s.tracks[e])return s.tracks[e].volume===0}),as=m((s,e)=>{let t=D(s,e);return De(t==null?void 0:t.audioTrack)(s)}),ns=m((s,e)=>{let t=ve(e)(s);return De(t==null?void 0:t.id)(s)}),Ie=m((s,e)=>{let t=Pe(s,e);if(t){if(t.type!=="audio"){u.w("Please pass audio track here");return}return t.volume}}),cs=m((s,e)=>{let t=D(s,e);return Ie(t==null?void 0:t.audioTrack)(s)}),ls=m((s,e)=>{let t=ve(e)(s);return Ie(t==null?void 0:t.id)(s)}),ds=m((s,e)=>{let t=Pe(s,e);if(t){if(t.type!=="video"){u.w("Please pass video track here");return}return t.layer}}),it=(0,y.createSelector)([Y,ue,ke],(s,e,t)=>{if(!!t)return s.filter(i=>{var o;return!i.recipientPeer&&!((o=i.recipientRoles)==null?void 0:o.length)||![e,t].includes(i.sender)?!1:[e,t].includes(i.recipientPeer)})}),ot=(0,y.createSelector)([Y,Ze],(s,e)=>{if(!!e)return s.filter(t=>{var i,o;return((i=t.recipientRoles)==null?void 0:i.length)?(o=t.recipientRoles)==null?void 0:o.includes(e):!1})}),rt=(0,y.createSelector)(Y,s=>s.filter(e=>{var t;return!e.recipientPeer&&!((t=e.recipientRoles)==null?void 0:t.length)})),Ss=(0,y.createSelector)([ot,Ze],s=>s?s.filter(e=>!e.read).length:0),us=(0,y.createSelector)([it,ke],s=>s?s.filter(e=>!e.read).length:0),ps=(0,y.createSelector)(rt,s=>s.filter(e=>!e.read).length),Ms=m(it),ms=m(ot),hs=m(Ss),gs=m(us),Ts=s=>(0,y.createSelector)([te],e=>e.filter(t=>t.roleName===s)),ys=s=>(0,y.createSelector)(E(s),e=>{try{return(e==null?void 0:e.metadata)&&e.metadata!==""?JSON.parse(e.metadata):{}}catch(t){return console.error("cannot parse peer metadata",t),{}}});var re=R(require("reselect")),Hs=(0,re.createSelector)([v,T],(s,e)=>Object.values(s).map(i=>{var o;return{peer:i,isAudioEnabled:i.audioTrack?(o=e[i.audioTrack])==null?void 0:o.enabled:!1}})),fs=s=>s.roleChangeRequests[0]||null,ks=(0,re.createSelector)([fs,v,L],(s,e,t)=>s?{requestedBy:e[s.requestedBy],role:t[s.roleName],token:s.token}:null),Ps=(0,re.createSelector)([Q],s=>{var o;let e=!1,t=!1,i=!1;return((o=s==null?void 0:s.publishParams)==null?void 0:o.allowed)&&(e=s.publishParams.allowed.includes("video"),t=s.publishParams.allowed.includes("audio"),i=s.publishParams.allowed.includes("screen")),{video:e,audio:t,screen:i}});var $=R(require("reselect"));var Rs=s=>(0,$.createSelector)([L],e=>e[s]),vs=(0,$.createSelector)([w,T],(s,e)=>{let t=null;return s&&(t=e[s]),(t==null?void 0:t.plugins)||[]}),Ds=(0,$.createSelector)([N,T],(s,e)=>{let t=null;return s&&(t=e[s]),(t==null?void 0:t.plugins)||[]}),Is=s=>(0,$.createSelector)([vs],e=>e.includes(s)),Es=s=>(0,$.createSelector)([Ds],e=>e.includes(s));var Z=R(require("@100mslive/hms-video"));var ae=R(require("@100mslive/hms-video"));function at(s){return s instanceof ae.HMSRemoteAudioTrack||s instanceof ae.HMSRemoteVideoTrack}var ne=class{constructor(e,t,i,o){this.playlistManager=e;this.syncPlaylistState=i;this.store=o;this.type=t}play(e){return c(this,null,function*(){if(!e){u.w("Please pass id to play");return}yield this.playlistManager.setEnabled(!0,{id:e,type:this.type})})}pause(){return c(this,null,function*(){let e=this.type===d.audio?He:fe,t=this.store.getState(e.selection);if(!t.id){u.w("No item is currently playing to pause");return}yield this.playlistManager.setEnabled(!1,{id:t.id,type:this.type})})}playNext(){return c(this,null,function*(){yield this.playlistManager.playNext(this.type)})}playPrevious(){return c(this,null,function*(){yield this.playlistManager.playPrevious(this.type)})}seek(e){this.playlistManager.seek(e,this.type),this.syncPlaylistState(`seekOn${this.type}Playlist`)}seekTo(e){this.playlistManager.seekTo(e,this.type),this.syncPlaylistState(`seekToOn${this.type}Playlist`)}setVolume(e){this.playlistManager.setVolume(e,this.type),this.syncPlaylistState(`setVolumeOn${this.type}Playlist`)}setList(e){this.playlistManager.setList(e),this.syncPlaylistState(`setListOn${this.type}Playlist`)}stop(){return c(this,null,function*(){yield this.playlistManager.stop(this.type),this.syncPlaylistState(`stop${this.type}Playlist`)})}setIsAutoplayOn(e){this.playlistManager.setIsAutoplayOn(this.type,e)}setPlaybackRate(e){this.playlistManager.setPlaybackRate(this.type,e),this.syncPlaylistState(`set${this.type}PlaybackRate`)}};var nt={[n.HMSPeerUpdate.PEER_JOINED]:M.PEER_JOINED,[n.HMSPeerUpdate.PEER_LEFT]:M.PEER_LEFT,[n.HMSPeerUpdate.ROLE_UPDATED]:M.ROLE_UPDATED,[n.HMSPeerUpdate.AUDIO_TOGGLED]:"PEER_AUDIO_UPDATED",[n.HMSPeerUpdate.VIDEO_TOGGLED]:"PEER_VIDEO_UPDATED",[n.HMSPeerUpdate.NAME_UPDATED]:M.NAME_UPDATED,[n.HMSPeerUpdate.METADATA_UPDATED]:M.METADATA_UPDATED},ct={[n.HMSTrackUpdate.TRACK_ADDED]:M.TRACK_ADDED,[n.HMSTrackUpdate.TRACK_REMOVED]:M.TRACK_REMOVED,[n.HMSTrackUpdate.TRACK_MUTED]:M.TRACK_MUTED,[n.HMSTrackUpdate.TRACK_UNMUTED]:M.TRACK_UNMUTED,[n.HMSTrackUpdate.TRACK_DEGRADED]:M.TRACK_DEGRADED,[n.HMSTrackUpdate.TRACK_RESTORED]:M.TRACK_RESTORED},lt={[n.HMSPeerUpdate.PEER_JOINED]:"peerJoined",[n.HMSPeerUpdate.PEER_LEFT]:"peerLeft",[n.HMSPeerUpdate.NAME_UPDATED]:"peerNameUpdated",[n.HMSPeerUpdate.METADATA_UPDATED]:"peerMetadataUpdated"};var Ee=class{constructor(e,t,i){this.hmsSDKTracks={};this.hmsSDKPeers={};this.isRoomJoinCalled=!1;this.setProgress=({type:e,progress:t})=>{this.setState(i=>{i.playlist[e].progress=t,i.playlist[e].currentTime=this.sdk.getPlaylistManager().getCurrentTime(e)},"playlistProgress")};this.syncPlaylistState=e=>{this.setState(t=>{Object.assign(t.playlist,h.convertPlaylist(this.sdk.getPlaylistManager()))},e)};this.sendPeerUpdateNotification=(e,t)=>{let i=this.store.getState(E(t.peerId)),o="peerUpdate";o=lt[e],this.syncRoomState(o),i||(i=this.store.getState(E(t.peerId))),this.hmsNotifications.sendPeerUpdate(e,i)};this.setState=(e,t)=>this.store.namedSetState(e,t);this.store=e,this.sdk=t,this.hmsNotifications=i}unblockAudio(){return c(this,null,function*(){yield this.sdk.getAudioOutput().unblockAutoplay()})}setVolume(e,t){t?this.setTrackVolume(e,t):(this.sdk.getAudioOutput().setVolume(e),this.syncRoomState("setOutputVolume"))}setAudioOutputDevice(e){this.sdk.getAudioOutput().setDevice(e)&&this.setState(i=>{i.settings.audioOutputDeviceId=e},"setAudioOutputDevice")}setPreferredLayer(e,t){let i=this.hmsSDKTracks[e];i?i instanceof Z.HMSRemoteVideoTrack?(i.preferLayer(t),this.updateVideoLayer(e,"setPreferredLayer")):u.w(`track ${e} is not an video track`):this.logPossibleInconsistency(`track ${e} not present, unable to set preffer layer`)}preview(e){return c(this,null,function*(){if(this.isRoomJoinCalled){this.logPossibleInconsistency("attempting to call preview after join was called");return}let t=this.store.getState(oe);if(t===H.Preview||t===H.Connecting){this.logPossibleInconsistency("attempting to call preview while room is in preview/connecting");return}try{this.setState(i=>{i.room.roomState=H.Connecting},"connecting"),yield this.sdkPreviewWithListeners(e)}catch(i){throw u.e("Cannot show preview. Failed to connect to room - ",i),i}})}join(e){if(this.isRoomJoinCalled){this.logPossibleInconsistency("room join is called again");return}try{this.sdkJoinWithListeners(e),this.isRoomJoinCalled=!0,this.setState(t=>{t.room.roomState=H.Connecting},"join")}catch(t){throw this.isRoomJoinCalled=!1,u.e("Failed to connect to room - ",t),t}}leave(){return c(this,null,function*(){if(!this.store.getState(he)){this.logPossibleInconsistency("room leave is called when no room is connected");return}return this.sdk.leave().then(()=>{this.resetState("leave"),u.i("left room")}).catch(t=>{u.e("error in leaving room - ",t)})})}setScreenShareEnabled(e,t){return c(this,null,function*(){e?yield this.startScreenShare(t):yield this.stopScreenShare()})}addTrack(e,t="regular"){return c(this,null,function*(){yield this.sdk.addTrack(e,t),this.syncRoomState("addTrack")})}removeTrack(e){return c(this,null,function*(){yield this.sdk.removeTrack(e),this.syncRoomState("removeTrack")})}setLocalAudioEnabled(e){return c(this,null,function*(){let t=this.store.getState(N);t&&(yield this.setEnabledTrack(t,e))})}setLocalVideoEnabled(e){return c(this,null,function*(){let t=this.store.getState(w);t&&(yield this.setEnabledTrack(t,e))})}setEnabledTrack(e,t){return c(this,null,function*(){var r;if(((r=this.store.getState().tracks[e])==null?void 0:r.enabled)===t){this.logPossibleInconsistency(`local track[${e}] enabled state - ${t}`);return}this.setState(a=>{a.tracks[e]?a.tracks[e].displayEnabled=t:this.logPossibleInconsistency("track id not found for setEnabled")},"displayEnabled");try{yield this.setEnabledSDKTrack(e,t),this.syncRoomState("setEnabled")}catch(a){throw this.setState(p=>{p.tracks[e].displayEnabled=!t},"rollbackDisplayEnabled"),this.hmsNotifications.sendError(h.convertException(a)),a}let o=t?n.HMSTrackUpdate.TRACK_UNMUTED:n.HMSTrackUpdate.TRACK_MUTED;this.hmsNotifications.sendTrackUpdate(o,e)})}setAudioSettings(e){return c(this,null,function*(){let t=this.store.getState(N);t&&(yield this.setSDKLocalAudioTrackSettings(t,e),this.syncRoomState("setAudioSettings"))})}setVideoSettings(e){return c(this,null,function*(){let t=this.store.getState(w);t&&(yield this.setSDKLocalVideoTrackSettings(t,e),this.syncRoomState("setVideoSettings"))})}sendMessage(e){this.sendBroadcastMessage(e)}sendBroadcastMessage(e,t){return c(this,null,function*(){let i=yield this.sdk.sendBroadcastMessage(e,t);this.updateMessageInStore(i,{message:e,type:t})})}sendGroupMessage(e,t,i){return c(this,null,function*(){let o=this.store.getState(L),r=t.map(p=>o[p]),a=yield this.sdk.sendGroupMessage(e,r,i);this.updateMessageInStore(a,{message:e,recipientRoles:t,type:i})})}sendDirectMessage(e,t,i){return c(this,null,function*(){let o=this.hmsSDKPeers[t],r=yield this.sdk.sendDirectMessage(e,o);this.updateMessageInStore(r,{message:e,recipientPeer:o.peerId,type:i})})}updateMessageInStore(e,t){if(!e)throw u.w("sendMessage","Failed to send message",t),Error(`sendMessage Failed - ${JSON.stringify(t)}`);let i=h.convertMessage(e);return i.read=!0,i.senderName="You",this.onHMSMessage(i),i}setMessageRead(e,t){this.setState(i=>{t?i.messages.byID[t]?i.messages.byID[t].read=e:this.logPossibleInconsistency("no message with id is found"):i.messages.allIDs.forEach(o=>{i.messages.byID[o].read=e})},"setMessageRead")}attachVideo(e,t){return c(this,null,function*(){if(this.localAndVideoUnmuting(e))return new Promise(i=>{let o=this.store.subscribe(r=>c(this,null,function*(){r&&(yield this.attachVideoInternal(e,t),o(),i())}),se)});yield this.attachVideoInternal(e,t)})}detachVideo(e,t){return c(this,null,function*(){let i=this.hmsSDKTracks[e];i&&i.type==="video"?(yield i.removeSink(t),this.updateVideoLayer(e,"detachVideo")):this.logPossibleInconsistency("no video track found to remove sink")})}addPluginToVideoTrack(e,t){return c(this,null,function*(){return this.addRemoveVideoPlugin(e,"add",t)})}addPluginToAudioTrack(e){return c(this,null,function*(){return this.addRemoveAudioPlugin(e,"add")})}removePluginFromVideoTrack(e){return c(this,null,function*(){return this.addRemoveVideoPlugin(e,"remove")})}removePluginFromAudioTrack(e){return c(this,null,function*(){return this.addRemoveAudioPlugin(e,"remove")})}changeRole(e,t,i=!1){return c(this,null,function*(){let o=this.hmsSDKPeers[e];if(!o){this.logPossibleInconsistency(`Unknown peer ID given ${e} for changerole`);return}yield this.sdk.changeRole(o,t,i)})}acceptChangeRole(e){return c(this,null,function*(){let t=e.requestedBy?this.hmsSDKPeers[e.requestedBy.id]:void 0;t||u.w(`peer for which role change is requested no longer available - ${e.requestedBy}`);let i={requestedBy:t,role:e.role,token:e.token};yield this.sdk.acceptChangeRole(i),this.removeRoleChangeRequest(e)})}rejectChangeRole(e){this.removeRoleChangeRequest(e)}endRoom(e,t){return c(this,null,function*(){let i=this.store.getState(ge);if(!(i==null?void 0:i.endRoom)){u.w("You are not allowed to perform this action - endRoom");return}yield this.sdk.endRoom(e,t)})}removePeer(e,t){return c(this,null,function*(){let i=this.hmsSDKPeers[e];if(i&&!i.isLocal)yield this.sdk.removePeer(i,t);else{this.logPossibleInconsistency(`No remote peer found for peerID - ${e}`);return}})}startRTMPOrRecording(e){return c(this,null,function*(){yield this.sdk.startRTMPOrRecording(e)})}stopRTMPAndRecording(){return c(this,null,function*(){yield this.sdk.stopRTMPAndRecording()})}changeName(e){return c(this,null,function*(){yield this.sdk.changeName(e)})}changeMetadata(e){return c(this,null,function*(){typeof e!="string"&&(e=JSON.stringify(e)),yield this.sdk.changeMetadata(e)})}setRemoteTrackEnabled(e,t){return c(this,null,function*(){if(typeof e=="string"){let i=this.hmsSDKTracks[e];i&&at(i)?yield this.sdk.changeTrackState(i,t):this.logPossibleInconsistency(`No remote track with ID ${e} found for change track state`)}else Array.isArray(e)&&e.forEach(i=>this.setRemoteTrackEnabled(i,t))})}setRemoteTracksEnabled(e){return c(this,null,function*(){let t={enabled:e.enabled,type:e.type,source:e.source};if(e.roles){let i=this.store.getState(L);t.roles=e.roles.map(o=>i[o])}yield this.sdk.changeMultiTrackState(t)})}setLogLevel(e){u.level=e,this.sdk.setLogLevel(e)}resetState(e="resetState"){this.setState(t=>{Object.assign(t,G())},e),this.isRoomJoinCalled=!1,this.hmsSDKTracks={},u.cleanUp()}sdkJoinWithListeners(e){this.sdk.join(e,{onJoin:this.onJoin.bind(this),onRoomUpdate:this.onRoomUpdate.bind(this),onPeerUpdate:this.onPeerUpdate.bind(this),onTrackUpdate:this.onTrackUpdate.bind(this),onMessageReceived:this.onMessageReceived.bind(this),onError:this.onError.bind(this),onReconnected:this.onReconnected.bind(this),onReconnecting:this.onReconnecting.bind(this),onRoleChangeRequest:this.onRoleChangeRequest.bind(this),onRoleUpdate:this.onRoleUpdate.bind(this),onDeviceChange:this.onDeviceChange.bind(this),onChangeTrackStateRequest:this.onChangeTrackStateRequest.bind(this),onChangeMultiTrackStateRequest:this.onChangeMultiTrackStateRequest.bind(this),onRemovedFromRoom:this.onRemovedFromRoom.bind(this)}),this.sdk.addAudioListener({onAudioLevelUpdate:this.onAudioLevelUpdate.bind(this)})}onRemovedFromRoom(e){var i;let t=this.store.getState(E((i=e.requestedBy)==null?void 0:i.peerId));this.hmsNotifications.sendLeaveRoom(B(V({},e),{requestedBy:t||void 0})),u.i("resetting state after peer removed",e),this.resetState(e.roomEnded||!t?"roomEnded":"removedFromRoom")}onDeviceChange(e){let t=e.devices;if(!t)return;let i=this.store.getState(I);if(this.setState(o=>{A(o.devices.audioInput,t.audioInput)||(o.devices.audioInput=t.audioInput),A(o.devices.videoInput,t.videoInput)||(o.devices.videoInput=t.videoInput),A(o.devices.audioOutput,t.audioOutput)||(o.devices.audioOutput=t.audioOutput),this.hmsSDKPeers[i==null?void 0:i.id]&&Object.assign(o.settings,this.getMediaSettings(this.hmsSDKPeers[i==null?void 0:i.id]))},"deviceChange"),e.selection){let o=h.convertDeviceChangeUpdate(e);this.hmsNotifications.sendDeviceChange(o)}}sdkPreviewWithListeners(e){return c(this,null,function*(){yield this.sdk.preview(e,{onPreview:this.onPreview.bind(this),onError:this.onError.bind(this),onDeviceChange:this.onDeviceChange.bind(this)}),this.sdk.addAudioListener({onAudioLevelUpdate:this.onAudioLevelUpdate.bind(this)})})}startScreenShare(e){return c(this,null,function*(){this.store.getState(ie)?this.logPossibleInconsistency("start screenshare is called while it's on"):(yield this.sdk.startScreenShare(()=>this.syncRoomState("screenshareStopped"),e),this.syncRoomState("startScreenShare"))})}stopScreenShare(){return c(this,null,function*(){this.store.getState(ie)?(yield this.sdk.stopScreenShare(),this.syncRoomState("stopScreenShare")):this.logPossibleInconsistency("stop screenshare is called while it's not on")})}attachVideoInternal(e,t){return c(this,null,function*(){let i=this.hmsSDKTracks[e];i&&i.type==="video"?(yield i.addSink(t),this.updateVideoLayer(e,"attachVideo")):this.logPossibleInconsistency("no video track found to add sink")})}syncRoomState(e){u.time(`store-sync-${e}`);let t={},i=[],o={},r={},a={},p=this.sdk.getPeers();for(let k of p){let b=h.convertPeer(k);t[b.id]=b,i.push(b.id),this.hmsSDKPeers[b.id]=k;let _=[k.audioTrack,k.videoTrack,...k.auxiliaryTracks];for(let K of _){if(!K)continue;let Ce=h.convertTrack(K);o[Ce.id]=Ce,r[K.trackId]=K}b.isLocal&&Object.assign(a,this.getMediaSettings(k))}let g=this.sdk.getRecordingState(),P=this.sdk.getRTMPState();this.setState(k=>{k.room.peers=i;let b=k.peers,_=k.tracks;we(b,t),Ue(_,o),Object.assign(k.settings,a),this.hmsSDKTracks=r,Object.assign(k.roles,h.convertRoles(this.sdk.getRoles())),Object.assign(k.playlist,h.convertPlaylist(this.sdk.getPlaylistManager())),Object.assign(k.room,h.convertRecordingRTMPState(g,P))},e),u.timeEnd(`store-sync-${e}`)}onPreview(e){this.setState(t=>{Object.assign(t.room,h.convertRoom(e)),t.room.roomState=H.Preview},"previewStart"),this.syncRoomState("previewSync")}onJoin(e){let t=this.sdk.getPlaylistManager();this.audioPlaylist=new ne(t,d.audio,this.syncPlaylistState.bind(this),this.store),this.videoPlaylist=new ne(t,d.video,this.syncRoomState.bind(this),this.store),this.syncRoomState("joinSync"),this.setState(i=>{Object.assign(i.room,h.convertRoom(e)),i.room.isConnected=!0,i.room.roomState=H.Connected},"joined"),t.onProgress(this.setProgress),t.onNewTrackStart(i=>{this.syncPlaylistState(`${i.type}PlaylistUpdate`)}),t.onPlaylistEnded(i=>{this.syncPlaylistState(`${i}PlaylistEnded`)}),t.onCurrentTrackEnded(i=>{this.hmsNotifications.sendPlaylistTrackEnded(h.convertPlaylistItem(t,i)),this.syncPlaylistState(`${i.type}PlaylistItemEnded`)})}onRoomUpdate(e,t){this.setState(i=>{Object.assign(i.room,h.convertRoom(t))},"RoomUpdate")}onPeerUpdate(e,t){if(![n.HMSPeerUpdate.BECAME_DOMINANT_SPEAKER,n.HMSPeerUpdate.RESIGNED_DOMINANT_SPEAKER].includes(e)){if(Array.isArray(t)){this.syncRoomState("peersJoined");let i=[];for(let o of t){let r=this.store.getState(E(o.peerId));r&&i.push(r)}this.hmsNotifications.sendPeerList(i);return}this.sendPeerUpdateNotification(e,t)}}onTrackUpdate(e,t,i){if(e===n.HMSTrackUpdate.TRACK_REMOVED)this.hmsNotifications.sendTrackUpdate(e,t.trackId),this.handleTrackRemove(t,i);else{let o=e===n.HMSTrackUpdate.TRACK_ADDED?"trackAdded":"trackUpdate";this.syncRoomState(o),this.hmsNotifications.sendTrackUpdate(e,t.trackId)}}onMessageReceived(e){let t=h.convertMessage(e);t.read=!1,this.onHMSMessage(t),this.hmsNotifications.sendMessageReceived(t)}onHMSMessage(e){this.setState(t=>{e.id=String(this.store.getState(me)+1),t.messages.byID[e.id]=e,t.messages.allIDs.push(e.id)},"newMessage")}onAudioLevelUpdate(e){this.setState(t=>{let i={};e.forEach(r=>{if(!r.track||!r.peer)return;let a=r.track.trackId;i[a]=r.audioLevel,t.speakers[a]||(t.speakers[a]={audioLevel:r.audioLevel,peerID:r.peer.peerId,trackID:a})});let o=Object.entries(t.speakers);for(let[r,a]of o)a.audioLevel=i[r]||0,a.audioLevel===0&&delete t.speakers[r]},"audioLevel")}onChangeTrackStateRequest(e){let t=this.store.getState(E(e.requestedBy.peerId)),i=this.getStoreLocalTrackIDfromSDKTrack(e.track),o=this.store.getState(z(i));if(!t)return this.logPossibleInconsistency(`Not found peer who requested track state change, ${e.requestedBy}`);if(!o)return this.logPossibleInconsistency(`Not found track for which track state change was requested, ${e.track}`);e.enabled||this.syncRoomState("changeTrackStateRequest"),this.hmsNotifications.sendChangeTrackStateRequest({requestedBy:t,track:o,enabled:e.enabled})}onChangeMultiTrackStateRequest(e){let t=this.store.getState(E(e.requestedBy.peerId));if(!t)return this.logPossibleInconsistency(`Not found peer who requested track state change, ${e.requestedBy}`);e.enabled||this.syncRoomState("changeMultiTrackStateRequest");let i=[],o=this.store.getState(T);for(let r of e.tracks){let a=this.getStoreLocalTrackIDfromSDKTrack(r);a&&o[a]&&i.push(o[a])}this.hmsNotifications.sendChangeMultiTrackStateRequest({requestedBy:t,tracks:i,enabled:e.enabled,type:e.type,source:e.source})}onReconnected(){this.syncRoomState("reconnectedSync"),this.hmsNotifications.sendReconnected(),this.setState(e=>{e.room.roomState=H.Connected},"reconnected")}onReconnecting(e){let t=h.convertException(e);u.e("Reconnection: received error from sdk",t),this.hmsNotifications.sendReconnecting(t),this.setState(i=>{i.room.roomState=H.Reconnecting,i.errors.push(t)},"reconnecting")}onError(e){let t=h.convertException(e);t.isTerminal?(this.leave().then(()=>u.e("error from SDK, left room.")),this.setState(i=>{i.room.roomState=H.Failed,i.errors.push(t)},"errorTerminal")):this.store.getState().errors.length<50&&this.setState(o=>{o.errors.push(t)},"error"),this.hmsNotifications.sendError(t),u.e("received error from sdk",t)}updateVideoLayer(e,t){let i=this.hmsSDKTracks[e];i&&i instanceof Z.HMSRemoteVideoTrack&&this.setState(o=>{o.tracks[e].layer=i.getSimulcastLayer()},t)}handleTrackRemove(e,t){this.setState(i=>{let o=i.peers[t.peerId],r=i.tracks,a=e.trackId;if(this.isSameStoreSDKTrack(a,o==null?void 0:o.audioTrack))o==null||delete o.audioTrack;else if(this.isSameStoreSDKTrack(a,o==null?void 0:o.videoTrack))o==null||delete o.videoTrack;else{let p=o==null?void 0:o.auxiliaryTracks.indexOf(a);p>-1&&this.isSameStoreSDKTrack(a,o==null?void 0:o.auxiliaryTracks[p])&&(o==null||o.auxiliaryTracks.splice(p,1))}delete r[a],delete this.hmsSDKTracks[a]},"trackRemoved")}setEnabledSDKTrack(e,t){return c(this,null,function*(){let i=this.hmsSDKTracks[e];i?yield i.setEnabled(t):this.logPossibleInconsistency(`track ${e} not present, unable to enabled/disable`)})}setSDKLocalVideoTrackSettings(e,t){return c(this,null,function*(){let i=this.hmsSDKTracks[e];i?yield i.setSettings(t):this.logPossibleInconsistency(`local track ${e} not present, unable to set settings`)})}setSDKLocalAudioTrackSettings(e,t){return c(this,null,function*(){let i=this.hmsSDKTracks[e];i?yield i.setSettings(t):this.logPossibleInconsistency(`local track ${e} not present, unable to set settings`)})}getMediaSettings(e){var r;let t=this.store.getState(Se),i=e.audioTrack,o=e.videoTrack;return{audioInputDeviceId:(i==null?void 0:i.settings.deviceId)||t.audioInputDeviceId,videoInputDeviceId:(o==null?void 0:o.settings.deviceId)||t.videoInputDeviceId,audioOutputDeviceId:(r=this.sdk.getAudioOutput().getDevice())==null?void 0:r.deviceId}}setTrackVolume(e,t){let i=this.hmsSDKTracks[t];i?i instanceof Z.HMSAudioTrack?(i.setVolume(e),this.setState(o=>{let r=o.tracks[t];r&&(r.volume=e)},"trackVolume")):u.w(`track ${t} is not an audio track`):this.logPossibleInconsistency(`track ${t} not present, unable to set volume`)}localAndVideoUnmuting(e){if(this.store.getState(I).videoTrack!==e)return!1;let i=this.store.getState(Me),o=this.store.getState(se);return i&&!o}logPossibleInconsistency(e){u.w("possible inconsistency detected - ",e)}addRemoveVideoPlugin(e,t,i){return c(this,null,function*(){if(!e){u.w("Invalid plugin received in store");return}let o=this.store.getState(w);if(o){let r=this.hmsSDKTracks[o];r?(t==="add"?yield r.addPlugin(e,i):t==="remove"&&(yield r.removePlugin(e)),this.syncRoomState(`${t}VideoPlugin`)):this.logPossibleInconsistency(`track ${o} not present, unable to remove plugin`)}})}addRemoveAudioPlugin(e,t){return c(this,null,function*(){if(!e){u.w("Invalid plugin received in store");return}let i=this.store.getState(N);if(i){let o=this.hmsSDKTracks[i];o?(t==="add"?yield o.addPlugin(e):t==="remove"&&(yield o.removePlugin(e)),this.syncRoomState(`${t}AudioPlugin`)):this.logPossibleInconsistency(`track ${i} not present, unable to remove plugin`)}})}isSameStoreSDKTrack(e,t){var i;return t?((i=this.hmsSDKTracks[t])==null?void 0:i.trackId)===e:!1}onRoleChangeRequest(e){this.setState(t=>{t.roleChangeRequests.length===0&&t.roleChangeRequests.push(h.convertRoleChangeRequest(e))},"roleChangeRequest")}removeRoleChangeRequest(e){this.setState(t=>{let i=t.roleChangeRequests.findIndex(o=>o.token===e.token);i!==-1&&t.roleChangeRequests.splice(i,1)},"removeRoleChangeRequest")}onRoleUpdate(){this.syncRoomState("roleUpdate")}getStoreLocalTrackIDfromSDKTrack(e){return this.store.getState(pe).find(i=>this.hmsSDKTracks[i].trackId===e.trackId)}};var dt=R(require("eventemitter2"));var be="hmsNotification",Ae=class{constructor(e){this.id=0;this.onNotification=e=>(this.eventEmitter.addListener(be,e),()=>{this.eventEmitter.removeListener(be,e)});this.store=e,this.eventEmitter=new dt.EventEmitter2}sendPlaylistTrackEnded(e){let t=this.createNotification(M.PLAYLIST_TRACK_ENDED,e,f.INFO);this.emitEvent(t)}sendDeviceChange(e){var i;let t=this.createNotification(M.DEVICE_CHANGE_UPDATE,e,e.error?f.ERROR:f.INFO,`Selected ${e.type} device - ${(i=e.selection)==null?void 0:i.label}`);this.emitEvent(t)}sendLeaveRoom(e){var o;let t=(o=e.requestedBy)==null?void 0:o.name,i=this.createNotification(e.roomEnded||!t?M.ROOM_ENDED:M.REMOVED_FROM_ROOM,e,f.INFO,`${e.roomEnded?"Room ended":"Removed from room"} ${t?`by ${t}`:""}`);this.emitEvent(i)}sendPeerList(e){let t=this.createNotification(M.PEER_LIST,e,f.INFO);this.emitEvent(t)}sendPeerUpdate(e,t){let i=this.store.getState(E(t==null?void 0:t.id))||t,o=nt[e];if(o){let r=this.createNotification(o,i,f.INFO);this.emitEvent(r)}}sendTrackUpdate(e,t){let i=this.store.getState(z(t)),o=ct[e];if(o){let r=this.createNotification(o,i,f.INFO);this.emitEvent(r)}}sendMessageReceived(e){let t=this.createNotification(M.NEW_MESSAGE,e,f.INFO);this.emitEvent(t)}sendError(e){let t=this.createNotification(M.ERROR,e,f.ERROR);this.emitEvent(t)}sendReconnecting(e){let t=this.createNotification(M.RECONNECTING,e,f.ERROR);this.emitEvent(t)}sendReconnected(){let e=this.createNotification(M.RECONNECTED,null,f.INFO);this.emitEvent(e)}sendChangeTrackStateRequest(e){let t=this.createNotification(M.CHANGE_TRACK_STATE_REQUEST,e,f.INFO);this.emitEvent(t)}sendChangeMultiTrackStateRequest(e){let t=this.createNotification(M.CHANGE_MULTI_TRACK_STATE_REQUEST,e,f.INFO);this.emitEvent(t)}emitEvent(e){this.eventEmitter.emit(be,e)}createNotification(e,t,i,o=""){return this.id++,{id:this.id,type:e,message:o,data:t,severity:i}}};var O=class{constructor(e,t,i){e?this.store=e:this.store=O.createNewHMSStore(),i?this.notifications=i:this.notifications=new Ae(this.store),t?this.actions=t:this.actions=new Ee(this.store,new Mt.HMSSdk,this.notifications),this.initialTriggerOnSubscribe=!1}triggerOnSubscribe(){this.initialTriggerOnSubscribe||(O.makeStoreTriggerOnSubscribe(this.store),this.initialTriggerOnSubscribe=!0)}getStore(){return this.store}getHMSActions(){return this.actions}getNotifications(){return{onNotification:this.notifications.onNotification}}static createNewHMSStore(){let e=(0,ut.default)(()=>G()),t=e.setState;e.setState=r=>{let a=typeof r=="function"?(0,St.default)(r):r;t(a)};let i=e.getState;e.getState=r=>{if(r){let a=r.name||"byIDSelector";window.selectorsCount||(window.selectorsCount={}),window.selectorsCount[a]=(window.selectorsCount[a]||0)+1;let p=performance.now(),g=r(i()),P=performance.now()-p;return P>1&&(window.expensiveSelectors=window.expensiveSelectors||new Map,window.expensiveSelectors.set(a,P)),g}return i()},O.useShallowCheckInSubscribe(e);let o=O.setUpDevtools(e,"HMSStore");return B(V({},e),{namedSetState:o})}static makeStoreTriggerOnSubscribe(e){let t=e.subscribe;e.subscribe=(i,o,r)=>(i(e.getState(o),void 0),t(i,o,r))}static useShallowCheckInSubscribe(e){let t=e.subscribe;e.subscribe=(i,o,r)=>(o||(o=a=>a),r=r||pt.default,t(i,o,r))}static setUpDevtools(e,t){let i;try{i=window.__REDUX_DEVTOOLS_EXTENSION__||window.top.__REDUX_DEVTOOLS_EXTENSION__}catch(a){}if(!i)return a=>{e.setState(a)};let o=i.connect(O.devtoolsOptions(t));o.prefix=t?`${t} > `:"";let r=e.setState;return e.setState=a=>{r(a),o.send(`${o.prefix}setState`,e.getState())},o.subscribe(O.devtoolsSubscribe(o,e,r)),o.send("setUpStore",e.getState()),(a,p)=>{r(a);let g=p||`${o.prefix}action`;o.send(g,e.getState())}}static devtoolsOptions(e){return{name:e,actionsBlacklist:["audioLevel","playlistProgress"]}}static devtoolsSubscribe(e,t,i){return o=>{var r,a,p,g;if(o.type==="DISPATCH"&&o.state)["JUMP_TO_ACTION","JUMP_TO_STATE"].includes(o.payload.type)?i(JSON.parse(o.state)):t.setState(JSON.parse(o.state));else if(o.type==="DISPATCH"&&((r=o.payload)==null?void 0:r.type)==="COMMIT")e.init(t.getState());else if(o.type==="DISPATCH"&&((a=o.payload)==null?void 0:a.type)==="IMPORT_STATE"){let P=(p=o.payload.nextLiftedState)==null?void 0:p.actionsById;(((g=o.payload.nextLiftedState)==null?void 0:g.computedStates)||[]).forEach(({state:b},_)=>{let K=P[_]||`${e.prefix}setState`;_===0?e.init(b):(i(b),e.send(K,t.getState()))})}}}};
|
|
1
|
+
var ht=Object.create;var $=Object.defineProperty,gt=Object.defineProperties,Tt=Object.getOwnPropertyDescriptor,yt=Object.getOwnPropertyDescriptors,Ht=Object.getOwnPropertyNames,xe=Object.getOwnPropertySymbols,ft=Object.getPrototypeOf,Oe=Object.prototype.hasOwnProperty,kt=Object.prototype.propertyIsEnumerable;var we=(s,e,t)=>e in s?$(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,_=(s,e)=>{for(var t in e||(e={}))Oe.call(e,t)&&we(s,t,e[t]);if(xe)for(var t of xe(e))kt.call(e,t)&&we(s,t,e[t]);return s},K=(s,e)=>gt(s,yt(e)),Ne=s=>$(s,"__esModule",{value:!0});var Pt=(s,e)=>{Ne(s);for(var t in e)$(s,t,{get:e[t],enumerable:!0})},Rt=(s,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ht(e))!Oe.call(s,i)&&i!=="default"&&$(s,i,{get:()=>e[i],enumerable:!(t=Tt(e,i))||t.enumerable});return s},R=s=>Rt(Ne($(s!=null?ht(ft(s)):{},"default",s&&s.__esModule&&"default"in s?{get:()=>s.default,enumerable:!0}:{value:s,enumerable:!0})),s);var c=(s,e,t)=>new Promise((i,o)=>{var r=h=>{try{u(t.next(h))}catch(P){o(P)}},n=h=>{try{u(t.throw(h))}catch(P){o(P)}},u=h=>h.done?i(h.value):Promise.resolve(h.value).then(r,n);u((t=t.apply(s,e)).next())});Pt(exports,{HMSAudioPluginType:()=>a.HMSAudioPluginType,HMSLogLevel:()=>a.HMSLogLevel,HMSMessageType:()=>ce,HMSNotificationSeverity:()=>k,HMSNotificationTypes:()=>M,HMSPlaylistType:()=>S,HMSReactiveStore:()=>O,HMSRoomState:()=>H,HMSVideoPluginType:()=>a.HMSVideoPluginType,createDefaultStoreState:()=>F,selectAudioPlaylist:()=>He,selectAudioPlaylistTrackByPeerID:()=>ns,selectAudioTrackByPeerID:()=>st,selectAudioTrackVolume:()=>Ie,selectAudioVolumeByPeerID:()=>us,selectAuxiliaryAudioByPeerID:()=>is,selectAuxiliaryTracksByPeerID:()=>Zt,selectAvailableRoleNames:()=>$t,selectBroadcastMessages:()=>nt,selectBroadcastMessagesUnreadCount:()=>gs,selectCameraStreamByPeerID:()=>zt,selectDegradedTracks:()=>Vt,selectDevices:()=>It,selectDominantSpeaker:()=>xt,selectHLSState:()=>Jt,selectHMSMessages:()=>W,selectHMSMessagesCount:()=>me,selectIsAllowedToPublish:()=>Is,selectIsAllowedToSubscribe:()=>Ft,selectIsAudioLocallyMuted:()=>De,selectIsConnectedToRoom:()=>Et,selectIsInPreview:()=>qt,selectIsLocalAudioEnabled:()=>Ot,selectIsLocalAudioPluginPresent:()=>Ls,selectIsLocalScreenShared:()=>ie,selectIsLocalVideoDisplayEnabled:()=>Me,selectIsLocalVideoEnabled:()=>se,selectIsLocalVideoPluginPresent:()=>Cs,selectIsLocallyMutedByPeerID:()=>ds,selectIsPeerAudioEnabled:()=>cs,selectIsPeerVideoEnabled:()=>ls,selectIsScreenShareLocallyMutedByPeerID:()=>Ss,selectIsSomeoneScreenSharing:()=>wt,selectLocalAudioTrackID:()=>w,selectLocalMediaSettings:()=>Se,selectLocalPeer:()=>E,selectLocalPeerID:()=>ue,selectLocalPeerRole:()=>Y,selectLocalTrackIDs:()=>pe,selectLocalVideoTrackID:()=>N,selectMessageIDsInOrder:()=>de,selectMessagesByPeerID:()=>Ts,selectMessagesByRole:()=>ys,selectMessagesMap:()=>le,selectMessagesUnreadCountByPeerID:()=>fs,selectMessagesUnreadCountByRole:()=>Hs,selectPeerAudioByID:()=>ss,selectPeerByID:()=>b,selectPeerCount:()=>bt,selectPeerMetadata:()=>Ps,selectPeerNameByID:()=>Xt,selectPeerScreenSharing:()=>je,selectPeerSharingAudio:()=>Nt,selectPeerSharingAudioPlaylist:()=>Kt,selectPeerSharingVideoPlaylist:()=>_t,selectPeers:()=>te,selectPeersByRole:()=>ks,selectPeersMap:()=>v,selectPeersScreenSharing:()=>Ut,selectPeersWithAudioStatus:()=>Rs,selectPermissions:()=>ge,selectRTMPState:()=>jt,selectRecordingState:()=>Gt,selectRemotePeers:()=>Lt,selectRoleByRoleName:()=>Es,selectRoleChangeRequest:()=>Ds,selectRolesMap:()=>x,selectRoom:()=>I,selectRoomStartTime:()=>Yt,selectRoomStarted:()=>he,selectRoomState:()=>oe,selectScreenShareAudioByPeerID:()=>ve,selectScreenShareByPeerID:()=>as,selectScreenSharesByPeerId:()=>Re,selectScreenshareAudioVolumeByPeerID:()=>ps,selectSessionId:()=>Wt,selectSimulcastLayerByTrack:()=>Ms,selectSpeakers:()=>Ge,selectTrackAudioByID:()=>es,selectTrackByID:()=>X,selectTracksMap:()=>T,selectUnreadHMSMessagesCount:()=>Bt,selectVideoPlaylist:()=>fe,selectVideoPlaylistAudioTrackByPeerID:()=>rs,selectVideoPlaylistVideoTrackByPeerID:()=>os,selectVideoTrackByPeerID:()=>tt});var ut=R(require("immer")),pt=R(require("zustand/vanilla")),Mt=R(require("zustand/shallow")),mt=R(require("@100mslive/hms-video"));var H;(function(n){n.Disconnected="Disconnected",n.Preview="Preview",n.Connecting="Connecting",n.Connected="Connected",n.Reconnecting="Reconnecting",n.Failed="Failed"})(H||(H={}));var F=()=>({room:{id:"",isConnected:!1,name:"",peers:[],shareableLink:"",localPeer:"",hasWaitingRoom:!1,roomState:H.Disconnected,recording:{browser:{running:!1},server:{running:!1}},rtmp:{running:!1},hls:{running:!1,url:""},sessionId:""},peers:{},tracks:{},playlist:{audio:{list:{},selection:{id:"",hasPrevious:!1,hasNext:!1},progress:0,volume:0,currentTime:0,playbackRate:1},video:{list:{},selection:{id:"",hasPrevious:!1,hasNext:!1},progress:0,volume:0,currentTime:0,playbackRate:1}},messages:{byID:{},allIDs:[]},speakers:{},settings:{audioInputDeviceId:"",audioOutputDeviceId:"",videoInputDeviceId:""},devices:{audioInput:[],audioOutput:[],videoInput:[]},roles:{},roleChangeRequests:[],errors:[]});var ce;(function(e){e.CHAT="chat"})(ce||(ce={}));var k;(function(i){i.INFO="info",i.ERROR="error",i.CRITICAL="critical"})(k||(k={}));var M;(function(l){l.PEER_JOINED="PEER_JOINED",l.PEER_LEFT="PEER_LEFT",l.PEER_LIST="PEER_LIST",l.NEW_MESSAGE="NEW_MESSAGE",l.ERROR="ERROR",l.RECONNECTING="RECONNECTING",l.RECONNECTED="RECONNECTED",l.TRACK_ADDED="TRACK_ADDED",l.TRACK_REMOVED="TRACK_REMOVED",l.TRACK_MUTED="TRACK_MUTED",l.TRACK_UNMUTED="TRACK_UNMUTED",l.TRACK_DEGRADED="TRACK_DEGRADED",l.TRACK_RESTORED="TRACK_RESTORED",l.ROLE_CHANGE_REQUEST="ROLE_CHANGE_REQUEST",l.ROLE_UPDATED="ROLE_UPDATED",l.CHANGE_TRACK_STATE_REQUEST="CHANGE_TRACK_STATE_REQUEST",l.CHANGE_MULTI_TRACK_STATE_REQUEST="CHANGE_MULTI_TRACK_STATE_REQUEST",l.ROOM_ENDED="ROOM_ENDED",l.REMOVED_FROM_ROOM="REMOVED_FROM_ROOM",l.DEVICE_CHANGE_UPDATE="DEVICE_CHANGE_UPDATE",l.PLAYLIST_TRACK_ENDED="PLAYLIST_TRACK_ENDED",l.NAME_UPDATED="NAME_UPDATED",l.METADATA_UPDATED="METADATA_UPDATED"})(M||(M={}));var S;(function(t){t.audio="audio",t.video="video"})(S||(S={}));var a=R(require("@100mslive/hms-video"));var L=R(require("@100mslive/hms-video"));var Ue=(s,e)=>{let t=qe(Object.keys(s),Object.keys(e));for(let i of t){let o=s[i],r=e[i];Ke(o,r)?(C(o.auxiliaryTracks,r.auxiliaryTracks)&&(r.auxiliaryTracks=o.auxiliaryTracks),Object.assign(o,r)):Ve(o,r)?delete s[i]:Be(o,r)&&(s[i]=r)}},_e=(s,e)=>{let t=qe(Object.keys(s),Object.keys(e));for(let i of t){let o=s[i],r=e[i];Ke(o,r)?(vt(o,r),Object.assign(o,r)):Ve(o,r)?delete s[i]:Be(o,r)&&(s[i]=r)}},vt=(s,e)=>{s.plugins&&C(s.plugins,e.plugins)&&(e.plugins=s.plugins),s.layerDefinitions&&C(s.layerDefinitions,e.layerDefinitions)&&(e.layerDefinitions=s.layerDefinitions)},Ke=(s,e)=>s&&e,Ve=(s,e)=>s&&!e,Be=(s,e)=>!s&&e,C=(s,e)=>{if(s===e||s.length===0&&(e==null?void 0:e.length)===0)return!0;if(!s||!e||s.length!==e.length)return!1;for(let t=0;t<s.length;t++)if(s[t]!==e[t])return!1;return!0},qe=(s,e)=>{let t=new Set;for(let i of s)t.add(i);for(let i of e)t.add(i);return Array.from(t)};var g=class{static convertPeer(e){var t,i,o;return{id:e.peerId,name:e.name,roleName:(t=e.role)==null?void 0:t.name,isLocal:e.isLocal,videoTrack:(i=e.videoTrack)==null?void 0:i.trackId,audioTrack:(o=e.audioTrack)==null?void 0:o.trackId,auxiliaryTracks:e.auxiliaryTracks.map(r=>r.trackId),customerUserId:e.customerUserId,customerDescription:e.metadata,metadata:e.metadata}}static convertTrack(e,t){let i={id:e.trackId,source:e.source,type:e.type,enabled:e.enabled,displayEnabled:e.enabled,peerId:e.peerId||t};return this.enrichTrack(i,e),i}static enrichTrack(e,t){let i=t.getMediaTrackSettings();e.source==="screen"&&e.type==="video"&&(e.displaySurface=i.displaySurface),e.height=i.height,e.width=i.width,t instanceof L.HMSRemoteAudioTrack&&(e.volume=t.getVolume()||0),g.updateDeviceID(e,t),g.enrichVideoTrack(e,t),g.enrichPluginsDetails(e,t)}static updateDeviceID(e,t){var i;t instanceof L.HMSLocalVideoTrack||t instanceof L.HMSLocalAudioTrack?e.deviceID=t.settings.deviceId:e.deviceID=(i=t.getMediaTrackSettings())==null?void 0:i.deviceId}static enrichVideoTrack(e,t){t instanceof L.HMSRemoteVideoTrack&&(e.layer=t.getSimulcastLayer(),e.degraded=t.degraded,C(t.getSimulcastDefinitions(),e.layerDefinitions)||(e.layerDefinitions=t.getSimulcastDefinitions()))}static enrichPluginsDetails(e,t){(t instanceof L.HMSLocalVideoTrack||t instanceof L.HMSLocalAudioTrack)&&(C(t.getPlugins(),e.plugins)||(e.plugins=t.getPlugins()))}static convertRoom(e){var t,i,o,r,n,u,h;return{id:e.id,name:e.name,localPeer:(i=(t=e.localPeer)==null?void 0:t.peerId)!=null?i:"",hasWaitingRoom:e.hasWaitingRoom,shareableLink:e.shareableLink,recording:{browser:{running:!!((o=e.recording)==null?void 0:o.browser.running)},server:{running:!!((r=e.recording)==null?void 0:r.server.running)}},rtmp:{running:!!((n=e.rtmp)==null?void 0:n.running)},hls:{running:!!((u=e.hls)==null?void 0:u.running),url:((h=e.hls)==null?void 0:h.url)||""},sessionId:e.sessionId,startedAt:e.startedAt}}static convertMessage(e){var t,i,o;return{sender:e.sender.peerId,senderName:e.sender.name,senderRole:(t=e.sender.role)==null?void 0:t.name,senderUserId:e.sender.customerUserId,recipientPeer:(i=e.recipientPeer)==null?void 0:i.peerId,recipientRoles:(o=e.recipientRoles)==null?void 0:o.map(r=>r.name),time:e.time,type:e.type,message:e.message}}static convertRoles(e){let t={};return e&&e.forEach(i=>{t[i.name]=i}),t}static convertRoleChangeRequest(e){return{requestedBy:e.requestedBy.peerId,roleName:e.role.name,token:e.token}}static convertException(e){return{code:e.code,action:e.action,name:e.name,message:e.message,description:e.description,isTerminal:e.isTerminal,nativeError:e.nativeError,timestamp:new Date}}static convertDeviceChangeUpdate(e){let t={devices:e.devices,selection:e.selection,type:e.type};return e.error&&(t.error=this.convertException(e.error)),t}static convertPlaylist(e){let t=this.getConvertedPlaylistType(e,S.audio),i=this.getConvertedPlaylistType(e,S.video);return{audio:t,video:i}}static convertPlaylistItem(e,t){let i=t.type,o=e.getCurrentSelection(i),r=e.isPlaying(i),n=t.url===(o==null?void 0:o.url);return K(_({},t),{type:t.type,selected:n,playing:n&&r})}static getConvertedPlaylistType(e,t){let i={},o=e.getCurrentSelection(t),r=e.getCurrentProgress(t),n=e.getVolume(t),u=e.getList(t),h=e.getCurrentIndex(t);return e.getList(t).forEach(P=>{i[P.id]=g.convertPlaylistItem(e,P)}),{list:i,selection:{id:o==null?void 0:o.id,hasPrevious:h>0,hasNext:h<u.length-1},progress:r,volume:n,currentTime:e.getCurrentTime(t),playbackRate:e.getPlaybackRate(t)}}static convertRecordingRTMPState(e,t,i){var o,r;return{recording:{browser:{running:!!((o=e==null?void 0:e.browser)==null?void 0:o.running)},server:{running:!!((r=e==null?void 0:e.server)==null?void 0:r.running)}},rtmp:{running:!!(t==null?void 0:t.running)},hls:{url:(i==null?void 0:i.url)||"",running:!!(i==null?void 0:i.running)}}}};var d=R(require("reselect"));function U(s,e,t=Dt){let i,o;if(e)for(let r of e.auxiliaryTracks){let n=s[r];t(n)&&(o=G(n)?n:o,i=j(n)?n:i)}return{video:i,audio:o}}function G(s){return s&&s.type==="audio"}function j(s){return s&&s.type==="video"}function Dt(s){return s&&s.source==="screen"}function ee(s){return s&&s.source==="audioplaylist"}function J(s){return s&&s.source==="videoplaylist"}function $e(s){return Boolean(s==null?void 0:s.degraded)}function V(s,e){return e&&s.tracks[e]?s.tracks[e].enabled:!1}function Fe(s,e){return e&&s.tracks[e]?s.tracks[e].displayEnabled:!1}var I=s=>s.room,v=s=>s.peers,le=s=>s.messages.byID,de=s=>s.messages.allIDs,T=s=>s.tracks,Se=s=>s.settings,It=s=>s.devices,Ge=s=>s.speakers,Et=(0,d.createSelector)([I],s=>s&&s.isConnected),bt=(0,d.createSelector)(I,s=>s.peers.length),te=(0,d.createSelector)([I,v],(s,e)=>s.peers.map(t=>e[t])),At=(0,d.createSelector)(T,s=>Object.values(s)),E=(0,d.createSelector)(I,v,(s,e)=>e[s.localPeer]),ue=(0,d.createSelector)(I,s=>s.localPeer),w=(0,d.createSelector)(E,s=>s==null?void 0:s.audioTrack),N=(0,d.createSelector)(E,s=>s==null?void 0:s.videoTrack),Ct=(0,d.createSelector)(E,s=>s==null?void 0:s.auxiliaryTracks),pe=(0,d.createSelector)([w,N,Ct],(s,e,t)=>{let i=[...t];return s&&i.unshift(s),e&&i.unshift(e),i}),Lt=(0,d.createSelector)(te,s=>s.filter(e=>!e.isLocal)),xt=(0,d.createSelector)(v,Ge,(s,e)=>{let t=Object.entries(e).sort((i,o)=>{var u,h;let r=((u=i[1])==null?void 0:u.audioLevel)||0;return(((h=o[1])==null?void 0:h.audioLevel)||0)>r?1:-1});if(t.length>0&&t[0][1].audioLevel&&t[0][1].audioLevel>0){let i=t[0][1].peerID;if(i in s)return s[i]}return null}),Ot=s=>{let e=E(s);return V(s,e==null?void 0:e.audioTrack)},se=s=>{let e=E(s);return V(s,e==null?void 0:e.videoTrack)},Me=s=>{let e=E(s);return Fe(s,e==null?void 0:e.videoTrack)},ie=(0,d.createSelector)(E,T,(s,e)=>{let{video:t,audio:i}=U(e,s);return!!(t||i)}),je=(0,d.createSelector)(v,T,(s,e)=>{let t;for(let i in s){let o=s[i],{video:r,audio:n}=U(e,o);if(r)return o;n&&!t&&(t=o)}return t}),wt=(0,d.createSelector)(je,s=>!!s),Nt=(0,d.createSelector)(v,T,(s,e)=>{for(let t in s){let i=s[t],{audio:o,video:r}=U(e,i);if(!r&&!!o)return i}}),Ut=(0,d.createSelector)(v,T,(s,e)=>{let t=[],i=[];for(let o in s){let r=s[o],{video:n,audio:u}=U(e,r);n?t.push(r):u&&i.push(r)}return t.concat(i)}),_t=(0,d.createSelector)(v,T,(s,e)=>{for(let t in e){let i=e[t];if(J(i)&&j(i)&&i.peerId)return s[i.peerId]}}),Kt=(0,d.createSelector)(v,T,(s,e)=>{for(let t in e){let i=e[t];if(ee(i)&&i.peerId)return s[i.peerId]}}),Vt=(0,d.createSelector)(At,s=>s.filter($e)),me=(0,d.createSelector)(de,s=>s.length),Bt=(0,d.createSelector)(le,s=>Object.values(s).filter(e=>!e.read).length),W=(0,d.createSelector)(de,le,(s,e)=>{let t=[];return s.forEach(i=>{t.push(e[i])}),t}),oe=(0,d.createSelector)([I],s=>s&&s.roomState),qt=(0,d.createSelector)(oe,s=>s===H.Preview),he=(0,d.createSelector)(I,s=>s.roomState!==H.Disconnected),x=s=>s.roles,$t=(0,d.createSelector)([x],s=>Object.keys(s)),Y=(0,d.createSelector)([E,x],(s,e)=>(s==null?void 0:s.roleName)?e[s.roleName]:null),Ft=(0,d.createSelector)([Y],s=>{var e;return((e=s==null?void 0:s.subscribeParams)==null?void 0:e.subscribeToRoles)?s.subscribeParams.subscribeToRoles.length>0:!1}),ge=(0,d.createSelector)(Y,s=>s==null?void 0:s.permissions),Gt=(0,d.createSelector)(I,s=>s.recording),jt=(0,d.createSelector)(I,s=>s.rtmp),Jt=(0,d.createSelector)(I,s=>s.hls),Wt=(0,d.createSelector)(I,s=>s.sessionId),Yt=(0,d.createSelector)(I,s=>s.startedAt);var Te=R(require("reselect"));var Je=(s=S.audio)=>e=>e.playlist[s].list,ye=(s=S.audio)=>e=>e.playlist[s].selection,We=(s=S.audio)=>e=>e.playlist[s].progress,Ye=(s=S.audio)=>e=>e.playlist[s].currentTime,Qe=(s=S.audio)=>e=>e.playlist[s].playbackRate,Xe=(s=S.audio)=>e=>e.playlist[s].volume,ze=(s=S.audio)=>(0,Te.createSelector)(Je(s),e=>Object.values(e)),Ze=(s=S.audio)=>(0,Te.createSelector)(Je(s),ye(s),(e,t)=>{if(!!t.id)return e[t.id]}),He={selection:ye(S.audio),progress:We(S.audio),currentTime:Ye(S.audio),playbackRate:Qe(S.audio),volume:Xe(S.audio),list:ze(S.audio),selectedItem:Ze(S.audio)},fe={selection:ye(S.video),progress:We(S.video),currentTime:Ye(S.video),playbackRate:Qe(S.video),volume:Xe(S.video),list:ze(S.video),selectedItem:Ze(S.video)};var y=R(require("reselect"));var Q="HMS-Store:",p=class{static v(e,...t){this.log(a.HMSLogLevel.VERBOSE,e,...t)}static d(...e){this.log(a.HMSLogLevel.DEBUG,...e)}static i(...e){this.log(a.HMSLogLevel.INFO,...e)}static w(...e){this.log(a.HMSLogLevel.WARN,...e)}static e(...e){this.log(a.HMSLogLevel.ERROR,...e)}static time(e){this.log(a.HMSLogLevel.TIME,"[HMSPerformanceTiming]",e)}static timeEnd(e){this.log(a.HMSLogLevel.TIMEEND,"[HMSPerformanceTiming]",e,e)}static cleanUp(){performance.clearMarks(),performance.clearMeasures()}static log(e,...t){if(!(this.level.valueOf()>e.valueOf()))switch(e){case a.HMSLogLevel.VERBOSE:{console.log(Q,...t);break}case a.HMSLogLevel.DEBUG:{console.debug(Q,...t);break}case a.HMSLogLevel.INFO:{console.info(Q,...t);break}case a.HMSLogLevel.WARN:{console.warn(Q,...t);break}case a.HMSLogLevel.ERROR:{console.error(Q,...t);break}case a.HMSLogLevel.TIME:{performance.mark(t[1]);break}case a.HMSLogLevel.TIMEEND:{let i=t[0],o=t[1];try{let r=performance.measure(o,o);this.log(a.HMSLogLevel.DEBUG,i,o,r==null?void 0:r.duration),performance.clearMarks(o),performance.clearMeasures(o)}catch(r){this.log(a.HMSLogLevel.DEBUG,i,o,r)}break}}}};p.level=a.HMSLogLevel.VERBOSE;function m(s){return e=>t=>s(t,e)}var ke=(s,e)=>e,Qt=(s,e)=>e,et=(s,e)=>e,D=(0,y.createSelector)([v,ke],(s,e)=>e?s[e]:null),Pe=(0,y.createSelector)([T,Qt],(s,e)=>e?s[e]:null),b=m(D),Xt=m((0,y.createSelector)(D,s=>s==null?void 0:s.name)),X=m(Pe),tt=m((s,e)=>{let t=D(s,e);if(t&&t.videoTrack&&t.videoTrack!=="")return s.tracks[t.videoTrack]}),st=m((s,e)=>{let t=D(s,e);if(t&&t.audioTrack&&t.audioTrack!=="")return s.tracks[t.audioTrack]}),zt=tt,Zt=m((s,e)=>{let t=D(s,e);return(t==null?void 0:t.auxiliaryTracks.map(i=>s.tracks[i]))||[]}),it=(s,e)=>e?s.speakers[e]:null,es=m((0,y.createSelector)(it,s=>(s==null?void 0:s.audioLevel)||0)),ts=(s,e)=>{let t=st(e)(s);return it(s,t==null?void 0:t.id)},ss=m((0,y.createSelector)(ts,s=>(s==null?void 0:s.audioLevel)||0)),is=m((s,e)=>{let t=D(s,e);if(t){let i=t==null?void 0:t.auxiliaryTracks.find(o=>G(s.tracks[o]));return i?s.tracks[i]:void 0}}),os=m((0,y.createSelector)(T,D,(s,e)=>{let t=e==null?void 0:e.auxiliaryTracks.find(i=>{let o=s[i];return J(o)&&j(o)});return t?s[t]:void 0})),rs=m((0,y.createSelector)(T,D,(s,e)=>{let t=e==null?void 0:e.auxiliaryTracks.find(i=>{let o=s[i];return J(o)&&G(o)});return t?s[t]:void 0})),ns=m((0,y.createSelector)(T,D,(s,e)=>{let t=e==null?void 0:e.auxiliaryTracks.find(i=>{let o=s[i];return ee(o)&&G(o)});return t?s[t]:void 0})),Re=m((0,y.createSelector)(T,D,(s,e)=>U(s,e))),as=s=>(0,y.createSelector)(Re(s),e=>e.video),ve=s=>(0,y.createSelector)(Re(s),e=>e.audio),cs=m((s,e)=>{let t=D(s,e);return V(s,t==null?void 0:t.audioTrack)}),ls=m((s,e)=>{let t=D(s,e);return V(s,t==null?void 0:t.videoTrack)}),De=m((s,e)=>{if(e&&s.tracks[e])return s.tracks[e].volume===0}),ds=m((s,e)=>{let t=D(s,e);return De(t==null?void 0:t.audioTrack)(s)}),Ss=m((s,e)=>{let t=ve(e)(s);return De(t==null?void 0:t.id)(s)}),Ie=m((s,e)=>{let t=Pe(s,e);if(t){if(t.type!=="audio"){p.w("Please pass audio track here");return}return t.volume}}),us=m((s,e)=>{let t=D(s,e);return Ie(t==null?void 0:t.audioTrack)(s)}),ps=m((s,e)=>{let t=ve(e)(s);return Ie(t==null?void 0:t.id)(s)}),Ms=m((s,e)=>{let t=Pe(s,e);if(t){if(t.type!=="video"){p.w("Please pass video track here");return}return t.layer}}),ot=(0,y.createSelector)([W,ue,ke],(s,e,t)=>{if(!!t)return s.filter(i=>{var o;return!i.recipientPeer&&!((o=i.recipientRoles)==null?void 0:o.length)||![e,t].includes(i.sender)?!1:[e,t].includes(i.recipientPeer)})}),rt=(0,y.createSelector)([W,et],(s,e)=>{if(!!e)return s.filter(t=>{var i,o;return((i=t.recipientRoles)==null?void 0:i.length)?(o=t.recipientRoles)==null?void 0:o.includes(e):!1})}),nt=(0,y.createSelector)(W,s=>s.filter(e=>{var t;return!e.recipientPeer&&!((t=e.recipientRoles)==null?void 0:t.length)})),ms=(0,y.createSelector)([rt,et],s=>s?s.filter(e=>!e.read).length:0),hs=(0,y.createSelector)([ot,ke],s=>s?s.filter(e=>!e.read).length:0),gs=(0,y.createSelector)(nt,s=>s.filter(e=>!e.read).length),Ts=m(ot),ys=m(rt),Hs=m(ms),fs=m(hs),ks=s=>(0,y.createSelector)([te],e=>e.filter(t=>t.roleName===s)),Ps=s=>(0,y.createSelector)(b(s),e=>{try{return(e==null?void 0:e.metadata)&&e.metadata!==""?JSON.parse(e.metadata):{}}catch(t){return console.error("cannot parse peer metadata",t),{}}});var re=R(require("reselect")),Rs=(0,re.createSelector)([v,T],(s,e)=>Object.values(s).map(i=>{var o;return{peer:i,isAudioEnabled:i.audioTrack?(o=e[i.audioTrack])==null?void 0:o.enabled:!1}})),vs=s=>s.roleChangeRequests[0]||null,Ds=(0,re.createSelector)([vs,v,x],(s,e,t)=>s?{requestedBy:e[s.requestedBy],role:t[s.roleName],token:s.token}:null),Is=(0,re.createSelector)([Y],s=>{var o;let e=!1,t=!1,i=!1;return((o=s==null?void 0:s.publishParams)==null?void 0:o.allowed)&&(e=s.publishParams.allowed.includes("video"),t=s.publishParams.allowed.includes("audio"),i=s.publishParams.allowed.includes("screen")),{video:e,audio:t,screen:i}});var B=R(require("reselect"));var Es=s=>(0,B.createSelector)([x],e=>e[s]),bs=(0,B.createSelector)([N,T],(s,e)=>{let t=null;return s&&(t=e[s]),(t==null?void 0:t.plugins)||[]}),As=(0,B.createSelector)([w,T],(s,e)=>{let t=null;return s&&(t=e[s]),(t==null?void 0:t.plugins)||[]}),Cs=s=>(0,B.createSelector)([bs],e=>e.includes(s)),Ls=s=>(0,B.createSelector)([As],e=>e.includes(s));var z=R(require("@100mslive/hms-video"));var ne=R(require("@100mslive/hms-video"));function at(s){return s instanceof ne.HMSRemoteAudioTrack||s instanceof ne.HMSRemoteVideoTrack}var ae=class{constructor(e,t,i,o){this.playlistManager=e;this.syncPlaylistState=i;this.store=o;this.type=t}play(e){return c(this,null,function*(){if(!e){p.w("Please pass id to play");return}yield this.playlistManager.setEnabled(!0,{id:e,type:this.type})})}pause(){return c(this,null,function*(){let e=this.type===S.audio?He:fe,t=this.store.getState(e.selection);if(!t.id){p.w("No item is currently playing to pause");return}yield this.playlistManager.setEnabled(!1,{id:t.id,type:this.type})})}playNext(){return c(this,null,function*(){yield this.playlistManager.playNext(this.type)})}playPrevious(){return c(this,null,function*(){yield this.playlistManager.playPrevious(this.type)})}seek(e){this.playlistManager.seek(e,this.type),this.syncPlaylistState(`seekOn${this.type}Playlist`)}seekTo(e){this.playlistManager.seekTo(e,this.type),this.syncPlaylistState(`seekToOn${this.type}Playlist`)}setVolume(e){this.playlistManager.setVolume(e,this.type),this.syncPlaylistState(`setVolumeOn${this.type}Playlist`)}setList(e){this.playlistManager.setList(e),this.syncPlaylistState(`setListOn${this.type}Playlist`)}stop(){return c(this,null,function*(){yield this.playlistManager.stop(this.type),this.syncPlaylistState(`stop${this.type}Playlist`)})}setIsAutoplayOn(e){this.playlistManager.setIsAutoplayOn(this.type,e)}setPlaybackRate(e){this.playlistManager.setPlaybackRate(this.type,e),this.syncPlaylistState(`set${this.type}PlaybackRate`)}};var ct={[a.HMSPeerUpdate.PEER_JOINED]:M.PEER_JOINED,[a.HMSPeerUpdate.PEER_LEFT]:M.PEER_LEFT,[a.HMSPeerUpdate.ROLE_UPDATED]:M.ROLE_UPDATED,[a.HMSPeerUpdate.AUDIO_TOGGLED]:"PEER_AUDIO_UPDATED",[a.HMSPeerUpdate.VIDEO_TOGGLED]:"PEER_VIDEO_UPDATED",[a.HMSPeerUpdate.NAME_UPDATED]:M.NAME_UPDATED,[a.HMSPeerUpdate.METADATA_UPDATED]:M.METADATA_UPDATED},lt={[a.HMSTrackUpdate.TRACK_ADDED]:M.TRACK_ADDED,[a.HMSTrackUpdate.TRACK_REMOVED]:M.TRACK_REMOVED,[a.HMSTrackUpdate.TRACK_MUTED]:M.TRACK_MUTED,[a.HMSTrackUpdate.TRACK_UNMUTED]:M.TRACK_UNMUTED,[a.HMSTrackUpdate.TRACK_DEGRADED]:M.TRACK_DEGRADED,[a.HMSTrackUpdate.TRACK_RESTORED]:M.TRACK_RESTORED},dt={[a.HMSPeerUpdate.PEER_JOINED]:"peerJoined",[a.HMSPeerUpdate.PEER_LEFT]:"peerLeft",[a.HMSPeerUpdate.NAME_UPDATED]:"peerNameUpdated",[a.HMSPeerUpdate.METADATA_UPDATED]:"peerMetadataUpdated"};var Ee=class{constructor(e,t,i){this.hmsSDKTracks={};this.hmsSDKPeers={};this.isRoomJoinCalled=!1;this.setProgress=({type:e,progress:t})=>{this.setState(i=>{i.playlist[e].progress=t,i.playlist[e].currentTime=this.sdk.getPlaylistManager().getCurrentTime(e)},"playlistProgress")};this.syncPlaylistState=e=>{this.setState(t=>{Object.assign(t.playlist,g.convertPlaylist(this.sdk.getPlaylistManager()))},e)};this.sendPeerUpdateNotification=(e,t)=>{let i=this.store.getState(b(t.peerId)),o="peerUpdate";o=dt[e],this.syncRoomState(o),i||(i=this.store.getState(b(t.peerId))),this.hmsNotifications.sendPeerUpdate(e,i)};this.setState=(e,t)=>this.store.namedSetState(e,t);this.store=e,this.sdk=t,this.hmsNotifications=i}unblockAudio(){return c(this,null,function*(){yield this.sdk.getAudioOutput().unblockAutoplay()})}setVolume(e,t){t?this.setTrackVolume(e,t):(this.sdk.getAudioOutput().setVolume(e),this.syncRoomState("setOutputVolume"))}setAudioOutputDevice(e){this.sdk.getAudioOutput().setDevice(e)&&this.setState(i=>{i.settings.audioOutputDeviceId=e},"setAudioOutputDevice")}setPreferredLayer(e,t){let i=this.hmsSDKTracks[e];i?i instanceof z.HMSRemoteVideoTrack?(i.preferLayer(t),this.updateVideoLayer(e,"setPreferredLayer")):p.w(`track ${e} is not an video track`):this.logPossibleInconsistency(`track ${e} not present, unable to set preffer layer`)}preview(e){return c(this,null,function*(){if(this.isRoomJoinCalled){this.logPossibleInconsistency("attempting to call preview after join was called");return}let t=this.store.getState(oe);if(t===H.Preview||t===H.Connecting){this.logPossibleInconsistency("attempting to call preview while room is in preview/connecting");return}try{this.setState(i=>{i.room.roomState=H.Connecting},"connecting"),yield this.sdkPreviewWithListeners(e)}catch(i){throw p.e("Cannot show preview. Failed to connect to room - ",i),i}})}join(e){if(this.isRoomJoinCalled){this.logPossibleInconsistency("room join is called again");return}try{this.sdkJoinWithListeners(e),this.isRoomJoinCalled=!0,this.setState(t=>{t.room.roomState=H.Connecting},"join")}catch(t){throw this.isRoomJoinCalled=!1,p.e("Failed to connect to room - ",t),t}}leave(){return c(this,null,function*(){if(!this.store.getState(he)){this.logPossibleInconsistency("room leave is called when no room is connected");return}return this.sdk.leave().then(()=>{this.resetState("leave"),p.i("left room")}).catch(t=>{p.e("error in leaving room - ",t)})})}setScreenShareEnabled(e,t){return c(this,null,function*(){e?yield this.startScreenShare(t):yield this.stopScreenShare()})}addTrack(e,t="regular"){return c(this,null,function*(){yield this.sdk.addTrack(e,t),this.syncRoomState("addTrack")})}removeTrack(e){return c(this,null,function*(){yield this.sdk.removeTrack(e),this.syncRoomState("removeTrack")})}setLocalAudioEnabled(e){return c(this,null,function*(){let t=this.store.getState(w);t&&(yield this.setEnabledTrack(t,e))})}setLocalVideoEnabled(e){return c(this,null,function*(){let t=this.store.getState(N);t&&(yield this.setEnabledTrack(t,e))})}setEnabledTrack(e,t){return c(this,null,function*(){var r;if(((r=this.store.getState().tracks[e])==null?void 0:r.enabled)===t){this.logPossibleInconsistency(`local track[${e}] enabled state - ${t}`);return}this.setState(n=>{n.tracks[e]?n.tracks[e].displayEnabled=t:this.logPossibleInconsistency("track id not found for setEnabled")},"displayEnabled");try{yield this.setEnabledSDKTrack(e,t),this.syncRoomState("setEnabled")}catch(n){throw this.setState(u=>{u.tracks[e].displayEnabled=!t},"rollbackDisplayEnabled"),this.hmsNotifications.sendError(g.convertException(n)),n}let o=t?a.HMSTrackUpdate.TRACK_UNMUTED:a.HMSTrackUpdate.TRACK_MUTED;this.hmsNotifications.sendTrackUpdate(o,e)})}setAudioSettings(e){return c(this,null,function*(){let t=this.store.getState(w);t&&(yield this.setSDKLocalAudioTrackSettings(t,e),this.syncRoomState("setAudioSettings"))})}setVideoSettings(e){return c(this,null,function*(){let t=this.store.getState(N);t&&(yield this.setSDKLocalVideoTrackSettings(t,e),this.syncRoomState("setVideoSettings"))})}sendMessage(e){this.sendBroadcastMessage(e)}sendBroadcastMessage(e,t){return c(this,null,function*(){let i=yield this.sdk.sendBroadcastMessage(e,t);this.updateMessageInStore(i,{message:e,type:t})})}sendGroupMessage(e,t,i){return c(this,null,function*(){let o=this.store.getState(x),r=t.map(u=>o[u]),n=yield this.sdk.sendGroupMessage(e,r,i);this.updateMessageInStore(n,{message:e,recipientRoles:t,type:i})})}sendDirectMessage(e,t,i){return c(this,null,function*(){let o=this.hmsSDKPeers[t],r=yield this.sdk.sendDirectMessage(e,o,i);this.updateMessageInStore(r,{message:e,recipientPeer:o.peerId,type:i})})}updateMessageInStore(e,t){if(!e)throw p.w("sendMessage","Failed to send message",t),Error(`sendMessage Failed - ${JSON.stringify(t)}`);let i=g.convertMessage(e);return i.read=!0,i.senderName="You",this.onHMSMessage(i),i}setMessageRead(e,t){this.setState(i=>{t?i.messages.byID[t]?i.messages.byID[t].read=e:this.logPossibleInconsistency("no message with id is found"):i.messages.allIDs.forEach(o=>{i.messages.byID[o].read=e})},"setMessageRead")}attachVideo(e,t){return c(this,null,function*(){if(this.localAndVideoUnmuting(e))return new Promise(i=>{let o=this.store.subscribe(r=>c(this,null,function*(){r&&(yield this.attachVideoInternal(e,t),o(),i())}),se)});yield this.attachVideoInternal(e,t)})}detachVideo(e,t){return c(this,null,function*(){let i=this.hmsSDKTracks[e];i&&i.type==="video"?(yield i.removeSink(t),this.updateVideoLayer(e,"detachVideo")):this.logPossibleInconsistency("no video track found to remove sink")})}addPluginToVideoTrack(e,t){return c(this,null,function*(){return this.addRemoveVideoPlugin(e,"add",t)})}addPluginToAudioTrack(e){return c(this,null,function*(){return this.addRemoveAudioPlugin(e,"add")})}removePluginFromVideoTrack(e){return c(this,null,function*(){return this.addRemoveVideoPlugin(e,"remove")})}removePluginFromAudioTrack(e){return c(this,null,function*(){return this.addRemoveAudioPlugin(e,"remove")})}changeRole(e,t,i=!1){return c(this,null,function*(){let o=this.hmsSDKPeers[e];if(!o){this.logPossibleInconsistency(`Unknown peer ID given ${e} for changerole`);return}yield this.sdk.changeRole(o,t,i)})}acceptChangeRole(e){return c(this,null,function*(){let t=e.requestedBy?this.hmsSDKPeers[e.requestedBy.id]:void 0;t||p.w(`peer for which role change is requested no longer available - ${e.requestedBy}`);let i={requestedBy:t,role:e.role,token:e.token};yield this.sdk.acceptChangeRole(i),this.removeRoleChangeRequest(e)})}rejectChangeRole(e){this.removeRoleChangeRequest(e)}endRoom(e,t){return c(this,null,function*(){let i=this.store.getState(ge);if(!(i==null?void 0:i.endRoom)){p.w("You are not allowed to perform this action - endRoom");return}yield this.sdk.endRoom(e,t)})}removePeer(e,t){return c(this,null,function*(){let i=this.hmsSDKPeers[e];if(i&&!i.isLocal)yield this.sdk.removePeer(i,t);else{this.logPossibleInconsistency(`No remote peer found for peerID - ${e}`);return}})}startRTMPOrRecording(e){return c(this,null,function*(){yield this.sdk.startRTMPOrRecording(e)})}stopRTMPAndRecording(){return c(this,null,function*(){yield this.sdk.stopRTMPAndRecording()})}startHLSStreaming(e){return c(this,null,function*(){yield this.sdk.startHLSStreaming(e)})}stopHLSStreaming(){return c(this,null,function*(){yield this.sdk.stopHLSStreaming()})}changeName(e){return c(this,null,function*(){yield this.sdk.changeName(e)})}changeMetadata(e){return c(this,null,function*(){typeof e!="string"&&(e=JSON.stringify(e)),yield this.sdk.changeMetadata(e)})}setRemoteTrackEnabled(e,t){return c(this,null,function*(){if(typeof e=="string"){let i=this.hmsSDKTracks[e];i&&at(i)?yield this.sdk.changeTrackState(i,t):this.logPossibleInconsistency(`No remote track with ID ${e} found for change track state`)}else Array.isArray(e)&&e.forEach(i=>this.setRemoteTrackEnabled(i,t))})}setRemoteTracksEnabled(e){return c(this,null,function*(){let t={enabled:e.enabled,type:e.type,source:e.source};if(e.roles){let i=this.store.getState(x);t.roles=e.roles.map(o=>i[o])}yield this.sdk.changeMultiTrackState(t)})}setLogLevel(e){p.level=e,this.sdk.setLogLevel(e)}resetState(e="resetState"){this.setState(t=>{Object.assign(t,F())},e),this.isRoomJoinCalled=!1,this.hmsSDKTracks={},p.cleanUp()}sdkJoinWithListeners(e){this.sdk.join(e,{onJoin:this.onJoin.bind(this),onRoomUpdate:this.onRoomUpdate.bind(this),onPeerUpdate:this.onPeerUpdate.bind(this),onTrackUpdate:this.onTrackUpdate.bind(this),onMessageReceived:this.onMessageReceived.bind(this),onError:this.onError.bind(this),onReconnected:this.onReconnected.bind(this),onReconnecting:this.onReconnecting.bind(this),onRoleChangeRequest:this.onRoleChangeRequest.bind(this),onRoleUpdate:this.onRoleUpdate.bind(this),onDeviceChange:this.onDeviceChange.bind(this),onChangeTrackStateRequest:this.onChangeTrackStateRequest.bind(this),onChangeMultiTrackStateRequest:this.onChangeMultiTrackStateRequest.bind(this),onRemovedFromRoom:this.onRemovedFromRoom.bind(this)}),this.sdk.addAudioListener({onAudioLevelUpdate:this.onAudioLevelUpdate.bind(this)})}onRemovedFromRoom(e){var i;let t=this.store.getState(b((i=e.requestedBy)==null?void 0:i.peerId));this.hmsNotifications.sendLeaveRoom(K(_({},e),{requestedBy:t||void 0})),p.i("resetting state after peer removed",e),this.resetState(e.roomEnded||!t?"roomEnded":"removedFromRoom")}onDeviceChange(e){let t=e.devices;if(!t)return;let i=this.store.getState(E);if(this.setState(o=>{C(o.devices.audioInput,t.audioInput)||(o.devices.audioInput=t.audioInput),C(o.devices.videoInput,t.videoInput)||(o.devices.videoInput=t.videoInput),C(o.devices.audioOutput,t.audioOutput)||(o.devices.audioOutput=t.audioOutput),this.hmsSDKPeers[i==null?void 0:i.id]&&Object.assign(o.settings,this.getMediaSettings(this.hmsSDKPeers[i==null?void 0:i.id]))},"deviceChange"),e.selection){let o=g.convertDeviceChangeUpdate(e);this.hmsNotifications.sendDeviceChange(o)}}sdkPreviewWithListeners(e){return c(this,null,function*(){yield this.sdk.preview(e,{onPreview:this.onPreview.bind(this),onError:this.onError.bind(this),onDeviceChange:this.onDeviceChange.bind(this)}),this.sdk.addAudioListener({onAudioLevelUpdate:this.onAudioLevelUpdate.bind(this)})})}startScreenShare(e){return c(this,null,function*(){this.store.getState(ie)?this.logPossibleInconsistency("start screenshare is called while it's on"):(yield this.sdk.startScreenShare(()=>this.syncRoomState("screenshareStopped"),e),this.syncRoomState("startScreenShare"))})}stopScreenShare(){return c(this,null,function*(){this.store.getState(ie)?(yield this.sdk.stopScreenShare(),this.syncRoomState("stopScreenShare")):this.logPossibleInconsistency("stop screenshare is called while it's not on")})}attachVideoInternal(e,t){return c(this,null,function*(){let i=this.hmsSDKTracks[e];i&&i.type==="video"?(yield i.addSink(t),this.updateVideoLayer(e,"attachVideo")):this.logPossibleInconsistency("no video track found to add sink")})}syncRoomState(e){p.time(`store-sync-${e}`);let t={},i=[],o={},r={},n={},u=this.sdk.getPeers();for(let f of u){let A=g.convertPeer(f);t[A.id]=A,i.push(A.id),this.hmsSDKPeers[A.id]=f;let q=[f.audioTrack,f.videoTrack,...f.auxiliaryTracks];for(let Z of q){if(!Z)continue;let Le=g.convertTrack(Z);o[Le.id]=Le,r[Z.trackId]=Z}A.isLocal&&Object.assign(n,this.getMediaSettings(f))}let h=this.sdk.getRecordingState(),P=this.sdk.getRTMPState(),Ce=this.sdk.getHLSState();this.setState(f=>{f.room.peers=i;let A=f.peers,q=f.tracks;Ue(A,t),_e(q,o),Object.assign(f.settings,n),this.hmsSDKTracks=r,Object.assign(f.roles,g.convertRoles(this.sdk.getRoles())),Object.assign(f.playlist,g.convertPlaylist(this.sdk.getPlaylistManager())),Object.assign(f.room,g.convertRecordingRTMPState(h,P,Ce))},e),p.timeEnd(`store-sync-${e}`)}onPreview(e){this.setState(t=>{Object.assign(t.room,g.convertRoom(e)),t.room.roomState=H.Preview},"previewStart"),this.syncRoomState("previewSync")}onJoin(e){let t=this.sdk.getPlaylistManager();this.audioPlaylist=new ae(t,S.audio,this.syncPlaylistState.bind(this),this.store),this.videoPlaylist=new ae(t,S.video,this.syncRoomState.bind(this),this.store),this.syncRoomState("joinSync"),this.setState(i=>{Object.assign(i.room,g.convertRoom(e)),i.room.isConnected=!0,i.room.roomState=H.Connected},"joined"),t.onProgress(this.setProgress),t.onNewTrackStart(i=>{this.syncPlaylistState(`${i.type}PlaylistUpdate`)}),t.onPlaylistEnded(i=>{this.syncPlaylistState(`${i}PlaylistEnded`)}),t.onCurrentTrackEnded(i=>{this.hmsNotifications.sendPlaylistTrackEnded(g.convertPlaylistItem(t,i)),this.syncPlaylistState(`${i.type}PlaylistItemEnded`)})}onRoomUpdate(e,t){this.setState(i=>{Object.assign(i.room,g.convertRoom(t))},"RoomUpdate")}onPeerUpdate(e,t){if(![a.HMSPeerUpdate.BECAME_DOMINANT_SPEAKER,a.HMSPeerUpdate.RESIGNED_DOMINANT_SPEAKER].includes(e)){if(Array.isArray(t)){this.syncRoomState("peersJoined");let i=[];for(let o of t){let r=this.store.getState(b(o.peerId));r&&i.push(r)}this.hmsNotifications.sendPeerList(i);return}this.sendPeerUpdateNotification(e,t)}}onTrackUpdate(e,t,i){if(e===a.HMSTrackUpdate.TRACK_REMOVED)this.hmsNotifications.sendTrackUpdate(e,t.trackId),this.handleTrackRemove(t,i);else{let o=e===a.HMSTrackUpdate.TRACK_ADDED?"trackAdded":"trackUpdate";this.syncRoomState(o),this.hmsNotifications.sendTrackUpdate(e,t.trackId)}}onMessageReceived(e){let t=g.convertMessage(e);t.read=!1,this.onHMSMessage(t),this.hmsNotifications.sendMessageReceived(t)}onHMSMessage(e){this.setState(t=>{e.id=String(this.store.getState(me)+1),t.messages.byID[e.id]=e,t.messages.allIDs.push(e.id)},"newMessage")}onAudioLevelUpdate(e){this.setState(t=>{let i={};e.forEach(r=>{if(!r.track||!r.peer)return;let n=r.track.trackId;i[n]=r.audioLevel,t.speakers[n]||(t.speakers[n]={audioLevel:r.audioLevel,peerID:r.peer.peerId,trackID:n})});let o=Object.entries(t.speakers);for(let[r,n]of o)n.audioLevel=i[r]||0,n.audioLevel===0&&delete t.speakers[r]},"audioLevel")}onChangeTrackStateRequest(e){let t=this.store.getState(b(e.requestedBy.peerId)),i=this.getStoreLocalTrackIDfromSDKTrack(e.track),o=this.store.getState(X(i));if(!t)return this.logPossibleInconsistency(`Not found peer who requested track state change, ${e.requestedBy}`);if(!o)return this.logPossibleInconsistency(`Not found track for which track state change was requested, ${e.track}`);e.enabled||this.syncRoomState("changeTrackStateRequest"),this.hmsNotifications.sendChangeTrackStateRequest({requestedBy:t,track:o,enabled:e.enabled})}onChangeMultiTrackStateRequest(e){let t=this.store.getState(b(e.requestedBy.peerId));if(!t)return this.logPossibleInconsistency(`Not found peer who requested track state change, ${e.requestedBy}`);e.enabled||this.syncRoomState("changeMultiTrackStateRequest");let i=[],o=this.store.getState(T);for(let r of e.tracks){let n=this.getStoreLocalTrackIDfromSDKTrack(r);n&&o[n]&&i.push(o[n])}this.hmsNotifications.sendChangeMultiTrackStateRequest({requestedBy:t,tracks:i,enabled:e.enabled,type:e.type,source:e.source})}onReconnected(){this.syncRoomState("reconnectedSync"),this.hmsNotifications.sendReconnected(),this.setState(e=>{e.room.roomState=H.Connected},"reconnected")}onReconnecting(e){let t=g.convertException(e);p.e("Reconnection: received error from sdk",t),this.hmsNotifications.sendReconnecting(t),this.setState(i=>{i.room.roomState=H.Reconnecting,i.errors.push(t)},"reconnecting")}onError(e){let t=g.convertException(e);t.isTerminal?(this.leave().then(()=>p.e("error from SDK, left room.")),this.setState(i=>{i.room.roomState=H.Failed,i.errors.push(t)},"errorTerminal")):this.store.getState().errors.length<50&&this.setState(o=>{o.errors.push(t)},"error"),this.hmsNotifications.sendError(t),p.e("received error from sdk",t)}updateVideoLayer(e,t){let i=this.hmsSDKTracks[e];i&&i instanceof z.HMSRemoteVideoTrack&&this.setState(o=>{o.tracks[e].layer=i.getSimulcastLayer()},t)}handleTrackRemove(e,t){this.setState(i=>{let o=i.peers[t.peerId],r=i.tracks,n=e.trackId;if(this.isSameStoreSDKTrack(n,o==null?void 0:o.audioTrack))o==null||delete o.audioTrack;else if(this.isSameStoreSDKTrack(n,o==null?void 0:o.videoTrack))o==null||delete o.videoTrack;else{let u=o==null?void 0:o.auxiliaryTracks.indexOf(n);u>-1&&this.isSameStoreSDKTrack(n,o==null?void 0:o.auxiliaryTracks[u])&&(o==null||o.auxiliaryTracks.splice(u,1))}delete r[n],delete this.hmsSDKTracks[n]},"trackRemoved")}setEnabledSDKTrack(e,t){return c(this,null,function*(){let i=this.hmsSDKTracks[e];i?yield i.setEnabled(t):this.logPossibleInconsistency(`track ${e} not present, unable to enabled/disable`)})}setSDKLocalVideoTrackSettings(e,t){return c(this,null,function*(){let i=this.hmsSDKTracks[e];i?yield i.setSettings(t):this.logPossibleInconsistency(`local track ${e} not present, unable to set settings`)})}setSDKLocalAudioTrackSettings(e,t){return c(this,null,function*(){let i=this.hmsSDKTracks[e];i?yield i.setSettings(t):this.logPossibleInconsistency(`local track ${e} not present, unable to set settings`)})}getMediaSettings(e){var r;let t=this.store.getState(Se),i=e.audioTrack,o=e.videoTrack;return{audioInputDeviceId:(i==null?void 0:i.settings.deviceId)||t.audioInputDeviceId,videoInputDeviceId:(o==null?void 0:o.settings.deviceId)||t.videoInputDeviceId,audioOutputDeviceId:(r=this.sdk.getAudioOutput().getDevice())==null?void 0:r.deviceId}}setTrackVolume(e,t){let i=this.hmsSDKTracks[t];i?i instanceof z.HMSAudioTrack?(i.setVolume(e),this.setState(o=>{let r=o.tracks[t];r&&(r.volume=e)},"trackVolume")):p.w(`track ${t} is not an audio track`):this.logPossibleInconsistency(`track ${t} not present, unable to set volume`)}localAndVideoUnmuting(e){if(this.store.getState(E).videoTrack!==e)return!1;let i=this.store.getState(Me),o=this.store.getState(se);return i&&!o}logPossibleInconsistency(e){p.w("possible inconsistency detected - ",e)}addRemoveVideoPlugin(e,t,i){return c(this,null,function*(){if(!e){p.w("Invalid plugin received in store");return}let o=this.store.getState(N);if(o){let r=this.hmsSDKTracks[o];r?(t==="add"?yield r.addPlugin(e,i):t==="remove"&&(yield r.removePlugin(e)),this.syncRoomState(`${t}VideoPlugin`)):this.logPossibleInconsistency(`track ${o} not present, unable to remove plugin`)}})}addRemoveAudioPlugin(e,t){return c(this,null,function*(){if(!e){p.w("Invalid plugin received in store");return}let i=this.store.getState(w);if(i){let o=this.hmsSDKTracks[i];o?(t==="add"?yield o.addPlugin(e):t==="remove"&&(yield o.removePlugin(e)),this.syncRoomState(`${t}AudioPlugin`)):this.logPossibleInconsistency(`track ${i} not present, unable to remove plugin`)}})}isSameStoreSDKTrack(e,t){var i;return t?((i=this.hmsSDKTracks[t])==null?void 0:i.trackId)===e:!1}onRoleChangeRequest(e){this.setState(t=>{t.roleChangeRequests.length===0&&t.roleChangeRequests.push(g.convertRoleChangeRequest(e))},"roleChangeRequest")}removeRoleChangeRequest(e){this.setState(t=>{let i=t.roleChangeRequests.findIndex(o=>o.token===e.token);i!==-1&&t.roleChangeRequests.splice(i,1)},"removeRoleChangeRequest")}onRoleUpdate(){this.syncRoomState("roleUpdate")}getStoreLocalTrackIDfromSDKTrack(e){return this.store.getState(pe).find(i=>this.hmsSDKTracks[i].trackId===e.trackId)}};var St=R(require("eventemitter2"));var be="hmsNotification",Ae=class{constructor(e){this.id=0;this.onNotification=e=>(this.eventEmitter.addListener(be,e),()=>{this.eventEmitter.removeListener(be,e)});this.store=e,this.eventEmitter=new St.EventEmitter2}sendPlaylistTrackEnded(e){let t=this.createNotification(M.PLAYLIST_TRACK_ENDED,e,k.INFO);this.emitEvent(t)}sendDeviceChange(e){var i;let t=this.createNotification(M.DEVICE_CHANGE_UPDATE,e,e.error?k.ERROR:k.INFO,`Selected ${e.type} device - ${(i=e.selection)==null?void 0:i.label}`);this.emitEvent(t)}sendLeaveRoom(e){var o;let t=(o=e.requestedBy)==null?void 0:o.name,i=this.createNotification(e.roomEnded||!t?M.ROOM_ENDED:M.REMOVED_FROM_ROOM,e,k.INFO,`${e.roomEnded?"Room ended":"Removed from room"} ${t?`by ${t}`:""}`);this.emitEvent(i)}sendPeerList(e){let t=this.createNotification(M.PEER_LIST,e,k.INFO);this.emitEvent(t)}sendPeerUpdate(e,t){let i=this.store.getState(b(t==null?void 0:t.id))||t,o=ct[e];if(o){let r=this.createNotification(o,i,k.INFO);this.emitEvent(r)}}sendTrackUpdate(e,t){let i=this.store.getState(X(t)),o=lt[e];if(o){let r=this.createNotification(o,i,k.INFO);this.emitEvent(r)}}sendMessageReceived(e){let t=this.createNotification(M.NEW_MESSAGE,e,k.INFO);this.emitEvent(t)}sendError(e){let t=this.createNotification(M.ERROR,e,k.ERROR);this.emitEvent(t)}sendReconnecting(e){let t=this.createNotification(M.RECONNECTING,e,k.ERROR);this.emitEvent(t)}sendReconnected(){let e=this.createNotification(M.RECONNECTED,null,k.INFO);this.emitEvent(e)}sendChangeTrackStateRequest(e){let t=this.createNotification(M.CHANGE_TRACK_STATE_REQUEST,e,k.INFO);this.emitEvent(t)}sendChangeMultiTrackStateRequest(e){let t=this.createNotification(M.CHANGE_MULTI_TRACK_STATE_REQUEST,e,k.INFO);this.emitEvent(t)}emitEvent(e){this.eventEmitter.emit(be,e)}createNotification(e,t,i,o=""){return this.id++,{id:this.id,type:e,message:o,data:t,severity:i}}};var O=class{constructor(e,t,i){e?this.store=e:this.store=O.createNewHMSStore(),i?this.notifications=i:this.notifications=new Ae(this.store),t?this.actions=t:this.actions=new Ee(this.store,new mt.HMSSdk,this.notifications),this.initialTriggerOnSubscribe=!1}triggerOnSubscribe(){this.initialTriggerOnSubscribe||(O.makeStoreTriggerOnSubscribe(this.store),this.initialTriggerOnSubscribe=!0)}getStore(){return this.store}getHMSActions(){return this.actions}getNotifications(){return{onNotification:this.notifications.onNotification}}static createNewHMSStore(){let e=(0,pt.default)(()=>F()),t=e.setState;e.setState=r=>{let n=typeof r=="function"?(0,ut.default)(r):r;t(n)};let i=e.getState;e.getState=r=>{if(r){let n=r.name||"byIDSelector";window.selectorsCount||(window.selectorsCount={}),window.selectorsCount[n]=(window.selectorsCount[n]||0)+1;let u=performance.now(),h=r(i()),P=performance.now()-u;return P>1&&(window.expensiveSelectors=window.expensiveSelectors||new Map,window.expensiveSelectors.set(n,P)),h}return i()},O.useShallowCheckInSubscribe(e);let o=O.setUpDevtools(e,"HMSStore");return K(_({},e),{namedSetState:o})}static makeStoreTriggerOnSubscribe(e){let t=e.subscribe;e.subscribe=(i,o,r)=>(i(e.getState(o),void 0),t(i,o,r))}static useShallowCheckInSubscribe(e){let t=e.subscribe;e.subscribe=(i,o,r)=>(o||(o=n=>n),r=r||Mt.default,t(i,o,r))}static setUpDevtools(e,t){let i;try{i=window.__REDUX_DEVTOOLS_EXTENSION__||window.top.__REDUX_DEVTOOLS_EXTENSION__}catch(n){}if(!i)return n=>{e.setState(n)};let o=i.connect(O.devtoolsOptions(t));o.prefix=t?`${t} > `:"";let r=e.setState;return e.setState=n=>{r(n),o.send(`${o.prefix}setState`,e.getState())},o.subscribe(O.devtoolsSubscribe(o,e,r)),o.send("setUpStore",e.getState()),(n,u)=>{r(n);let h=u||`${o.prefix}action`;o.send(h,e.getState())}}static devtoolsOptions(e){return{name:e,actionsBlacklist:["audioLevel","playlistProgress"]}}static devtoolsSubscribe(e,t,i){return o=>{var r,n,u,h;if(o.type==="DISPATCH"&&o.state)["JUMP_TO_ACTION","JUMP_TO_STATE"].includes(o.payload.type)?i(JSON.parse(o.state)):t.setState(JSON.parse(o.state));else if(o.type==="DISPATCH"&&((r=o.payload)==null?void 0:r.type)==="COMMIT")e.init(t.getState());else if(o.type==="DISPATCH"&&((n=o.payload)==null?void 0:n.type)==="IMPORT_STATE"){let P=(u=o.payload.nextLiftedState)==null?void 0:u.actionsById;(((h=o.payload.nextLiftedState)==null?void 0:h.computedStates)||[]).forEach(({state:f},A)=>{let q=P[A]||`${e.prefix}setState`;A===0?e.init(f):(i(f),e.send(q,t.getState()))})}}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var it=Object.defineProperty,ot=Object.defineProperties;var rt=Object.getOwnPropertyDescriptors;var ue=Object.getOwnPropertySymbols;var at=Object.prototype.hasOwnProperty,nt=Object.prototype.propertyIsEnumerable;var pe=(s,e,t)=>e in s?it(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,V=(s,e)=>{for(var t in e||(e={}))at.call(e,t)&&pe(s,t,e[t]);if(ue)for(var t of ue(e))nt.call(e,t)&&pe(s,t,e[t]);return s},B=(s,e)=>ot(s,rt(e));var n=(s,e,t)=>new Promise((i,o)=>{var r=h=>{try{u(t.next(h))}catch(R){o(R)}},a=h=>{try{u(t.throw(h))}catch(R){o(R)}},u=h=>h.done?i(h.value):Promise.resolve(h.value).then(r,a);u((t=t.apply(s,e)).next())});import xt from"immer";import Lt from"zustand/vanilla";import Ot from"zustand/shallow";import{HMSSdk as Nt}from"@100mslive/hms-video";var H;(function(a){a.Disconnected="Disconnected",a.Preview="Preview",a.Connecting="Connecting",a.Connected="Connected",a.Reconnecting="Reconnecting",a.Failed="Failed"})(H||(H={}));var W=()=>({room:{id:"",isConnected:!1,name:"",peers:[],shareableLink:"",localPeer:"",hasWaitingRoom:!1,roomState:H.Disconnected,recording:{browser:{running:!1},server:{running:!1}},rtmp:{running:!1}},peers:{},tracks:{},playlist:{audio:{list:{},selection:{id:"",hasPrevious:!1,hasNext:!1},progress:0,volume:0,currentTime:0,playbackRate:1},video:{list:{},selection:{id:"",hasPrevious:!1,hasNext:!1},progress:0,volume:0,currentTime:0,playbackRate:1}},messages:{byID:{},allIDs:[]},speakers:{},settings:{audioInputDeviceId:"",audioOutputDeviceId:"",videoInputDeviceId:""},devices:{audioInput:[],audioOutput:[],videoInput:[]},roles:{},roleChangeRequests:[],errors:[]});var Me;(function(e){e.CHAT="chat"})(Me||(Me={}));var f;(function(i){i.INFO="info",i.ERROR="error",i.CRITICAL="critical"})(f||(f={}));var p;(function(c){c.PEER_JOINED="PEER_JOINED",c.PEER_LEFT="PEER_LEFT",c.PEER_LIST="PEER_LIST",c.NEW_MESSAGE="NEW_MESSAGE",c.ERROR="ERROR",c.RECONNECTING="RECONNECTING",c.RECONNECTED="RECONNECTED",c.TRACK_ADDED="TRACK_ADDED",c.TRACK_REMOVED="TRACK_REMOVED",c.TRACK_MUTED="TRACK_MUTED",c.TRACK_UNMUTED="TRACK_UNMUTED",c.TRACK_DEGRADED="TRACK_DEGRADED",c.TRACK_RESTORED="TRACK_RESTORED",c.ROLE_CHANGE_REQUEST="ROLE_CHANGE_REQUEST",c.ROLE_UPDATED="ROLE_UPDATED",c.CHANGE_TRACK_STATE_REQUEST="CHANGE_TRACK_STATE_REQUEST",c.CHANGE_MULTI_TRACK_STATE_REQUEST="CHANGE_MULTI_TRACK_STATE_REQUEST",c.ROOM_ENDED="ROOM_ENDED",c.REMOVED_FROM_ROOM="REMOVED_FROM_ROOM",c.DEVICE_CHANGE_UPDATE="DEVICE_CHANGE_UPDATE",c.PLAYLIST_TRACK_ENDED="PLAYLIST_TRACK_ENDED",c.NAME_UPDATED="NAME_UPDATED",c.METADATA_UPDATED="METADATA_UPDATED"})(p||(p={}));var l;(function(t){t.audio="audio",t.video="video"})(l||(l={}));import{HMSException as Gt,HMSSimulcastLayer as jt,HMSPeerUpdate as P,HMSRoomUpdate as Jt,HMSTrackUpdate as I,HMSLogLevel as T,HMSAudioPluginType as ct,HMSVideoPluginType as lt}from"@100mslive/hms-video";import{HMSLocalAudioTrack as fe,HMSLocalVideoTrack as ke,HMSRemoteAudioTrack as St,HMSRemoteVideoTrack as ut}from"@100mslive/hms-video";var me=(s,e)=>{let t=He(Object.keys(s),Object.keys(e));for(let i of t){let o=s[i],r=e[i];ge(o,r)?(A(o.auxiliaryTracks,r.auxiliaryTracks)&&(r.auxiliaryTracks=o.auxiliaryTracks),Object.assign(o,r)):Te(o,r)?delete s[i]:ye(o,r)&&(s[i]=r)}},he=(s,e)=>{let t=He(Object.keys(s),Object.keys(e));for(let i of t){let o=s[i],r=e[i];ge(o,r)?(dt(o,r),Object.assign(o,r)):Te(o,r)?delete s[i]:ye(o,r)&&(s[i]=r)}},dt=(s,e)=>{s.plugins&&A(s.plugins,e.plugins)&&(e.plugins=s.plugins),s.layerDefinitions&&A(s.layerDefinitions,e.layerDefinitions)&&(e.layerDefinitions=s.layerDefinitions)},ge=(s,e)=>s&&e,Te=(s,e)=>s&&!e,ye=(s,e)=>!s&&e,A=(s,e)=>{if(s===e||s.length===0&&(e==null?void 0:e.length)===0)return!0;if(!s||!e||s.length!==e.length)return!1;for(let t=0;t<s.length;t++)if(s[t]!==e[t])return!1;return!0},He=(s,e)=>{let t=new Set;for(let i of s)t.add(i);for(let i of e)t.add(i);return Array.from(t)};var m=class{static convertPeer(e){var t,i,o;return{id:e.peerId,name:e.name,roleName:(t=e.role)==null?void 0:t.name,isLocal:e.isLocal,videoTrack:(i=e.videoTrack)==null?void 0:i.trackId,audioTrack:(o=e.audioTrack)==null?void 0:o.trackId,auxiliaryTracks:e.auxiliaryTracks.map(r=>r.trackId),customerUserId:e.customerUserId,customerDescription:e.metadata,metadata:e.metadata}}static convertTrack(e,t){let i={id:e.trackId,source:e.source,type:e.type,enabled:e.enabled,displayEnabled:e.enabled,peerId:e.peerId||t};return this.enrichTrack(i,e),i}static enrichTrack(e,t){let i=t.getMediaTrackSettings();e.source==="screen"&&e.type==="video"&&(e.displaySurface=i.displaySurface),e.height=i.height,e.width=i.width,t instanceof St&&(e.volume=t.getVolume()||0),m.updateDeviceID(e,t),m.enrichVideoTrack(e,t),m.enrichPluginsDetails(e,t)}static updateDeviceID(e,t){var i;t instanceof ke||t instanceof fe?e.deviceID=t.settings.deviceId:e.deviceID=(i=t.getMediaTrackSettings())==null?void 0:i.deviceId}static enrichVideoTrack(e,t){t instanceof ut&&(e.layer=t.getSimulcastLayer(),e.degraded=t.degraded,A(t.getSimulcastDefinitions(),e.layerDefinitions)||(e.layerDefinitions=t.getSimulcastDefinitions()))}static enrichPluginsDetails(e,t){(t instanceof ke||t instanceof fe)&&(A(t.getPlugins(),e.plugins)||(e.plugins=t.getPlugins()))}static convertRoom(e){var t,i,o,r,a;return{id:e.id,name:e.name,localPeer:(i=(t=e.localPeer)==null?void 0:t.peerId)!=null?i:"",hasWaitingRoom:e.hasWaitingRoom,shareableLink:e.shareableLink,recording:{browser:{running:!!((o=e.recording)==null?void 0:o.browser.running)},server:{running:!!((r=e.recording)==null?void 0:r.server.running)}},rtmp:{running:!!((a=e.rtmp)==null?void 0:a.running)}}}static convertMessage(e){var t,i,o;return{sender:e.sender.peerId,senderName:e.sender.name,senderRole:(t=e.sender.role)==null?void 0:t.name,senderUserId:e.sender.customerUserId,recipientPeer:(i=e.recipientPeer)==null?void 0:i.peerId,recipientRoles:(o=e.recipientRoles)==null?void 0:o.map(r=>r.name),time:e.time,type:e.type,message:e.message}}static convertRoles(e){let t={};return e&&e.forEach(i=>{t[i.name]=i}),t}static convertRoleChangeRequest(e){return{requestedBy:e.requestedBy.peerId,roleName:e.role.name,token:e.token}}static convertException(e){return{code:e.code,action:e.action,name:e.name,message:e.message,description:e.description,isTerminal:e.isTerminal,nativeError:e.nativeError,timestamp:new Date}}static convertDeviceChangeUpdate(e){let t={devices:e.devices,selection:e.selection,type:e.type};return e.error&&(t.error=this.convertException(e.error)),t}static convertPlaylist(e){let t=this.getConvertedPlaylistType(e,l.audio),i=this.getConvertedPlaylistType(e,l.video);return{audio:t,video:i}}static convertPlaylistItem(e,t){let i=t.type,o=e.getCurrentSelection(i),r=e.isPlaying(i),a=t.url===(o==null?void 0:o.url);return B(V({},t),{type:t.type,selected:a,playing:a&&r})}static getConvertedPlaylistType(e,t){let i={},o=e.getCurrentSelection(t),r=e.getCurrentProgress(t),a=e.getVolume(t),u=e.getList(t),h=e.getCurrentIndex(t);return e.getList(t).forEach(R=>{i[R.id]=m.convertPlaylistItem(e,R)}),{list:i,selection:{id:o==null?void 0:o.id,hasPrevious:h>0,hasNext:h<u.length-1},progress:r,volume:a,currentTime:e.getCurrentTime(t),playbackRate:e.getPlaybackRate(t)}}static convertRecordingRTMPState(e,t){var i,o;return{recording:{browser:{running:!!((i=e==null?void 0:e.browser)==null?void 0:i.running)},server:{running:!!((o=e==null?void 0:e.server)==null?void 0:o.running)}},rtmp:{running:!!(t==null?void 0:t.running)}}}};import{createSelector as d}from"reselect";function N(s,e,t=pt){let i,o;if(e)for(let r of e.auxiliaryTracks){let a=s[r];t(a)&&(o=$(a)?a:o,i=F(a)?a:i)}return{video:i,audio:o}}function $(s){return s&&s.type==="audio"}function F(s){return s&&s.type==="video"}function pt(s){return s&&s.source==="screen"}function Y(s){return s&&s.source==="audioplaylist"}function G(s){return s&&s.source==="videoplaylist"}function Pe(s){return Boolean(s==null?void 0:s.degraded)}function q(s,e){return e&&s.tracks[e]?s.tracks[e].enabled:!1}function Re(s,e){return e&&s.tracks[e]?s.tracks[e].displayEnabled:!1}var x=s=>s.room,D=s=>s.peers,ve=s=>s.messages.byID,De=s=>s.messages.allIDs,g=s=>s.tracks,Ie=s=>s.settings,$s=s=>s.devices,Mt=s=>s.speakers,Fs=d([x],s=>s&&s.isConnected),Gs=d(x,s=>s.peers.length),ee=d([x,D],(s,e)=>s.peers.map(t=>e[t])),mt=d(g,s=>Object.values(s)),E=d(x,D,(s,e)=>e[s.localPeer]),Ee=d(x,s=>s.localPeer),w=d(E,s=>s==null?void 0:s.audioTrack),U=d(E,s=>s==null?void 0:s.videoTrack),ht=d(E,s=>s==null?void 0:s.auxiliaryTracks),be=d([w,U,ht],(s,e,t)=>{let i=[...t];return s&&i.unshift(s),e&&i.unshift(e),i}),js=d(ee,s=>s.filter(e=>!e.isLocal)),Js=d(D,Mt,(s,e)=>{let t=Object.entries(e).sort((i,o)=>{var u,h;let r=((u=i[1])==null?void 0:u.audioLevel)||0;return(((h=o[1])==null?void 0:h.audioLevel)||0)>r?1:-1});if(t.length>0&&t[0][1].audioLevel&&t[0][1].audioLevel>0){let i=t[0][1].peerID;if(i in s)return s[i]}return null}),Ws=s=>{let e=E(s);return q(s,e==null?void 0:e.audioTrack)},te=s=>{let e=E(s);return q(s,e==null?void 0:e.videoTrack)},Ae=s=>{let e=E(s);return Re(s,e==null?void 0:e.videoTrack)},se=d(E,g,(s,e)=>{let{video:t,audio:i}=N(e,s);return!!(t||i)}),gt=d(D,g,(s,e)=>{let t;for(let i in s){let o=s[i],{video:r,audio:a}=N(e,o);if(r)return o;a&&!t&&(t=o)}return t}),Ys=d(gt,s=>!!s),Qs=d(D,g,(s,e)=>{for(let t in s){let i=s[t],{audio:o,video:r}=N(e,i);if(!r&&!!o)return i}}),Xs=d(D,g,(s,e)=>{let t=[],i=[];for(let o in s){let r=s[o],{video:a,audio:u}=N(e,r);a?t.push(r):u&&i.push(r)}return t.concat(i)}),zs=d(D,g,(s,e)=>{for(let t in e){let i=e[t];if(G(i)&&F(i)&&i.peerId)return s[i.peerId]}}),Zs=d(D,g,(s,e)=>{for(let t in e){let i=e[t];if(Y(i)&&i.peerId)return s[i.peerId]}}),ei=d(mt,s=>s.filter(Pe)),Ce=d(De,s=>s.length),ti=d(ve,s=>Object.values(s).filter(e=>!e.read).length),Q=d(De,ve,(s,e)=>{let t=[];return s.forEach(i=>{t.push(e[i])}),t}),ie=d([x],s=>s&&s.roomState),si=d(ie,s=>s===H.Preview),xe=d(x,s=>s.roomState!==H.Disconnected),L=s=>s.roles,ii=d([L],s=>Object.keys(s)),X=d([E,L],(s,e)=>(s==null?void 0:s.roleName)?e[s.roleName]:null),oi=d([X],s=>{var e;return((e=s==null?void 0:s.subscribeParams)==null?void 0:e.subscribeToRoles)?s.subscribeParams.subscribeToRoles.length>0:!1}),Le=d(X,s=>s==null?void 0:s.permissions),ri=d(x,s=>s.recording),ai=d(x,s=>s.rtmp);import{createSelector as Oe}from"reselect";var Ne=(s=l.audio)=>e=>e.playlist[s].list,oe=(s=l.audio)=>e=>e.playlist[s].selection,we=(s=l.audio)=>e=>e.playlist[s].progress,Ue=(s=l.audio)=>e=>e.playlist[s].currentTime,_e=(s=l.audio)=>e=>e.playlist[s].playbackRate,Ke=(s=l.audio)=>e=>e.playlist[s].volume,Ve=(s=l.audio)=>Oe(Ne(s),e=>Object.values(e)),Be=(s=l.audio)=>Oe(Ne(s),oe(s),(e,t)=>{if(!!t.id)return e[t.id]}),qe={selection:oe(l.audio),progress:we(l.audio),currentTime:Ue(l.audio),playbackRate:_e(l.audio),volume:Ke(l.audio),list:Ve(l.audio),selectedItem:Be(l.audio)},$e={selection:oe(l.video),progress:we(l.video),currentTime:Ue(l.video),playbackRate:_e(l.video),volume:Ke(l.video),list:Ve(l.video),selectedItem:Be(l.video)};import{createSelector as y}from"reselect";var j="HMS-Store:",S=class{static v(e,...t){this.log(T.VERBOSE,e,...t)}static d(...e){this.log(T.DEBUG,...e)}static i(...e){this.log(T.INFO,...e)}static w(...e){this.log(T.WARN,...e)}static e(...e){this.log(T.ERROR,...e)}static time(e){this.log(T.TIME,"[HMSPerformanceTiming]",e)}static timeEnd(e){this.log(T.TIMEEND,"[HMSPerformanceTiming]",e,e)}static cleanUp(){performance.clearMarks(),performance.clearMeasures()}static log(e,...t){if(!(this.level.valueOf()>e.valueOf()))switch(e){case T.VERBOSE:{console.log(j,...t);break}case T.DEBUG:{console.debug(j,...t);break}case T.INFO:{console.info(j,...t);break}case T.WARN:{console.warn(j,...t);break}case T.ERROR:{console.error(j,...t);break}case T.TIME:{performance.mark(t[1]);break}case T.TIMEEND:{let i=t[0],o=t[1];try{let r=performance.measure(o,o);this.log(T.DEBUG,i,o,r==null?void 0:r.duration),performance.clearMarks(o),performance.clearMeasures(o)}catch(r){this.log(T.DEBUG,i,o,r)}break}}}};S.level=T.VERBOSE;function M(s){return e=>t=>s(t,e)}var re=(s,e)=>e,Tt=(s,e)=>e,Fe=(s,e)=>e,v=y([D,re],(s,e)=>e?s[e]:null),ae=y([g,Tt],(s,e)=>e?s[e]:null),C=M(v),yi=M(y(v,s=>s==null?void 0:s.name)),z=M(ae),yt=M((s,e)=>{let t=v(s,e);if(t&&t.videoTrack&&t.videoTrack!=="")return s.tracks[t.videoTrack]}),Ht=M((s,e)=>{let t=v(s,e);if(t&&t.audioTrack&&t.audioTrack!=="")return s.tracks[t.audioTrack]}),Hi=yt,fi=M((s,e)=>{let t=v(s,e);return(t==null?void 0:t.auxiliaryTracks.map(i=>s.tracks[i]))||[]}),Ge=(s,e)=>e?s.speakers[e]:null,ki=M(y(Ge,s=>(s==null?void 0:s.audioLevel)||0)),ft=(s,e)=>{let t=Ht(e)(s);return Ge(s,t==null?void 0:t.id)},Pi=M(y(ft,s=>(s==null?void 0:s.audioLevel)||0)),Ri=M((s,e)=>{let t=v(s,e);if(t){let i=t==null?void 0:t.auxiliaryTracks.find(o=>$(s.tracks[o]));return i?s.tracks[i]:void 0}}),vi=M(y(g,v,(s,e)=>{let t=e==null?void 0:e.auxiliaryTracks.find(i=>{let o=s[i];return G(o)&&F(o)});return t?s[t]:void 0})),Di=M(y(g,v,(s,e)=>{let t=e==null?void 0:e.auxiliaryTracks.find(i=>{let o=s[i];return G(o)&&$(o)});return t?s[t]:void 0})),Ii=M(y(g,v,(s,e)=>{let t=e==null?void 0:e.auxiliaryTracks.find(i=>{let o=s[i];return Y(o)&&$(o)});return t?s[t]:void 0})),je=M(y(g,v,(s,e)=>N(s,e))),Ei=s=>y(je(s),e=>e.video),Je=s=>y(je(s),e=>e.audio),bi=M((s,e)=>{let t=v(s,e);return q(s,t==null?void 0:t.audioTrack)}),Ai=M((s,e)=>{let t=v(s,e);return q(s,t==null?void 0:t.videoTrack)}),We=M((s,e)=>{if(e&&s.tracks[e])return s.tracks[e].volume===0}),Ci=M((s,e)=>{let t=v(s,e);return We(t==null?void 0:t.audioTrack)(s)}),xi=M((s,e)=>{let t=Je(e)(s);return We(t==null?void 0:t.id)(s)}),Ye=M((s,e)=>{let t=ae(s,e);if(t){if(t.type!=="audio"){S.w("Please pass audio track here");return}return t.volume}}),Li=M((s,e)=>{let t=v(s,e);return Ye(t==null?void 0:t.audioTrack)(s)}),Oi=M((s,e)=>{let t=Je(e)(s);return Ye(t==null?void 0:t.id)(s)}),Ni=M((s,e)=>{let t=ae(s,e);if(t){if(t.type!=="video"){S.w("Please pass video track here");return}return t.layer}}),Qe=y([Q,Ee,re],(s,e,t)=>{if(!!t)return s.filter(i=>{var o;return!i.recipientPeer&&!((o=i.recipientRoles)==null?void 0:o.length)||![e,t].includes(i.sender)?!1:[e,t].includes(i.recipientPeer)})}),Xe=y([Q,Fe],(s,e)=>{if(!!e)return s.filter(t=>{var i,o;return((i=t.recipientRoles)==null?void 0:i.length)?(o=t.recipientRoles)==null?void 0:o.includes(e):!1})}),kt=y(Q,s=>s.filter(e=>{var t;return!e.recipientPeer&&!((t=e.recipientRoles)==null?void 0:t.length)})),Pt=y([Xe,Fe],s=>s?s.filter(e=>!e.read).length:0),Rt=y([Qe,re],s=>s?s.filter(e=>!e.read).length:0),wi=y(kt,s=>s.filter(e=>!e.read).length),Ui=M(Qe),_i=M(Xe),Ki=M(Pt),Vi=M(Rt),Bi=s=>y([ee],e=>e.filter(t=>t.roleName===s)),qi=s=>y(C(s),e=>{try{return(e==null?void 0:e.metadata)&&e.metadata!==""?JSON.parse(e.metadata):{}}catch(t){return console.error("cannot parse peer metadata",t),{}}});import{createSelector as ne}from"reselect";var ji=ne([D,g],(s,e)=>Object.values(s).map(i=>{var o;return{peer:i,isAudioEnabled:i.audioTrack?(o=e[i.audioTrack])==null?void 0:o.enabled:!1}})),vt=s=>s.roleChangeRequests[0]||null,Ji=ne([vt,D,L],(s,e,t)=>s?{requestedBy:e[s.requestedBy],role:t[s.roleName],token:s.token}:null),Wi=ne([X],s=>{var o;let e=!1,t=!1,i=!1;return((o=s==null?void 0:s.publishParams)==null?void 0:o.allowed)&&(e=s.publishParams.allowed.includes("video"),t=s.publishParams.allowed.includes("audio"),i=s.publishParams.allowed.includes("screen")),{video:e,audio:t,screen:i}});import{createSelector as J}from"reselect";var zi=s=>J([L],e=>e[s]),Dt=J([U,g],(s,e)=>{let t=null;return s&&(t=e[s]),(t==null?void 0:t.plugins)||[]}),It=J([w,g],(s,e)=>{let t=null;return s&&(t=e[s]),(t==null?void 0:t.plugins)||[]}),Zi=s=>J([Dt],e=>e.includes(s)),eo=s=>J([It],e=>e.includes(s));import{HMSAudioTrack as At,HMSRemoteVideoTrack as st}from"@100mslive/hms-video";import{HMSRemoteAudioTrack as Et,HMSRemoteVideoTrack as bt}from"@100mslive/hms-video";function ze(s){return s instanceof Et||s instanceof bt}var Z=class{constructor(e,t,i,o){this.playlistManager=e;this.syncPlaylistState=i;this.store=o;this.type=t}play(e){return n(this,null,function*(){if(!e){S.w("Please pass id to play");return}yield this.playlistManager.setEnabled(!0,{id:e,type:this.type})})}pause(){return n(this,null,function*(){let e=this.type===l.audio?qe:$e,t=this.store.getState(e.selection);if(!t.id){S.w("No item is currently playing to pause");return}yield this.playlistManager.setEnabled(!1,{id:t.id,type:this.type})})}playNext(){return n(this,null,function*(){yield this.playlistManager.playNext(this.type)})}playPrevious(){return n(this,null,function*(){yield this.playlistManager.playPrevious(this.type)})}seek(e){this.playlistManager.seek(e,this.type),this.syncPlaylistState(`seekOn${this.type}Playlist`)}seekTo(e){this.playlistManager.seekTo(e,this.type),this.syncPlaylistState(`seekToOn${this.type}Playlist`)}setVolume(e){this.playlistManager.setVolume(e,this.type),this.syncPlaylistState(`setVolumeOn${this.type}Playlist`)}setList(e){this.playlistManager.setList(e),this.syncPlaylistState(`setListOn${this.type}Playlist`)}stop(){return n(this,null,function*(){yield this.playlistManager.stop(this.type),this.syncPlaylistState(`stop${this.type}Playlist`)})}setIsAutoplayOn(e){this.playlistManager.setIsAutoplayOn(this.type,e)}setPlaybackRate(e){this.playlistManager.setPlaybackRate(this.type,e),this.syncPlaylistState(`set${this.type}PlaybackRate`)}};var Ze={[P.PEER_JOINED]:p.PEER_JOINED,[P.PEER_LEFT]:p.PEER_LEFT,[P.ROLE_UPDATED]:p.ROLE_UPDATED,[P.AUDIO_TOGGLED]:"PEER_AUDIO_UPDATED",[P.VIDEO_TOGGLED]:"PEER_VIDEO_UPDATED",[P.NAME_UPDATED]:p.NAME_UPDATED,[P.METADATA_UPDATED]:p.METADATA_UPDATED},et={[I.TRACK_ADDED]:p.TRACK_ADDED,[I.TRACK_REMOVED]:p.TRACK_REMOVED,[I.TRACK_MUTED]:p.TRACK_MUTED,[I.TRACK_UNMUTED]:p.TRACK_UNMUTED,[I.TRACK_DEGRADED]:p.TRACK_DEGRADED,[I.TRACK_RESTORED]:p.TRACK_RESTORED},tt={[P.PEER_JOINED]:"peerJoined",[P.PEER_LEFT]:"peerLeft",[P.NAME_UPDATED]:"peerNameUpdated",[P.METADATA_UPDATED]:"peerMetadataUpdated"};var ce=class{constructor(e,t,i){this.hmsSDKTracks={};this.hmsSDKPeers={};this.isRoomJoinCalled=!1;this.setProgress=({type:e,progress:t})=>{this.setState(i=>{i.playlist[e].progress=t,i.playlist[e].currentTime=this.sdk.getPlaylistManager().getCurrentTime(e)},"playlistProgress")};this.syncPlaylistState=e=>{this.setState(t=>{Object.assign(t.playlist,m.convertPlaylist(this.sdk.getPlaylistManager()))},e)};this.sendPeerUpdateNotification=(e,t)=>{let i=this.store.getState(C(t.peerId)),o="peerUpdate";o=tt[e],this.syncRoomState(o),i||(i=this.store.getState(C(t.peerId))),this.hmsNotifications.sendPeerUpdate(e,i)};this.setState=(e,t)=>this.store.namedSetState(e,t);this.store=e,this.sdk=t,this.hmsNotifications=i}unblockAudio(){return n(this,null,function*(){yield this.sdk.getAudioOutput().unblockAutoplay()})}setVolume(e,t){t?this.setTrackVolume(e,t):(this.sdk.getAudioOutput().setVolume(e),this.syncRoomState("setOutputVolume"))}setAudioOutputDevice(e){this.sdk.getAudioOutput().setDevice(e)&&this.setState(i=>{i.settings.audioOutputDeviceId=e},"setAudioOutputDevice")}setPreferredLayer(e,t){let i=this.hmsSDKTracks[e];i?i instanceof st?(i.preferLayer(t),this.updateVideoLayer(e,"setPreferredLayer")):S.w(`track ${e} is not an video track`):this.logPossibleInconsistency(`track ${e} not present, unable to set preffer layer`)}preview(e){return n(this,null,function*(){if(this.isRoomJoinCalled){this.logPossibleInconsistency("attempting to call preview after join was called");return}let t=this.store.getState(ie);if(t===H.Preview||t===H.Connecting){this.logPossibleInconsistency("attempting to call preview while room is in preview/connecting");return}try{this.setState(i=>{i.room.roomState=H.Connecting},"connecting"),yield this.sdkPreviewWithListeners(e)}catch(i){throw S.e("Cannot show preview. Failed to connect to room - ",i),i}})}join(e){if(this.isRoomJoinCalled){this.logPossibleInconsistency("room join is called again");return}try{this.sdkJoinWithListeners(e),this.isRoomJoinCalled=!0,this.setState(t=>{t.room.roomState=H.Connecting},"join")}catch(t){throw this.isRoomJoinCalled=!1,S.e("Failed to connect to room - ",t),t}}leave(){return n(this,null,function*(){if(!this.store.getState(xe)){this.logPossibleInconsistency("room leave is called when no room is connected");return}return this.sdk.leave().then(()=>{this.resetState("leave"),S.i("left room")}).catch(t=>{S.e("error in leaving room - ",t)})})}setScreenShareEnabled(e,t){return n(this,null,function*(){e?yield this.startScreenShare(t):yield this.stopScreenShare()})}addTrack(e,t="regular"){return n(this,null,function*(){yield this.sdk.addTrack(e,t),this.syncRoomState("addTrack")})}removeTrack(e){return n(this,null,function*(){yield this.sdk.removeTrack(e),this.syncRoomState("removeTrack")})}setLocalAudioEnabled(e){return n(this,null,function*(){let t=this.store.getState(w);t&&(yield this.setEnabledTrack(t,e))})}setLocalVideoEnabled(e){return n(this,null,function*(){let t=this.store.getState(U);t&&(yield this.setEnabledTrack(t,e))})}setEnabledTrack(e,t){return n(this,null,function*(){var r;if(((r=this.store.getState().tracks[e])==null?void 0:r.enabled)===t){this.logPossibleInconsistency(`local track[${e}] enabled state - ${t}`);return}this.setState(a=>{a.tracks[e]?a.tracks[e].displayEnabled=t:this.logPossibleInconsistency("track id not found for setEnabled")},"displayEnabled");try{yield this.setEnabledSDKTrack(e,t),this.syncRoomState("setEnabled")}catch(a){throw this.setState(u=>{u.tracks[e].displayEnabled=!t},"rollbackDisplayEnabled"),this.hmsNotifications.sendError(m.convertException(a)),a}let o=t?I.TRACK_UNMUTED:I.TRACK_MUTED;this.hmsNotifications.sendTrackUpdate(o,e)})}setAudioSettings(e){return n(this,null,function*(){let t=this.store.getState(w);t&&(yield this.setSDKLocalAudioTrackSettings(t,e),this.syncRoomState("setAudioSettings"))})}setVideoSettings(e){return n(this,null,function*(){let t=this.store.getState(U);t&&(yield this.setSDKLocalVideoTrackSettings(t,e),this.syncRoomState("setVideoSettings"))})}sendMessage(e){this.sendBroadcastMessage(e)}sendBroadcastMessage(e,t){return n(this,null,function*(){let i=yield this.sdk.sendBroadcastMessage(e,t);this.updateMessageInStore(i,{message:e,type:t})})}sendGroupMessage(e,t,i){return n(this,null,function*(){let o=this.store.getState(L),r=t.map(u=>o[u]),a=yield this.sdk.sendGroupMessage(e,r,i);this.updateMessageInStore(a,{message:e,recipientRoles:t,type:i})})}sendDirectMessage(e,t,i){return n(this,null,function*(){let o=this.hmsSDKPeers[t],r=yield this.sdk.sendDirectMessage(e,o);this.updateMessageInStore(r,{message:e,recipientPeer:o.peerId,type:i})})}updateMessageInStore(e,t){if(!e)throw S.w("sendMessage","Failed to send message",t),Error(`sendMessage Failed - ${JSON.stringify(t)}`);let i=m.convertMessage(e);return i.read=!0,i.senderName="You",this.onHMSMessage(i),i}setMessageRead(e,t){this.setState(i=>{t?i.messages.byID[t]?i.messages.byID[t].read=e:this.logPossibleInconsistency("no message with id is found"):i.messages.allIDs.forEach(o=>{i.messages.byID[o].read=e})},"setMessageRead")}attachVideo(e,t){return n(this,null,function*(){if(this.localAndVideoUnmuting(e))return new Promise(i=>{let o=this.store.subscribe(r=>n(this,null,function*(){r&&(yield this.attachVideoInternal(e,t),o(),i())}),te)});yield this.attachVideoInternal(e,t)})}detachVideo(e,t){return n(this,null,function*(){let i=this.hmsSDKTracks[e];i&&i.type==="video"?(yield i.removeSink(t),this.updateVideoLayer(e,"detachVideo")):this.logPossibleInconsistency("no video track found to remove sink")})}addPluginToVideoTrack(e,t){return n(this,null,function*(){return this.addRemoveVideoPlugin(e,"add",t)})}addPluginToAudioTrack(e){return n(this,null,function*(){return this.addRemoveAudioPlugin(e,"add")})}removePluginFromVideoTrack(e){return n(this,null,function*(){return this.addRemoveVideoPlugin(e,"remove")})}removePluginFromAudioTrack(e){return n(this,null,function*(){return this.addRemoveAudioPlugin(e,"remove")})}changeRole(e,t,i=!1){return n(this,null,function*(){let o=this.hmsSDKPeers[e];if(!o){this.logPossibleInconsistency(`Unknown peer ID given ${e} for changerole`);return}yield this.sdk.changeRole(o,t,i)})}acceptChangeRole(e){return n(this,null,function*(){let t=e.requestedBy?this.hmsSDKPeers[e.requestedBy.id]:void 0;t||S.w(`peer for which role change is requested no longer available - ${e.requestedBy}`);let i={requestedBy:t,role:e.role,token:e.token};yield this.sdk.acceptChangeRole(i),this.removeRoleChangeRequest(e)})}rejectChangeRole(e){this.removeRoleChangeRequest(e)}endRoom(e,t){return n(this,null,function*(){let i=this.store.getState(Le);if(!(i==null?void 0:i.endRoom)){S.w("You are not allowed to perform this action - endRoom");return}yield this.sdk.endRoom(e,t)})}removePeer(e,t){return n(this,null,function*(){let i=this.hmsSDKPeers[e];if(i&&!i.isLocal)yield this.sdk.removePeer(i,t);else{this.logPossibleInconsistency(`No remote peer found for peerID - ${e}`);return}})}startRTMPOrRecording(e){return n(this,null,function*(){yield this.sdk.startRTMPOrRecording(e)})}stopRTMPAndRecording(){return n(this,null,function*(){yield this.sdk.stopRTMPAndRecording()})}changeName(e){return n(this,null,function*(){yield this.sdk.changeName(e)})}changeMetadata(e){return n(this,null,function*(){typeof e!="string"&&(e=JSON.stringify(e)),yield this.sdk.changeMetadata(e)})}setRemoteTrackEnabled(e,t){return n(this,null,function*(){if(typeof e=="string"){let i=this.hmsSDKTracks[e];i&&ze(i)?yield this.sdk.changeTrackState(i,t):this.logPossibleInconsistency(`No remote track with ID ${e} found for change track state`)}else Array.isArray(e)&&e.forEach(i=>this.setRemoteTrackEnabled(i,t))})}setRemoteTracksEnabled(e){return n(this,null,function*(){let t={enabled:e.enabled,type:e.type,source:e.source};if(e.roles){let i=this.store.getState(L);t.roles=e.roles.map(o=>i[o])}yield this.sdk.changeMultiTrackState(t)})}setLogLevel(e){S.level=e,this.sdk.setLogLevel(e)}resetState(e="resetState"){this.setState(t=>{Object.assign(t,W())},e),this.isRoomJoinCalled=!1,this.hmsSDKTracks={},S.cleanUp()}sdkJoinWithListeners(e){this.sdk.join(e,{onJoin:this.onJoin.bind(this),onRoomUpdate:this.onRoomUpdate.bind(this),onPeerUpdate:this.onPeerUpdate.bind(this),onTrackUpdate:this.onTrackUpdate.bind(this),onMessageReceived:this.onMessageReceived.bind(this),onError:this.onError.bind(this),onReconnected:this.onReconnected.bind(this),onReconnecting:this.onReconnecting.bind(this),onRoleChangeRequest:this.onRoleChangeRequest.bind(this),onRoleUpdate:this.onRoleUpdate.bind(this),onDeviceChange:this.onDeviceChange.bind(this),onChangeTrackStateRequest:this.onChangeTrackStateRequest.bind(this),onChangeMultiTrackStateRequest:this.onChangeMultiTrackStateRequest.bind(this),onRemovedFromRoom:this.onRemovedFromRoom.bind(this)}),this.sdk.addAudioListener({onAudioLevelUpdate:this.onAudioLevelUpdate.bind(this)})}onRemovedFromRoom(e){var i;let t=this.store.getState(C((i=e.requestedBy)==null?void 0:i.peerId));this.hmsNotifications.sendLeaveRoom(B(V({},e),{requestedBy:t||void 0})),S.i("resetting state after peer removed",e),this.resetState(e.roomEnded||!t?"roomEnded":"removedFromRoom")}onDeviceChange(e){let t=e.devices;if(!t)return;let i=this.store.getState(E);if(this.setState(o=>{A(o.devices.audioInput,t.audioInput)||(o.devices.audioInput=t.audioInput),A(o.devices.videoInput,t.videoInput)||(o.devices.videoInput=t.videoInput),A(o.devices.audioOutput,t.audioOutput)||(o.devices.audioOutput=t.audioOutput),this.hmsSDKPeers[i==null?void 0:i.id]&&Object.assign(o.settings,this.getMediaSettings(this.hmsSDKPeers[i==null?void 0:i.id]))},"deviceChange"),e.selection){let o=m.convertDeviceChangeUpdate(e);this.hmsNotifications.sendDeviceChange(o)}}sdkPreviewWithListeners(e){return n(this,null,function*(){yield this.sdk.preview(e,{onPreview:this.onPreview.bind(this),onError:this.onError.bind(this),onDeviceChange:this.onDeviceChange.bind(this)}),this.sdk.addAudioListener({onAudioLevelUpdate:this.onAudioLevelUpdate.bind(this)})})}startScreenShare(e){return n(this,null,function*(){this.store.getState(se)?this.logPossibleInconsistency("start screenshare is called while it's on"):(yield this.sdk.startScreenShare(()=>this.syncRoomState("screenshareStopped"),e),this.syncRoomState("startScreenShare"))})}stopScreenShare(){return n(this,null,function*(){this.store.getState(se)?(yield this.sdk.stopScreenShare(),this.syncRoomState("stopScreenShare")):this.logPossibleInconsistency("stop screenshare is called while it's not on")})}attachVideoInternal(e,t){return n(this,null,function*(){let i=this.hmsSDKTracks[e];i&&i.type==="video"?(yield i.addSink(t),this.updateVideoLayer(e,"attachVideo")):this.logPossibleInconsistency("no video track found to add sink")})}syncRoomState(e){S.time(`store-sync-${e}`);let t={},i=[],o={},r={},a={},u=this.sdk.getPeers();for(let k of u){let b=m.convertPeer(k);t[b.id]=b,i.push(b.id),this.hmsSDKPeers[b.id]=k;let _=[k.audioTrack,k.videoTrack,...k.auxiliaryTracks];for(let K of _){if(!K)continue;let Se=m.convertTrack(K);o[Se.id]=Se,r[K.trackId]=K}b.isLocal&&Object.assign(a,this.getMediaSettings(k))}let h=this.sdk.getRecordingState(),R=this.sdk.getRTMPState();this.setState(k=>{k.room.peers=i;let b=k.peers,_=k.tracks;me(b,t),he(_,o),Object.assign(k.settings,a),this.hmsSDKTracks=r,Object.assign(k.roles,m.convertRoles(this.sdk.getRoles())),Object.assign(k.playlist,m.convertPlaylist(this.sdk.getPlaylistManager())),Object.assign(k.room,m.convertRecordingRTMPState(h,R))},e),S.timeEnd(`store-sync-${e}`)}onPreview(e){this.setState(t=>{Object.assign(t.room,m.convertRoom(e)),t.room.roomState=H.Preview},"previewStart"),this.syncRoomState("previewSync")}onJoin(e){let t=this.sdk.getPlaylistManager();this.audioPlaylist=new Z(t,l.audio,this.syncPlaylistState.bind(this),this.store),this.videoPlaylist=new Z(t,l.video,this.syncRoomState.bind(this),this.store),this.syncRoomState("joinSync"),this.setState(i=>{Object.assign(i.room,m.convertRoom(e)),i.room.isConnected=!0,i.room.roomState=H.Connected},"joined"),t.onProgress(this.setProgress),t.onNewTrackStart(i=>{this.syncPlaylistState(`${i.type}PlaylistUpdate`)}),t.onPlaylistEnded(i=>{this.syncPlaylistState(`${i}PlaylistEnded`)}),t.onCurrentTrackEnded(i=>{this.hmsNotifications.sendPlaylistTrackEnded(m.convertPlaylistItem(t,i)),this.syncPlaylistState(`${i.type}PlaylistItemEnded`)})}onRoomUpdate(e,t){this.setState(i=>{Object.assign(i.room,m.convertRoom(t))},"RoomUpdate")}onPeerUpdate(e,t){if(![P.BECAME_DOMINANT_SPEAKER,P.RESIGNED_DOMINANT_SPEAKER].includes(e)){if(Array.isArray(t)){this.syncRoomState("peersJoined");let i=[];for(let o of t){let r=this.store.getState(C(o.peerId));r&&i.push(r)}this.hmsNotifications.sendPeerList(i);return}this.sendPeerUpdateNotification(e,t)}}onTrackUpdate(e,t,i){if(e===I.TRACK_REMOVED)this.hmsNotifications.sendTrackUpdate(e,t.trackId),this.handleTrackRemove(t,i);else{let o=e===I.TRACK_ADDED?"trackAdded":"trackUpdate";this.syncRoomState(o),this.hmsNotifications.sendTrackUpdate(e,t.trackId)}}onMessageReceived(e){let t=m.convertMessage(e);t.read=!1,this.onHMSMessage(t),this.hmsNotifications.sendMessageReceived(t)}onHMSMessage(e){this.setState(t=>{e.id=String(this.store.getState(Ce)+1),t.messages.byID[e.id]=e,t.messages.allIDs.push(e.id)},"newMessage")}onAudioLevelUpdate(e){this.setState(t=>{let i={};e.forEach(r=>{if(!r.track||!r.peer)return;let a=r.track.trackId;i[a]=r.audioLevel,t.speakers[a]||(t.speakers[a]={audioLevel:r.audioLevel,peerID:r.peer.peerId,trackID:a})});let o=Object.entries(t.speakers);for(let[r,a]of o)a.audioLevel=i[r]||0,a.audioLevel===0&&delete t.speakers[r]},"audioLevel")}onChangeTrackStateRequest(e){let t=this.store.getState(C(e.requestedBy.peerId)),i=this.getStoreLocalTrackIDfromSDKTrack(e.track),o=this.store.getState(z(i));if(!t)return this.logPossibleInconsistency(`Not found peer who requested track state change, ${e.requestedBy}`);if(!o)return this.logPossibleInconsistency(`Not found track for which track state change was requested, ${e.track}`);e.enabled||this.syncRoomState("changeTrackStateRequest"),this.hmsNotifications.sendChangeTrackStateRequest({requestedBy:t,track:o,enabled:e.enabled})}onChangeMultiTrackStateRequest(e){let t=this.store.getState(C(e.requestedBy.peerId));if(!t)return this.logPossibleInconsistency(`Not found peer who requested track state change, ${e.requestedBy}`);e.enabled||this.syncRoomState("changeMultiTrackStateRequest");let i=[],o=this.store.getState(g);for(let r of e.tracks){let a=this.getStoreLocalTrackIDfromSDKTrack(r);a&&o[a]&&i.push(o[a])}this.hmsNotifications.sendChangeMultiTrackStateRequest({requestedBy:t,tracks:i,enabled:e.enabled,type:e.type,source:e.source})}onReconnected(){this.syncRoomState("reconnectedSync"),this.hmsNotifications.sendReconnected(),this.setState(e=>{e.room.roomState=H.Connected},"reconnected")}onReconnecting(e){let t=m.convertException(e);S.e("Reconnection: received error from sdk",t),this.hmsNotifications.sendReconnecting(t),this.setState(i=>{i.room.roomState=H.Reconnecting,i.errors.push(t)},"reconnecting")}onError(e){let t=m.convertException(e);t.isTerminal?(this.leave().then(()=>S.e("error from SDK, left room.")),this.setState(i=>{i.room.roomState=H.Failed,i.errors.push(t)},"errorTerminal")):this.store.getState().errors.length<50&&this.setState(o=>{o.errors.push(t)},"error"),this.hmsNotifications.sendError(t),S.e("received error from sdk",t)}updateVideoLayer(e,t){let i=this.hmsSDKTracks[e];i&&i instanceof st&&this.setState(o=>{o.tracks[e].layer=i.getSimulcastLayer()},t)}handleTrackRemove(e,t){this.setState(i=>{let o=i.peers[t.peerId],r=i.tracks,a=e.trackId;if(this.isSameStoreSDKTrack(a,o==null?void 0:o.audioTrack))o==null||delete o.audioTrack;else if(this.isSameStoreSDKTrack(a,o==null?void 0:o.videoTrack))o==null||delete o.videoTrack;else{let u=o==null?void 0:o.auxiliaryTracks.indexOf(a);u>-1&&this.isSameStoreSDKTrack(a,o==null?void 0:o.auxiliaryTracks[u])&&(o==null||o.auxiliaryTracks.splice(u,1))}delete r[a],delete this.hmsSDKTracks[a]},"trackRemoved")}setEnabledSDKTrack(e,t){return n(this,null,function*(){let i=this.hmsSDKTracks[e];i?yield i.setEnabled(t):this.logPossibleInconsistency(`track ${e} not present, unable to enabled/disable`)})}setSDKLocalVideoTrackSettings(e,t){return n(this,null,function*(){let i=this.hmsSDKTracks[e];i?yield i.setSettings(t):this.logPossibleInconsistency(`local track ${e} not present, unable to set settings`)})}setSDKLocalAudioTrackSettings(e,t){return n(this,null,function*(){let i=this.hmsSDKTracks[e];i?yield i.setSettings(t):this.logPossibleInconsistency(`local track ${e} not present, unable to set settings`)})}getMediaSettings(e){var r;let t=this.store.getState(Ie),i=e.audioTrack,o=e.videoTrack;return{audioInputDeviceId:(i==null?void 0:i.settings.deviceId)||t.audioInputDeviceId,videoInputDeviceId:(o==null?void 0:o.settings.deviceId)||t.videoInputDeviceId,audioOutputDeviceId:(r=this.sdk.getAudioOutput().getDevice())==null?void 0:r.deviceId}}setTrackVolume(e,t){let i=this.hmsSDKTracks[t];i?i instanceof At?(i.setVolume(e),this.setState(o=>{let r=o.tracks[t];r&&(r.volume=e)},"trackVolume")):S.w(`track ${t} is not an audio track`):this.logPossibleInconsistency(`track ${t} not present, unable to set volume`)}localAndVideoUnmuting(e){if(this.store.getState(E).videoTrack!==e)return!1;let i=this.store.getState(Ae),o=this.store.getState(te);return i&&!o}logPossibleInconsistency(e){S.w("possible inconsistency detected - ",e)}addRemoveVideoPlugin(e,t,i){return n(this,null,function*(){if(!e){S.w("Invalid plugin received in store");return}let o=this.store.getState(U);if(o){let r=this.hmsSDKTracks[o];r?(t==="add"?yield r.addPlugin(e,i):t==="remove"&&(yield r.removePlugin(e)),this.syncRoomState(`${t}VideoPlugin`)):this.logPossibleInconsistency(`track ${o} not present, unable to remove plugin`)}})}addRemoveAudioPlugin(e,t){return n(this,null,function*(){if(!e){S.w("Invalid plugin received in store");return}let i=this.store.getState(w);if(i){let o=this.hmsSDKTracks[i];o?(t==="add"?yield o.addPlugin(e):t==="remove"&&(yield o.removePlugin(e)),this.syncRoomState(`${t}AudioPlugin`)):this.logPossibleInconsistency(`track ${i} not present, unable to remove plugin`)}})}isSameStoreSDKTrack(e,t){var i;return t?((i=this.hmsSDKTracks[t])==null?void 0:i.trackId)===e:!1}onRoleChangeRequest(e){this.setState(t=>{t.roleChangeRequests.length===0&&t.roleChangeRequests.push(m.convertRoleChangeRequest(e))},"roleChangeRequest")}removeRoleChangeRequest(e){this.setState(t=>{let i=t.roleChangeRequests.findIndex(o=>o.token===e.token);i!==-1&&t.roleChangeRequests.splice(i,1)},"removeRoleChangeRequest")}onRoleUpdate(){this.syncRoomState("roleUpdate")}getStoreLocalTrackIDfromSDKTrack(e){return this.store.getState(be).find(i=>this.hmsSDKTracks[i].trackId===e.trackId)}};import{EventEmitter2 as Ct}from"eventemitter2";var le="hmsNotification",de=class{constructor(e){this.id=0;this.onNotification=e=>(this.eventEmitter.addListener(le,e),()=>{this.eventEmitter.removeListener(le,e)});this.store=e,this.eventEmitter=new Ct}sendPlaylistTrackEnded(e){let t=this.createNotification(p.PLAYLIST_TRACK_ENDED,e,f.INFO);this.emitEvent(t)}sendDeviceChange(e){var i;let t=this.createNotification(p.DEVICE_CHANGE_UPDATE,e,e.error?f.ERROR:f.INFO,`Selected ${e.type} device - ${(i=e.selection)==null?void 0:i.label}`);this.emitEvent(t)}sendLeaveRoom(e){var o;let t=(o=e.requestedBy)==null?void 0:o.name,i=this.createNotification(e.roomEnded||!t?p.ROOM_ENDED:p.REMOVED_FROM_ROOM,e,f.INFO,`${e.roomEnded?"Room ended":"Removed from room"} ${t?`by ${t}`:""}`);this.emitEvent(i)}sendPeerList(e){let t=this.createNotification(p.PEER_LIST,e,f.INFO);this.emitEvent(t)}sendPeerUpdate(e,t){let i=this.store.getState(C(t==null?void 0:t.id))||t,o=Ze[e];if(o){let r=this.createNotification(o,i,f.INFO);this.emitEvent(r)}}sendTrackUpdate(e,t){let i=this.store.getState(z(t)),o=et[e];if(o){let r=this.createNotification(o,i,f.INFO);this.emitEvent(r)}}sendMessageReceived(e){let t=this.createNotification(p.NEW_MESSAGE,e,f.INFO);this.emitEvent(t)}sendError(e){let t=this.createNotification(p.ERROR,e,f.ERROR);this.emitEvent(t)}sendReconnecting(e){let t=this.createNotification(p.RECONNECTING,e,f.ERROR);this.emitEvent(t)}sendReconnected(){let e=this.createNotification(p.RECONNECTED,null,f.INFO);this.emitEvent(e)}sendChangeTrackStateRequest(e){let t=this.createNotification(p.CHANGE_TRACK_STATE_REQUEST,e,f.INFO);this.emitEvent(t)}sendChangeMultiTrackStateRequest(e){let t=this.createNotification(p.CHANGE_MULTI_TRACK_STATE_REQUEST,e,f.INFO);this.emitEvent(t)}emitEvent(e){this.eventEmitter.emit(le,e)}createNotification(e,t,i,o=""){return this.id++,{id:this.id,type:e,message:o,data:t,severity:i}}};var O=class{constructor(e,t,i){e?this.store=e:this.store=O.createNewHMSStore(),i?this.notifications=i:this.notifications=new de(this.store),t?this.actions=t:this.actions=new ce(this.store,new Nt,this.notifications),this.initialTriggerOnSubscribe=!1}triggerOnSubscribe(){this.initialTriggerOnSubscribe||(O.makeStoreTriggerOnSubscribe(this.store),this.initialTriggerOnSubscribe=!0)}getStore(){return this.store}getHMSActions(){return this.actions}getNotifications(){return{onNotification:this.notifications.onNotification}}static createNewHMSStore(){let e=Lt(()=>W()),t=e.setState;e.setState=r=>{let a=typeof r=="function"?xt(r):r;t(a)};let i=e.getState;e.getState=r=>{if(r){let a=r.name||"byIDSelector";window.selectorsCount||(window.selectorsCount={}),window.selectorsCount[a]=(window.selectorsCount[a]||0)+1;let u=performance.now(),h=r(i()),R=performance.now()-u;return R>1&&(window.expensiveSelectors=window.expensiveSelectors||new Map,window.expensiveSelectors.set(a,R)),h}return i()},O.useShallowCheckInSubscribe(e);let o=O.setUpDevtools(e,"HMSStore");return B(V({},e),{namedSetState:o})}static makeStoreTriggerOnSubscribe(e){let t=e.subscribe;e.subscribe=(i,o,r)=>(i(e.getState(o),void 0),t(i,o,r))}static useShallowCheckInSubscribe(e){let t=e.subscribe;e.subscribe=(i,o,r)=>(o||(o=a=>a),r=r||Ot,t(i,o,r))}static setUpDevtools(e,t){let i;try{i=window.__REDUX_DEVTOOLS_EXTENSION__||window.top.__REDUX_DEVTOOLS_EXTENSION__}catch(a){}if(!i)return a=>{e.setState(a)};let o=i.connect(O.devtoolsOptions(t));o.prefix=t?`${t} > `:"";let r=e.setState;return e.setState=a=>{r(a),o.send(`${o.prefix}setState`,e.getState())},o.subscribe(O.devtoolsSubscribe(o,e,r)),o.send("setUpStore",e.getState()),(a,u)=>{r(a);let h=u||`${o.prefix}action`;o.send(h,e.getState())}}static devtoolsOptions(e){return{name:e,actionsBlacklist:["audioLevel","playlistProgress"]}}static devtoolsSubscribe(e,t,i){return o=>{var r,a,u,h;if(o.type==="DISPATCH"&&o.state)["JUMP_TO_ACTION","JUMP_TO_STATE"].includes(o.payload.type)?i(JSON.parse(o.state)):t.setState(JSON.parse(o.state));else if(o.type==="DISPATCH"&&((r=o.payload)==null?void 0:r.type)==="COMMIT")e.init(t.getState());else if(o.type==="DISPATCH"&&((a=o.payload)==null?void 0:a.type)==="IMPORT_STATE"){let R=(u=o.payload.nextLiftedState)==null?void 0:u.actionsById;(((h=o.payload.nextLiftedState)==null?void 0:h.computedStates)||[]).forEach(({state:b},_)=>{let K=R[_]||`${e.prefix}setState`;_===0?e.init(b):(i(b),e.send(K,t.getState()))})}}}};export{ct as HMSAudioPluginType,T as HMSLogLevel,Me as HMSMessageType,f as HMSNotificationSeverity,p as HMSNotificationTypes,l as HMSPlaylistType,O as HMSReactiveStore,H as HMSRoomState,lt as HMSVideoPluginType,W as createDefaultStoreState,qe as selectAudioPlaylist,Ii as selectAudioPlaylistTrackByPeerID,Ht as selectAudioTrackByPeerID,Ye as selectAudioTrackVolume,Li as selectAudioVolumeByPeerID,Ri as selectAuxiliaryAudioByPeerID,fi as selectAuxiliaryTracksByPeerID,ii as selectAvailableRoleNames,kt as selectBroadcastMessages,wi as selectBroadcastMessagesUnreadCount,Hi as selectCameraStreamByPeerID,ei as selectDegradedTracks,$s as selectDevices,Js as selectDominantSpeaker,Q as selectHMSMessages,Ce as selectHMSMessagesCount,Wi as selectIsAllowedToPublish,oi as selectIsAllowedToSubscribe,We as selectIsAudioLocallyMuted,Fs as selectIsConnectedToRoom,si as selectIsInPreview,Ws as selectIsLocalAudioEnabled,eo as selectIsLocalAudioPluginPresent,se as selectIsLocalScreenShared,Ae as selectIsLocalVideoDisplayEnabled,te as selectIsLocalVideoEnabled,Zi as selectIsLocalVideoPluginPresent,Ci as selectIsLocallyMutedByPeerID,bi as selectIsPeerAudioEnabled,Ai as selectIsPeerVideoEnabled,xi as selectIsScreenShareLocallyMutedByPeerID,Ys as selectIsSomeoneScreenSharing,w as selectLocalAudioTrackID,Ie as selectLocalMediaSettings,E as selectLocalPeer,Ee as selectLocalPeerID,X as selectLocalPeerRole,be as selectLocalTrackIDs,U as selectLocalVideoTrackID,De as selectMessageIDsInOrder,Ui as selectMessagesByPeerID,_i as selectMessagesByRole,ve as selectMessagesMap,Vi as selectMessagesUnreadCountByPeerID,Ki as selectMessagesUnreadCountByRole,Pi as selectPeerAudioByID,C as selectPeerByID,Gs as selectPeerCount,qi as selectPeerMetadata,yi as selectPeerNameByID,gt as selectPeerScreenSharing,Qs as selectPeerSharingAudio,Zs as selectPeerSharingAudioPlaylist,zs as selectPeerSharingVideoPlaylist,ee as selectPeers,Bi as selectPeersByRole,D as selectPeersMap,Xs as selectPeersScreenSharing,ji as selectPeersWithAudioStatus,Le as selectPermissions,ai as selectRTMPState,ri as selectRecordingState,js as selectRemotePeers,zi as selectRoleByRoleName,Ji as selectRoleChangeRequest,L as selectRolesMap,x as selectRoom,xe as selectRoomStarted,ie as selectRoomState,Je as selectScreenShareAudioByPeerID,Ei as selectScreenShareByPeerID,je as selectScreenSharesByPeerId,Oi as selectScreenshareAudioVolumeByPeerID,Ni as selectSimulcastLayerByTrack,Mt as selectSpeakers,ki as selectTrackAudioByID,z as selectTrackByID,g as selectTracksMap,ti as selectUnreadHMSMessagesCount,$e as selectVideoPlaylist,Di as selectVideoPlaylistAudioTrackByPeerID,vi as selectVideoPlaylistVideoTrackByPeerID,yt as selectVideoTrackByPeerID};
|
|
1
|
+
var ot=Object.defineProperty,rt=Object.defineProperties;var nt=Object.getOwnPropertyDescriptors;var pe=Object.getOwnPropertySymbols;var at=Object.prototype.hasOwnProperty,ct=Object.prototype.propertyIsEnumerable;var Me=(s,e,t)=>e in s?ot(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,_=(s,e)=>{for(var t in e||(e={}))at.call(e,t)&&Me(s,t,e[t]);if(pe)for(var t of pe(e))ct.call(e,t)&&Me(s,t,e[t]);return s},K=(s,e)=>rt(s,nt(e));var a=(s,e,t)=>new Promise((i,o)=>{var r=m=>{try{S(t.next(m))}catch(R){o(R)}},n=m=>{try{S(t.throw(m))}catch(R){o(R)}},S=m=>m.done?i(m.value):Promise.resolve(m.value).then(r,n);S((t=t.apply(s,e)).next())});import xt from"immer";import Ot from"zustand/vanilla";import wt from"zustand/shallow";import{HMSSdk as Nt}from"@100mslive/hms-video";var f;(function(n){n.Disconnected="Disconnected",n.Preview="Preview",n.Connecting="Connecting",n.Connected="Connected",n.Reconnecting="Reconnecting",n.Failed="Failed"})(f||(f={}));var W=()=>({room:{id:"",isConnected:!1,name:"",peers:[],shareableLink:"",localPeer:"",hasWaitingRoom:!1,roomState:f.Disconnected,recording:{browser:{running:!1},server:{running:!1}},rtmp:{running:!1},hls:{running:!1,url:""},sessionId:""},peers:{},tracks:{},playlist:{audio:{list:{},selection:{id:"",hasPrevious:!1,hasNext:!1},progress:0,volume:0,currentTime:0,playbackRate:1},video:{list:{},selection:{id:"",hasPrevious:!1,hasNext:!1},progress:0,volume:0,currentTime:0,playbackRate:1}},messages:{byID:{},allIDs:[]},speakers:{},settings:{audioInputDeviceId:"",audioOutputDeviceId:"",videoInputDeviceId:""},devices:{audioInput:[],audioOutput:[],videoInput:[]},roles:{},roleChangeRequests:[],errors:[]});var me;(function(e){e.CHAT="chat"})(me||(me={}));var k;(function(i){i.INFO="info",i.ERROR="error",i.CRITICAL="critical"})(k||(k={}));var p;(function(c){c.PEER_JOINED="PEER_JOINED",c.PEER_LEFT="PEER_LEFT",c.PEER_LIST="PEER_LIST",c.NEW_MESSAGE="NEW_MESSAGE",c.ERROR="ERROR",c.RECONNECTING="RECONNECTING",c.RECONNECTED="RECONNECTED",c.TRACK_ADDED="TRACK_ADDED",c.TRACK_REMOVED="TRACK_REMOVED",c.TRACK_MUTED="TRACK_MUTED",c.TRACK_UNMUTED="TRACK_UNMUTED",c.TRACK_DEGRADED="TRACK_DEGRADED",c.TRACK_RESTORED="TRACK_RESTORED",c.ROLE_CHANGE_REQUEST="ROLE_CHANGE_REQUEST",c.ROLE_UPDATED="ROLE_UPDATED",c.CHANGE_TRACK_STATE_REQUEST="CHANGE_TRACK_STATE_REQUEST",c.CHANGE_MULTI_TRACK_STATE_REQUEST="CHANGE_MULTI_TRACK_STATE_REQUEST",c.ROOM_ENDED="ROOM_ENDED",c.REMOVED_FROM_ROOM="REMOVED_FROM_ROOM",c.DEVICE_CHANGE_UPDATE="DEVICE_CHANGE_UPDATE",c.PLAYLIST_TRACK_ENDED="PLAYLIST_TRACK_ENDED",c.NAME_UPDATED="NAME_UPDATED",c.METADATA_UPDATED="METADATA_UPDATED"})(p||(p={}));var d;(function(t){t.audio="audio",t.video="video"})(d||(d={}));import{HMSException as jt,HMSSimulcastLayer as Jt,HMSPeerUpdate as P,HMSRoomUpdate as Wt,HMSTrackUpdate as I,HMSLogLevel as T,HMSAudioPluginType as lt,HMSVideoPluginType as dt}from"@100mslive/hms-video";import{HMSLocalAudioTrack as ke,HMSLocalVideoTrack as Pe,HMSRemoteAudioTrack as ut,HMSRemoteVideoTrack as pt}from"@100mslive/hms-video";var he=(s,e)=>{let t=fe(Object.keys(s),Object.keys(e));for(let i of t){let o=s[i],r=e[i];Te(o,r)?(C(o.auxiliaryTracks,r.auxiliaryTracks)&&(r.auxiliaryTracks=o.auxiliaryTracks),Object.assign(o,r)):ye(o,r)?delete s[i]:He(o,r)&&(s[i]=r)}},ge=(s,e)=>{let t=fe(Object.keys(s),Object.keys(e));for(let i of t){let o=s[i],r=e[i];Te(o,r)?(St(o,r),Object.assign(o,r)):ye(o,r)?delete s[i]:He(o,r)&&(s[i]=r)}},St=(s,e)=>{s.plugins&&C(s.plugins,e.plugins)&&(e.plugins=s.plugins),s.layerDefinitions&&C(s.layerDefinitions,e.layerDefinitions)&&(e.layerDefinitions=s.layerDefinitions)},Te=(s,e)=>s&&e,ye=(s,e)=>s&&!e,He=(s,e)=>!s&&e,C=(s,e)=>{if(s===e||s.length===0&&(e==null?void 0:e.length)===0)return!0;if(!s||!e||s.length!==e.length)return!1;for(let t=0;t<s.length;t++)if(s[t]!==e[t])return!1;return!0},fe=(s,e)=>{let t=new Set;for(let i of s)t.add(i);for(let i of e)t.add(i);return Array.from(t)};var h=class{static convertPeer(e){var t,i,o;return{id:e.peerId,name:e.name,roleName:(t=e.role)==null?void 0:t.name,isLocal:e.isLocal,videoTrack:(i=e.videoTrack)==null?void 0:i.trackId,audioTrack:(o=e.audioTrack)==null?void 0:o.trackId,auxiliaryTracks:e.auxiliaryTracks.map(r=>r.trackId),customerUserId:e.customerUserId,customerDescription:e.metadata,metadata:e.metadata}}static convertTrack(e,t){let i={id:e.trackId,source:e.source,type:e.type,enabled:e.enabled,displayEnabled:e.enabled,peerId:e.peerId||t};return this.enrichTrack(i,e),i}static enrichTrack(e,t){let i=t.getMediaTrackSettings();e.source==="screen"&&e.type==="video"&&(e.displaySurface=i.displaySurface),e.height=i.height,e.width=i.width,t instanceof ut&&(e.volume=t.getVolume()||0),h.updateDeviceID(e,t),h.enrichVideoTrack(e,t),h.enrichPluginsDetails(e,t)}static updateDeviceID(e,t){var i;t instanceof Pe||t instanceof ke?e.deviceID=t.settings.deviceId:e.deviceID=(i=t.getMediaTrackSettings())==null?void 0:i.deviceId}static enrichVideoTrack(e,t){t instanceof pt&&(e.layer=t.getSimulcastLayer(),e.degraded=t.degraded,C(t.getSimulcastDefinitions(),e.layerDefinitions)||(e.layerDefinitions=t.getSimulcastDefinitions()))}static enrichPluginsDetails(e,t){(t instanceof Pe||t instanceof ke)&&(C(t.getPlugins(),e.plugins)||(e.plugins=t.getPlugins()))}static convertRoom(e){var t,i,o,r,n,S,m;return{id:e.id,name:e.name,localPeer:(i=(t=e.localPeer)==null?void 0:t.peerId)!=null?i:"",hasWaitingRoom:e.hasWaitingRoom,shareableLink:e.shareableLink,recording:{browser:{running:!!((o=e.recording)==null?void 0:o.browser.running)},server:{running:!!((r=e.recording)==null?void 0:r.server.running)}},rtmp:{running:!!((n=e.rtmp)==null?void 0:n.running)},hls:{running:!!((S=e.hls)==null?void 0:S.running),url:((m=e.hls)==null?void 0:m.url)||""},sessionId:e.sessionId,startedAt:e.startedAt}}static convertMessage(e){var t,i,o;return{sender:e.sender.peerId,senderName:e.sender.name,senderRole:(t=e.sender.role)==null?void 0:t.name,senderUserId:e.sender.customerUserId,recipientPeer:(i=e.recipientPeer)==null?void 0:i.peerId,recipientRoles:(o=e.recipientRoles)==null?void 0:o.map(r=>r.name),time:e.time,type:e.type,message:e.message}}static convertRoles(e){let t={};return e&&e.forEach(i=>{t[i.name]=i}),t}static convertRoleChangeRequest(e){return{requestedBy:e.requestedBy.peerId,roleName:e.role.name,token:e.token}}static convertException(e){return{code:e.code,action:e.action,name:e.name,message:e.message,description:e.description,isTerminal:e.isTerminal,nativeError:e.nativeError,timestamp:new Date}}static convertDeviceChangeUpdate(e){let t={devices:e.devices,selection:e.selection,type:e.type};return e.error&&(t.error=this.convertException(e.error)),t}static convertPlaylist(e){let t=this.getConvertedPlaylistType(e,d.audio),i=this.getConvertedPlaylistType(e,d.video);return{audio:t,video:i}}static convertPlaylistItem(e,t){let i=t.type,o=e.getCurrentSelection(i),r=e.isPlaying(i),n=t.url===(o==null?void 0:o.url);return K(_({},t),{type:t.type,selected:n,playing:n&&r})}static getConvertedPlaylistType(e,t){let i={},o=e.getCurrentSelection(t),r=e.getCurrentProgress(t),n=e.getVolume(t),S=e.getList(t),m=e.getCurrentIndex(t);return e.getList(t).forEach(R=>{i[R.id]=h.convertPlaylistItem(e,R)}),{list:i,selection:{id:o==null?void 0:o.id,hasPrevious:m>0,hasNext:m<S.length-1},progress:r,volume:n,currentTime:e.getCurrentTime(t),playbackRate:e.getPlaybackRate(t)}}static convertRecordingRTMPState(e,t,i){var o,r;return{recording:{browser:{running:!!((o=e==null?void 0:e.browser)==null?void 0:o.running)},server:{running:!!((r=e==null?void 0:e.server)==null?void 0:r.running)}},rtmp:{running:!!(t==null?void 0:t.running)},hls:{url:(i==null?void 0:i.url)||"",running:!!(i==null?void 0:i.running)}}}};import{createSelector as l}from"reselect";function w(s,e,t=Mt){let i,o;if(e)for(let r of e.auxiliaryTracks){let n=s[r];t(n)&&(o=q(n)?n:o,i=$(n)?n:i)}return{video:i,audio:o}}function q(s){return s&&s.type==="audio"}function $(s){return s&&s.type==="video"}function Mt(s){return s&&s.source==="screen"}function Y(s){return s&&s.source==="audioplaylist"}function F(s){return s&&s.source==="videoplaylist"}function Re(s){return Boolean(s==null?void 0:s.degraded)}function V(s,e){return e&&s.tracks[e]?s.tracks[e].enabled:!1}function ve(s,e){return e&&s.tracks[e]?s.tracks[e].displayEnabled:!1}var E=s=>s.room,D=s=>s.peers,De=s=>s.messages.byID,Ie=s=>s.messages.allIDs,g=s=>s.tracks,Ee=s=>s.settings,js=s=>s.devices,mt=s=>s.speakers,Js=l([E],s=>s&&s.isConnected),Ws=l(E,s=>s.peers.length),ee=l([E,D],(s,e)=>s.peers.map(t=>e[t])),ht=l(g,s=>Object.values(s)),b=l(E,D,(s,e)=>e[s.localPeer]),be=l(E,s=>s.localPeer),N=l(b,s=>s==null?void 0:s.audioTrack),U=l(b,s=>s==null?void 0:s.videoTrack),gt=l(b,s=>s==null?void 0:s.auxiliaryTracks),Ae=l([N,U,gt],(s,e,t)=>{let i=[...t];return s&&i.unshift(s),e&&i.unshift(e),i}),Ys=l(ee,s=>s.filter(e=>!e.isLocal)),Qs=l(D,mt,(s,e)=>{let t=Object.entries(e).sort((i,o)=>{var S,m;let r=((S=i[1])==null?void 0:S.audioLevel)||0;return(((m=o[1])==null?void 0:m.audioLevel)||0)>r?1:-1});if(t.length>0&&t[0][1].audioLevel&&t[0][1].audioLevel>0){let i=t[0][1].peerID;if(i in s)return s[i]}return null}),Xs=s=>{let e=b(s);return V(s,e==null?void 0:e.audioTrack)},te=s=>{let e=b(s);return V(s,e==null?void 0:e.videoTrack)},Ce=s=>{let e=b(s);return ve(s,e==null?void 0:e.videoTrack)},se=l(b,g,(s,e)=>{let{video:t,audio:i}=w(e,s);return!!(t||i)}),Tt=l(D,g,(s,e)=>{let t;for(let i in s){let o=s[i],{video:r,audio:n}=w(e,o);if(r)return o;n&&!t&&(t=o)}return t}),zs=l(Tt,s=>!!s),Zs=l(D,g,(s,e)=>{for(let t in s){let i=s[t],{audio:o,video:r}=w(e,i);if(!r&&!!o)return i}}),ei=l(D,g,(s,e)=>{let t=[],i=[];for(let o in s){let r=s[o],{video:n,audio:S}=w(e,r);n?t.push(r):S&&i.push(r)}return t.concat(i)}),ti=l(D,g,(s,e)=>{for(let t in e){let i=e[t];if(F(i)&&$(i)&&i.peerId)return s[i.peerId]}}),si=l(D,g,(s,e)=>{for(let t in e){let i=e[t];if(Y(i)&&i.peerId)return s[i.peerId]}}),ii=l(ht,s=>s.filter(Re)),Le=l(Ie,s=>s.length),oi=l(De,s=>Object.values(s).filter(e=>!e.read).length),Q=l(Ie,De,(s,e)=>{let t=[];return s.forEach(i=>{t.push(e[i])}),t}),ie=l([E],s=>s&&s.roomState),ri=l(ie,s=>s===f.Preview),xe=l(E,s=>s.roomState!==f.Disconnected),x=s=>s.roles,ni=l([x],s=>Object.keys(s)),X=l([b,x],(s,e)=>(s==null?void 0:s.roleName)?e[s.roleName]:null),ai=l([X],s=>{var e;return((e=s==null?void 0:s.subscribeParams)==null?void 0:e.subscribeToRoles)?s.subscribeParams.subscribeToRoles.length>0:!1}),Oe=l(X,s=>s==null?void 0:s.permissions),ci=l(E,s=>s.recording),li=l(E,s=>s.rtmp),di=l(E,s=>s.hls),Si=l(E,s=>s.sessionId),ui=l(E,s=>s.startedAt);import{createSelector as we}from"reselect";var Ne=(s=d.audio)=>e=>e.playlist[s].list,oe=(s=d.audio)=>e=>e.playlist[s].selection,Ue=(s=d.audio)=>e=>e.playlist[s].progress,_e=(s=d.audio)=>e=>e.playlist[s].currentTime,Ke=(s=d.audio)=>e=>e.playlist[s].playbackRate,Ve=(s=d.audio)=>e=>e.playlist[s].volume,Be=(s=d.audio)=>we(Ne(s),e=>Object.values(e)),qe=(s=d.audio)=>we(Ne(s),oe(s),(e,t)=>{if(!!t.id)return e[t.id]}),$e={selection:oe(d.audio),progress:Ue(d.audio),currentTime:_e(d.audio),playbackRate:Ke(d.audio),volume:Ve(d.audio),list:Be(d.audio),selectedItem:qe(d.audio)},Fe={selection:oe(d.video),progress:Ue(d.video),currentTime:_e(d.video),playbackRate:Ke(d.video),volume:Ve(d.video),list:Be(d.video),selectedItem:qe(d.video)};import{createSelector as y}from"reselect";var G="HMS-Store:",u=class{static v(e,...t){this.log(T.VERBOSE,e,...t)}static d(...e){this.log(T.DEBUG,...e)}static i(...e){this.log(T.INFO,...e)}static w(...e){this.log(T.WARN,...e)}static e(...e){this.log(T.ERROR,...e)}static time(e){this.log(T.TIME,"[HMSPerformanceTiming]",e)}static timeEnd(e){this.log(T.TIMEEND,"[HMSPerformanceTiming]",e,e)}static cleanUp(){performance.clearMarks(),performance.clearMeasures()}static log(e,...t){if(!(this.level.valueOf()>e.valueOf()))switch(e){case T.VERBOSE:{console.log(G,...t);break}case T.DEBUG:{console.debug(G,...t);break}case T.INFO:{console.info(G,...t);break}case T.WARN:{console.warn(G,...t);break}case T.ERROR:{console.error(G,...t);break}case T.TIME:{performance.mark(t[1]);break}case T.TIMEEND:{let i=t[0],o=t[1];try{let r=performance.measure(o,o);this.log(T.DEBUG,i,o,r==null?void 0:r.duration),performance.clearMarks(o),performance.clearMeasures(o)}catch(r){this.log(T.DEBUG,i,o,r)}break}}}};u.level=T.VERBOSE;function M(s){return e=>t=>s(t,e)}var re=(s,e)=>e,yt=(s,e)=>e,Ge=(s,e)=>e,v=y([D,re],(s,e)=>e?s[e]:null),ne=y([g,yt],(s,e)=>e?s[e]:null),L=M(v),vi=M(y(v,s=>s==null?void 0:s.name)),z=M(ne),Ht=M((s,e)=>{let t=v(s,e);if(t&&t.videoTrack&&t.videoTrack!=="")return s.tracks[t.videoTrack]}),ft=M((s,e)=>{let t=v(s,e);if(t&&t.audioTrack&&t.audioTrack!=="")return s.tracks[t.audioTrack]}),Di=Ht,Ii=M((s,e)=>{let t=v(s,e);return(t==null?void 0:t.auxiliaryTracks.map(i=>s.tracks[i]))||[]}),je=(s,e)=>e?s.speakers[e]:null,Ei=M(y(je,s=>(s==null?void 0:s.audioLevel)||0)),kt=(s,e)=>{let t=ft(e)(s);return je(s,t==null?void 0:t.id)},bi=M(y(kt,s=>(s==null?void 0:s.audioLevel)||0)),Ai=M((s,e)=>{let t=v(s,e);if(t){let i=t==null?void 0:t.auxiliaryTracks.find(o=>q(s.tracks[o]));return i?s.tracks[i]:void 0}}),Ci=M(y(g,v,(s,e)=>{let t=e==null?void 0:e.auxiliaryTracks.find(i=>{let o=s[i];return F(o)&&$(o)});return t?s[t]:void 0})),Li=M(y(g,v,(s,e)=>{let t=e==null?void 0:e.auxiliaryTracks.find(i=>{let o=s[i];return F(o)&&q(o)});return t?s[t]:void 0})),xi=M(y(g,v,(s,e)=>{let t=e==null?void 0:e.auxiliaryTracks.find(i=>{let o=s[i];return Y(o)&&q(o)});return t?s[t]:void 0})),Je=M(y(g,v,(s,e)=>w(s,e))),Oi=s=>y(Je(s),e=>e.video),We=s=>y(Je(s),e=>e.audio),wi=M((s,e)=>{let t=v(s,e);return V(s,t==null?void 0:t.audioTrack)}),Ni=M((s,e)=>{let t=v(s,e);return V(s,t==null?void 0:t.videoTrack)}),Ye=M((s,e)=>{if(e&&s.tracks[e])return s.tracks[e].volume===0}),Ui=M((s,e)=>{let t=v(s,e);return Ye(t==null?void 0:t.audioTrack)(s)}),_i=M((s,e)=>{let t=We(e)(s);return Ye(t==null?void 0:t.id)(s)}),Qe=M((s,e)=>{let t=ne(s,e);if(t){if(t.type!=="audio"){u.w("Please pass audio track here");return}return t.volume}}),Ki=M((s,e)=>{let t=v(s,e);return Qe(t==null?void 0:t.audioTrack)(s)}),Vi=M((s,e)=>{let t=We(e)(s);return Qe(t==null?void 0:t.id)(s)}),Bi=M((s,e)=>{let t=ne(s,e);if(t){if(t.type!=="video"){u.w("Please pass video track here");return}return t.layer}}),Xe=y([Q,be,re],(s,e,t)=>{if(!!t)return s.filter(i=>{var o;return!i.recipientPeer&&!((o=i.recipientRoles)==null?void 0:o.length)||![e,t].includes(i.sender)?!1:[e,t].includes(i.recipientPeer)})}),ze=y([Q,Ge],(s,e)=>{if(!!e)return s.filter(t=>{var i,o;return((i=t.recipientRoles)==null?void 0:i.length)?(o=t.recipientRoles)==null?void 0:o.includes(e):!1})}),Pt=y(Q,s=>s.filter(e=>{var t;return!e.recipientPeer&&!((t=e.recipientRoles)==null?void 0:t.length)})),Rt=y([ze,Ge],s=>s?s.filter(e=>!e.read).length:0),vt=y([Xe,re],s=>s?s.filter(e=>!e.read).length:0),qi=y(Pt,s=>s.filter(e=>!e.read).length),$i=M(Xe),Fi=M(ze),Gi=M(Rt),ji=M(vt),Ji=s=>y([ee],e=>e.filter(t=>t.roleName===s)),Wi=s=>y(L(s),e=>{try{return(e==null?void 0:e.metadata)&&e.metadata!==""?JSON.parse(e.metadata):{}}catch(t){return console.error("cannot parse peer metadata",t),{}}});import{createSelector as ae}from"reselect";var zi=ae([D,g],(s,e)=>Object.values(s).map(i=>{var o;return{peer:i,isAudioEnabled:i.audioTrack?(o=e[i.audioTrack])==null?void 0:o.enabled:!1}})),Dt=s=>s.roleChangeRequests[0]||null,Zi=ae([Dt,D,x],(s,e,t)=>s?{requestedBy:e[s.requestedBy],role:t[s.roleName],token:s.token}:null),eo=ae([X],s=>{var o;let e=!1,t=!1,i=!1;return((o=s==null?void 0:s.publishParams)==null?void 0:o.allowed)&&(e=s.publishParams.allowed.includes("video"),t=s.publishParams.allowed.includes("audio"),i=s.publishParams.allowed.includes("screen")),{video:e,audio:t,screen:i}});import{createSelector as j}from"reselect";var oo=s=>j([x],e=>e[s]),It=j([U,g],(s,e)=>{let t=null;return s&&(t=e[s]),(t==null?void 0:t.plugins)||[]}),Et=j([N,g],(s,e)=>{let t=null;return s&&(t=e[s]),(t==null?void 0:t.plugins)||[]}),ro=s=>j([It],e=>e.includes(s)),no=s=>j([Et],e=>e.includes(s));import{HMSAudioTrack as Ct,HMSRemoteVideoTrack as it}from"@100mslive/hms-video";import{HMSRemoteAudioTrack as bt,HMSRemoteVideoTrack as At}from"@100mslive/hms-video";function Ze(s){return s instanceof bt||s instanceof At}var Z=class{constructor(e,t,i,o){this.playlistManager=e;this.syncPlaylistState=i;this.store=o;this.type=t}play(e){return a(this,null,function*(){if(!e){u.w("Please pass id to play");return}yield this.playlistManager.setEnabled(!0,{id:e,type:this.type})})}pause(){return a(this,null,function*(){let e=this.type===d.audio?$e:Fe,t=this.store.getState(e.selection);if(!t.id){u.w("No item is currently playing to pause");return}yield this.playlistManager.setEnabled(!1,{id:t.id,type:this.type})})}playNext(){return a(this,null,function*(){yield this.playlistManager.playNext(this.type)})}playPrevious(){return a(this,null,function*(){yield this.playlistManager.playPrevious(this.type)})}seek(e){this.playlistManager.seek(e,this.type),this.syncPlaylistState(`seekOn${this.type}Playlist`)}seekTo(e){this.playlistManager.seekTo(e,this.type),this.syncPlaylistState(`seekToOn${this.type}Playlist`)}setVolume(e){this.playlistManager.setVolume(e,this.type),this.syncPlaylistState(`setVolumeOn${this.type}Playlist`)}setList(e){this.playlistManager.setList(e),this.syncPlaylistState(`setListOn${this.type}Playlist`)}stop(){return a(this,null,function*(){yield this.playlistManager.stop(this.type),this.syncPlaylistState(`stop${this.type}Playlist`)})}setIsAutoplayOn(e){this.playlistManager.setIsAutoplayOn(this.type,e)}setPlaybackRate(e){this.playlistManager.setPlaybackRate(this.type,e),this.syncPlaylistState(`set${this.type}PlaybackRate`)}};var et={[P.PEER_JOINED]:p.PEER_JOINED,[P.PEER_LEFT]:p.PEER_LEFT,[P.ROLE_UPDATED]:p.ROLE_UPDATED,[P.AUDIO_TOGGLED]:"PEER_AUDIO_UPDATED",[P.VIDEO_TOGGLED]:"PEER_VIDEO_UPDATED",[P.NAME_UPDATED]:p.NAME_UPDATED,[P.METADATA_UPDATED]:p.METADATA_UPDATED},tt={[I.TRACK_ADDED]:p.TRACK_ADDED,[I.TRACK_REMOVED]:p.TRACK_REMOVED,[I.TRACK_MUTED]:p.TRACK_MUTED,[I.TRACK_UNMUTED]:p.TRACK_UNMUTED,[I.TRACK_DEGRADED]:p.TRACK_DEGRADED,[I.TRACK_RESTORED]:p.TRACK_RESTORED},st={[P.PEER_JOINED]:"peerJoined",[P.PEER_LEFT]:"peerLeft",[P.NAME_UPDATED]:"peerNameUpdated",[P.METADATA_UPDATED]:"peerMetadataUpdated"};var ce=class{constructor(e,t,i){this.hmsSDKTracks={};this.hmsSDKPeers={};this.isRoomJoinCalled=!1;this.setProgress=({type:e,progress:t})=>{this.setState(i=>{i.playlist[e].progress=t,i.playlist[e].currentTime=this.sdk.getPlaylistManager().getCurrentTime(e)},"playlistProgress")};this.syncPlaylistState=e=>{this.setState(t=>{Object.assign(t.playlist,h.convertPlaylist(this.sdk.getPlaylistManager()))},e)};this.sendPeerUpdateNotification=(e,t)=>{let i=this.store.getState(L(t.peerId)),o="peerUpdate";o=st[e],this.syncRoomState(o),i||(i=this.store.getState(L(t.peerId))),this.hmsNotifications.sendPeerUpdate(e,i)};this.setState=(e,t)=>this.store.namedSetState(e,t);this.store=e,this.sdk=t,this.hmsNotifications=i}unblockAudio(){return a(this,null,function*(){yield this.sdk.getAudioOutput().unblockAutoplay()})}setVolume(e,t){t?this.setTrackVolume(e,t):(this.sdk.getAudioOutput().setVolume(e),this.syncRoomState("setOutputVolume"))}setAudioOutputDevice(e){this.sdk.getAudioOutput().setDevice(e)&&this.setState(i=>{i.settings.audioOutputDeviceId=e},"setAudioOutputDevice")}setPreferredLayer(e,t){let i=this.hmsSDKTracks[e];i?i instanceof it?(i.preferLayer(t),this.updateVideoLayer(e,"setPreferredLayer")):u.w(`track ${e} is not an video track`):this.logPossibleInconsistency(`track ${e} not present, unable to set preffer layer`)}preview(e){return a(this,null,function*(){if(this.isRoomJoinCalled){this.logPossibleInconsistency("attempting to call preview after join was called");return}let t=this.store.getState(ie);if(t===f.Preview||t===f.Connecting){this.logPossibleInconsistency("attempting to call preview while room is in preview/connecting");return}try{this.setState(i=>{i.room.roomState=f.Connecting},"connecting"),yield this.sdkPreviewWithListeners(e)}catch(i){throw u.e("Cannot show preview. Failed to connect to room - ",i),i}})}join(e){if(this.isRoomJoinCalled){this.logPossibleInconsistency("room join is called again");return}try{this.sdkJoinWithListeners(e),this.isRoomJoinCalled=!0,this.setState(t=>{t.room.roomState=f.Connecting},"join")}catch(t){throw this.isRoomJoinCalled=!1,u.e("Failed to connect to room - ",t),t}}leave(){return a(this,null,function*(){if(!this.store.getState(xe)){this.logPossibleInconsistency("room leave is called when no room is connected");return}return this.sdk.leave().then(()=>{this.resetState("leave"),u.i("left room")}).catch(t=>{u.e("error in leaving room - ",t)})})}setScreenShareEnabled(e,t){return a(this,null,function*(){e?yield this.startScreenShare(t):yield this.stopScreenShare()})}addTrack(e,t="regular"){return a(this,null,function*(){yield this.sdk.addTrack(e,t),this.syncRoomState("addTrack")})}removeTrack(e){return a(this,null,function*(){yield this.sdk.removeTrack(e),this.syncRoomState("removeTrack")})}setLocalAudioEnabled(e){return a(this,null,function*(){let t=this.store.getState(N);t&&(yield this.setEnabledTrack(t,e))})}setLocalVideoEnabled(e){return a(this,null,function*(){let t=this.store.getState(U);t&&(yield this.setEnabledTrack(t,e))})}setEnabledTrack(e,t){return a(this,null,function*(){var r;if(((r=this.store.getState().tracks[e])==null?void 0:r.enabled)===t){this.logPossibleInconsistency(`local track[${e}] enabled state - ${t}`);return}this.setState(n=>{n.tracks[e]?n.tracks[e].displayEnabled=t:this.logPossibleInconsistency("track id not found for setEnabled")},"displayEnabled");try{yield this.setEnabledSDKTrack(e,t),this.syncRoomState("setEnabled")}catch(n){throw this.setState(S=>{S.tracks[e].displayEnabled=!t},"rollbackDisplayEnabled"),this.hmsNotifications.sendError(h.convertException(n)),n}let o=t?I.TRACK_UNMUTED:I.TRACK_MUTED;this.hmsNotifications.sendTrackUpdate(o,e)})}setAudioSettings(e){return a(this,null,function*(){let t=this.store.getState(N);t&&(yield this.setSDKLocalAudioTrackSettings(t,e),this.syncRoomState("setAudioSettings"))})}setVideoSettings(e){return a(this,null,function*(){let t=this.store.getState(U);t&&(yield this.setSDKLocalVideoTrackSettings(t,e),this.syncRoomState("setVideoSettings"))})}sendMessage(e){this.sendBroadcastMessage(e)}sendBroadcastMessage(e,t){return a(this,null,function*(){let i=yield this.sdk.sendBroadcastMessage(e,t);this.updateMessageInStore(i,{message:e,type:t})})}sendGroupMessage(e,t,i){return a(this,null,function*(){let o=this.store.getState(x),r=t.map(S=>o[S]),n=yield this.sdk.sendGroupMessage(e,r,i);this.updateMessageInStore(n,{message:e,recipientRoles:t,type:i})})}sendDirectMessage(e,t,i){return a(this,null,function*(){let o=this.hmsSDKPeers[t],r=yield this.sdk.sendDirectMessage(e,o,i);this.updateMessageInStore(r,{message:e,recipientPeer:o.peerId,type:i})})}updateMessageInStore(e,t){if(!e)throw u.w("sendMessage","Failed to send message",t),Error(`sendMessage Failed - ${JSON.stringify(t)}`);let i=h.convertMessage(e);return i.read=!0,i.senderName="You",this.onHMSMessage(i),i}setMessageRead(e,t){this.setState(i=>{t?i.messages.byID[t]?i.messages.byID[t].read=e:this.logPossibleInconsistency("no message with id is found"):i.messages.allIDs.forEach(o=>{i.messages.byID[o].read=e})},"setMessageRead")}attachVideo(e,t){return a(this,null,function*(){if(this.localAndVideoUnmuting(e))return new Promise(i=>{let o=this.store.subscribe(r=>a(this,null,function*(){r&&(yield this.attachVideoInternal(e,t),o(),i())}),te)});yield this.attachVideoInternal(e,t)})}detachVideo(e,t){return a(this,null,function*(){let i=this.hmsSDKTracks[e];i&&i.type==="video"?(yield i.removeSink(t),this.updateVideoLayer(e,"detachVideo")):this.logPossibleInconsistency("no video track found to remove sink")})}addPluginToVideoTrack(e,t){return a(this,null,function*(){return this.addRemoveVideoPlugin(e,"add",t)})}addPluginToAudioTrack(e){return a(this,null,function*(){return this.addRemoveAudioPlugin(e,"add")})}removePluginFromVideoTrack(e){return a(this,null,function*(){return this.addRemoveVideoPlugin(e,"remove")})}removePluginFromAudioTrack(e){return a(this,null,function*(){return this.addRemoveAudioPlugin(e,"remove")})}changeRole(e,t,i=!1){return a(this,null,function*(){let o=this.hmsSDKPeers[e];if(!o){this.logPossibleInconsistency(`Unknown peer ID given ${e} for changerole`);return}yield this.sdk.changeRole(o,t,i)})}acceptChangeRole(e){return a(this,null,function*(){let t=e.requestedBy?this.hmsSDKPeers[e.requestedBy.id]:void 0;t||u.w(`peer for which role change is requested no longer available - ${e.requestedBy}`);let i={requestedBy:t,role:e.role,token:e.token};yield this.sdk.acceptChangeRole(i),this.removeRoleChangeRequest(e)})}rejectChangeRole(e){this.removeRoleChangeRequest(e)}endRoom(e,t){return a(this,null,function*(){let i=this.store.getState(Oe);if(!(i==null?void 0:i.endRoom)){u.w("You are not allowed to perform this action - endRoom");return}yield this.sdk.endRoom(e,t)})}removePeer(e,t){return a(this,null,function*(){let i=this.hmsSDKPeers[e];if(i&&!i.isLocal)yield this.sdk.removePeer(i,t);else{this.logPossibleInconsistency(`No remote peer found for peerID - ${e}`);return}})}startRTMPOrRecording(e){return a(this,null,function*(){yield this.sdk.startRTMPOrRecording(e)})}stopRTMPAndRecording(){return a(this,null,function*(){yield this.sdk.stopRTMPAndRecording()})}startHLSStreaming(e){return a(this,null,function*(){yield this.sdk.startHLSStreaming(e)})}stopHLSStreaming(){return a(this,null,function*(){yield this.sdk.stopHLSStreaming()})}changeName(e){return a(this,null,function*(){yield this.sdk.changeName(e)})}changeMetadata(e){return a(this,null,function*(){typeof e!="string"&&(e=JSON.stringify(e)),yield this.sdk.changeMetadata(e)})}setRemoteTrackEnabled(e,t){return a(this,null,function*(){if(typeof e=="string"){let i=this.hmsSDKTracks[e];i&&Ze(i)?yield this.sdk.changeTrackState(i,t):this.logPossibleInconsistency(`No remote track with ID ${e} found for change track state`)}else Array.isArray(e)&&e.forEach(i=>this.setRemoteTrackEnabled(i,t))})}setRemoteTracksEnabled(e){return a(this,null,function*(){let t={enabled:e.enabled,type:e.type,source:e.source};if(e.roles){let i=this.store.getState(x);t.roles=e.roles.map(o=>i[o])}yield this.sdk.changeMultiTrackState(t)})}setLogLevel(e){u.level=e,this.sdk.setLogLevel(e)}resetState(e="resetState"){this.setState(t=>{Object.assign(t,W())},e),this.isRoomJoinCalled=!1,this.hmsSDKTracks={},u.cleanUp()}sdkJoinWithListeners(e){this.sdk.join(e,{onJoin:this.onJoin.bind(this),onRoomUpdate:this.onRoomUpdate.bind(this),onPeerUpdate:this.onPeerUpdate.bind(this),onTrackUpdate:this.onTrackUpdate.bind(this),onMessageReceived:this.onMessageReceived.bind(this),onError:this.onError.bind(this),onReconnected:this.onReconnected.bind(this),onReconnecting:this.onReconnecting.bind(this),onRoleChangeRequest:this.onRoleChangeRequest.bind(this),onRoleUpdate:this.onRoleUpdate.bind(this),onDeviceChange:this.onDeviceChange.bind(this),onChangeTrackStateRequest:this.onChangeTrackStateRequest.bind(this),onChangeMultiTrackStateRequest:this.onChangeMultiTrackStateRequest.bind(this),onRemovedFromRoom:this.onRemovedFromRoom.bind(this)}),this.sdk.addAudioListener({onAudioLevelUpdate:this.onAudioLevelUpdate.bind(this)})}onRemovedFromRoom(e){var i;let t=this.store.getState(L((i=e.requestedBy)==null?void 0:i.peerId));this.hmsNotifications.sendLeaveRoom(K(_({},e),{requestedBy:t||void 0})),u.i("resetting state after peer removed",e),this.resetState(e.roomEnded||!t?"roomEnded":"removedFromRoom")}onDeviceChange(e){let t=e.devices;if(!t)return;let i=this.store.getState(b);if(this.setState(o=>{C(o.devices.audioInput,t.audioInput)||(o.devices.audioInput=t.audioInput),C(o.devices.videoInput,t.videoInput)||(o.devices.videoInput=t.videoInput),C(o.devices.audioOutput,t.audioOutput)||(o.devices.audioOutput=t.audioOutput),this.hmsSDKPeers[i==null?void 0:i.id]&&Object.assign(o.settings,this.getMediaSettings(this.hmsSDKPeers[i==null?void 0:i.id]))},"deviceChange"),e.selection){let o=h.convertDeviceChangeUpdate(e);this.hmsNotifications.sendDeviceChange(o)}}sdkPreviewWithListeners(e){return a(this,null,function*(){yield this.sdk.preview(e,{onPreview:this.onPreview.bind(this),onError:this.onError.bind(this),onDeviceChange:this.onDeviceChange.bind(this)}),this.sdk.addAudioListener({onAudioLevelUpdate:this.onAudioLevelUpdate.bind(this)})})}startScreenShare(e){return a(this,null,function*(){this.store.getState(se)?this.logPossibleInconsistency("start screenshare is called while it's on"):(yield this.sdk.startScreenShare(()=>this.syncRoomState("screenshareStopped"),e),this.syncRoomState("startScreenShare"))})}stopScreenShare(){return a(this,null,function*(){this.store.getState(se)?(yield this.sdk.stopScreenShare(),this.syncRoomState("stopScreenShare")):this.logPossibleInconsistency("stop screenshare is called while it's not on")})}attachVideoInternal(e,t){return a(this,null,function*(){let i=this.hmsSDKTracks[e];i&&i.type==="video"?(yield i.addSink(t),this.updateVideoLayer(e,"attachVideo")):this.logPossibleInconsistency("no video track found to add sink")})}syncRoomState(e){u.time(`store-sync-${e}`);let t={},i=[],o={},r={},n={},S=this.sdk.getPeers();for(let H of S){let A=h.convertPeer(H);t[A.id]=A,i.push(A.id),this.hmsSDKPeers[A.id]=H;let B=[H.audioTrack,H.videoTrack,...H.auxiliaryTracks];for(let J of B){if(!J)continue;let ue=h.convertTrack(J);o[ue.id]=ue,r[J.trackId]=J}A.isLocal&&Object.assign(n,this.getMediaSettings(H))}let m=this.sdk.getRecordingState(),R=this.sdk.getRTMPState(),Se=this.sdk.getHLSState();this.setState(H=>{H.room.peers=i;let A=H.peers,B=H.tracks;he(A,t),ge(B,o),Object.assign(H.settings,n),this.hmsSDKTracks=r,Object.assign(H.roles,h.convertRoles(this.sdk.getRoles())),Object.assign(H.playlist,h.convertPlaylist(this.sdk.getPlaylistManager())),Object.assign(H.room,h.convertRecordingRTMPState(m,R,Se))},e),u.timeEnd(`store-sync-${e}`)}onPreview(e){this.setState(t=>{Object.assign(t.room,h.convertRoom(e)),t.room.roomState=f.Preview},"previewStart"),this.syncRoomState("previewSync")}onJoin(e){let t=this.sdk.getPlaylistManager();this.audioPlaylist=new Z(t,d.audio,this.syncPlaylistState.bind(this),this.store),this.videoPlaylist=new Z(t,d.video,this.syncRoomState.bind(this),this.store),this.syncRoomState("joinSync"),this.setState(i=>{Object.assign(i.room,h.convertRoom(e)),i.room.isConnected=!0,i.room.roomState=f.Connected},"joined"),t.onProgress(this.setProgress),t.onNewTrackStart(i=>{this.syncPlaylistState(`${i.type}PlaylistUpdate`)}),t.onPlaylistEnded(i=>{this.syncPlaylistState(`${i}PlaylistEnded`)}),t.onCurrentTrackEnded(i=>{this.hmsNotifications.sendPlaylistTrackEnded(h.convertPlaylistItem(t,i)),this.syncPlaylistState(`${i.type}PlaylistItemEnded`)})}onRoomUpdate(e,t){this.setState(i=>{Object.assign(i.room,h.convertRoom(t))},"RoomUpdate")}onPeerUpdate(e,t){if(![P.BECAME_DOMINANT_SPEAKER,P.RESIGNED_DOMINANT_SPEAKER].includes(e)){if(Array.isArray(t)){this.syncRoomState("peersJoined");let i=[];for(let o of t){let r=this.store.getState(L(o.peerId));r&&i.push(r)}this.hmsNotifications.sendPeerList(i);return}this.sendPeerUpdateNotification(e,t)}}onTrackUpdate(e,t,i){if(e===I.TRACK_REMOVED)this.hmsNotifications.sendTrackUpdate(e,t.trackId),this.handleTrackRemove(t,i);else{let o=e===I.TRACK_ADDED?"trackAdded":"trackUpdate";this.syncRoomState(o),this.hmsNotifications.sendTrackUpdate(e,t.trackId)}}onMessageReceived(e){let t=h.convertMessage(e);t.read=!1,this.onHMSMessage(t),this.hmsNotifications.sendMessageReceived(t)}onHMSMessage(e){this.setState(t=>{e.id=String(this.store.getState(Le)+1),t.messages.byID[e.id]=e,t.messages.allIDs.push(e.id)},"newMessage")}onAudioLevelUpdate(e){this.setState(t=>{let i={};e.forEach(r=>{if(!r.track||!r.peer)return;let n=r.track.trackId;i[n]=r.audioLevel,t.speakers[n]||(t.speakers[n]={audioLevel:r.audioLevel,peerID:r.peer.peerId,trackID:n})});let o=Object.entries(t.speakers);for(let[r,n]of o)n.audioLevel=i[r]||0,n.audioLevel===0&&delete t.speakers[r]},"audioLevel")}onChangeTrackStateRequest(e){let t=this.store.getState(L(e.requestedBy.peerId)),i=this.getStoreLocalTrackIDfromSDKTrack(e.track),o=this.store.getState(z(i));if(!t)return this.logPossibleInconsistency(`Not found peer who requested track state change, ${e.requestedBy}`);if(!o)return this.logPossibleInconsistency(`Not found track for which track state change was requested, ${e.track}`);e.enabled||this.syncRoomState("changeTrackStateRequest"),this.hmsNotifications.sendChangeTrackStateRequest({requestedBy:t,track:o,enabled:e.enabled})}onChangeMultiTrackStateRequest(e){let t=this.store.getState(L(e.requestedBy.peerId));if(!t)return this.logPossibleInconsistency(`Not found peer who requested track state change, ${e.requestedBy}`);e.enabled||this.syncRoomState("changeMultiTrackStateRequest");let i=[],o=this.store.getState(g);for(let r of e.tracks){let n=this.getStoreLocalTrackIDfromSDKTrack(r);n&&o[n]&&i.push(o[n])}this.hmsNotifications.sendChangeMultiTrackStateRequest({requestedBy:t,tracks:i,enabled:e.enabled,type:e.type,source:e.source})}onReconnected(){this.syncRoomState("reconnectedSync"),this.hmsNotifications.sendReconnected(),this.setState(e=>{e.room.roomState=f.Connected},"reconnected")}onReconnecting(e){let t=h.convertException(e);u.e("Reconnection: received error from sdk",t),this.hmsNotifications.sendReconnecting(t),this.setState(i=>{i.room.roomState=f.Reconnecting,i.errors.push(t)},"reconnecting")}onError(e){let t=h.convertException(e);t.isTerminal?(this.leave().then(()=>u.e("error from SDK, left room.")),this.setState(i=>{i.room.roomState=f.Failed,i.errors.push(t)},"errorTerminal")):this.store.getState().errors.length<50&&this.setState(o=>{o.errors.push(t)},"error"),this.hmsNotifications.sendError(t),u.e("received error from sdk",t)}updateVideoLayer(e,t){let i=this.hmsSDKTracks[e];i&&i instanceof it&&this.setState(o=>{o.tracks[e].layer=i.getSimulcastLayer()},t)}handleTrackRemove(e,t){this.setState(i=>{let o=i.peers[t.peerId],r=i.tracks,n=e.trackId;if(this.isSameStoreSDKTrack(n,o==null?void 0:o.audioTrack))o==null||delete o.audioTrack;else if(this.isSameStoreSDKTrack(n,o==null?void 0:o.videoTrack))o==null||delete o.videoTrack;else{let S=o==null?void 0:o.auxiliaryTracks.indexOf(n);S>-1&&this.isSameStoreSDKTrack(n,o==null?void 0:o.auxiliaryTracks[S])&&(o==null||o.auxiliaryTracks.splice(S,1))}delete r[n],delete this.hmsSDKTracks[n]},"trackRemoved")}setEnabledSDKTrack(e,t){return a(this,null,function*(){let i=this.hmsSDKTracks[e];i?yield i.setEnabled(t):this.logPossibleInconsistency(`track ${e} not present, unable to enabled/disable`)})}setSDKLocalVideoTrackSettings(e,t){return a(this,null,function*(){let i=this.hmsSDKTracks[e];i?yield i.setSettings(t):this.logPossibleInconsistency(`local track ${e} not present, unable to set settings`)})}setSDKLocalAudioTrackSettings(e,t){return a(this,null,function*(){let i=this.hmsSDKTracks[e];i?yield i.setSettings(t):this.logPossibleInconsistency(`local track ${e} not present, unable to set settings`)})}getMediaSettings(e){var r;let t=this.store.getState(Ee),i=e.audioTrack,o=e.videoTrack;return{audioInputDeviceId:(i==null?void 0:i.settings.deviceId)||t.audioInputDeviceId,videoInputDeviceId:(o==null?void 0:o.settings.deviceId)||t.videoInputDeviceId,audioOutputDeviceId:(r=this.sdk.getAudioOutput().getDevice())==null?void 0:r.deviceId}}setTrackVolume(e,t){let i=this.hmsSDKTracks[t];i?i instanceof Ct?(i.setVolume(e),this.setState(o=>{let r=o.tracks[t];r&&(r.volume=e)},"trackVolume")):u.w(`track ${t} is not an audio track`):this.logPossibleInconsistency(`track ${t} not present, unable to set volume`)}localAndVideoUnmuting(e){if(this.store.getState(b).videoTrack!==e)return!1;let i=this.store.getState(Ce),o=this.store.getState(te);return i&&!o}logPossibleInconsistency(e){u.w("possible inconsistency detected - ",e)}addRemoveVideoPlugin(e,t,i){return a(this,null,function*(){if(!e){u.w("Invalid plugin received in store");return}let o=this.store.getState(U);if(o){let r=this.hmsSDKTracks[o];r?(t==="add"?yield r.addPlugin(e,i):t==="remove"&&(yield r.removePlugin(e)),this.syncRoomState(`${t}VideoPlugin`)):this.logPossibleInconsistency(`track ${o} not present, unable to remove plugin`)}})}addRemoveAudioPlugin(e,t){return a(this,null,function*(){if(!e){u.w("Invalid plugin received in store");return}let i=this.store.getState(N);if(i){let o=this.hmsSDKTracks[i];o?(t==="add"?yield o.addPlugin(e):t==="remove"&&(yield o.removePlugin(e)),this.syncRoomState(`${t}AudioPlugin`)):this.logPossibleInconsistency(`track ${i} not present, unable to remove plugin`)}})}isSameStoreSDKTrack(e,t){var i;return t?((i=this.hmsSDKTracks[t])==null?void 0:i.trackId)===e:!1}onRoleChangeRequest(e){this.setState(t=>{t.roleChangeRequests.length===0&&t.roleChangeRequests.push(h.convertRoleChangeRequest(e))},"roleChangeRequest")}removeRoleChangeRequest(e){this.setState(t=>{let i=t.roleChangeRequests.findIndex(o=>o.token===e.token);i!==-1&&t.roleChangeRequests.splice(i,1)},"removeRoleChangeRequest")}onRoleUpdate(){this.syncRoomState("roleUpdate")}getStoreLocalTrackIDfromSDKTrack(e){return this.store.getState(Ae).find(i=>this.hmsSDKTracks[i].trackId===e.trackId)}};import{EventEmitter2 as Lt}from"eventemitter2";var le="hmsNotification",de=class{constructor(e){this.id=0;this.onNotification=e=>(this.eventEmitter.addListener(le,e),()=>{this.eventEmitter.removeListener(le,e)});this.store=e,this.eventEmitter=new Lt}sendPlaylistTrackEnded(e){let t=this.createNotification(p.PLAYLIST_TRACK_ENDED,e,k.INFO);this.emitEvent(t)}sendDeviceChange(e){var i;let t=this.createNotification(p.DEVICE_CHANGE_UPDATE,e,e.error?k.ERROR:k.INFO,`Selected ${e.type} device - ${(i=e.selection)==null?void 0:i.label}`);this.emitEvent(t)}sendLeaveRoom(e){var o;let t=(o=e.requestedBy)==null?void 0:o.name,i=this.createNotification(e.roomEnded||!t?p.ROOM_ENDED:p.REMOVED_FROM_ROOM,e,k.INFO,`${e.roomEnded?"Room ended":"Removed from room"} ${t?`by ${t}`:""}`);this.emitEvent(i)}sendPeerList(e){let t=this.createNotification(p.PEER_LIST,e,k.INFO);this.emitEvent(t)}sendPeerUpdate(e,t){let i=this.store.getState(L(t==null?void 0:t.id))||t,o=et[e];if(o){let r=this.createNotification(o,i,k.INFO);this.emitEvent(r)}}sendTrackUpdate(e,t){let i=this.store.getState(z(t)),o=tt[e];if(o){let r=this.createNotification(o,i,k.INFO);this.emitEvent(r)}}sendMessageReceived(e){let t=this.createNotification(p.NEW_MESSAGE,e,k.INFO);this.emitEvent(t)}sendError(e){let t=this.createNotification(p.ERROR,e,k.ERROR);this.emitEvent(t)}sendReconnecting(e){let t=this.createNotification(p.RECONNECTING,e,k.ERROR);this.emitEvent(t)}sendReconnected(){let e=this.createNotification(p.RECONNECTED,null,k.INFO);this.emitEvent(e)}sendChangeTrackStateRequest(e){let t=this.createNotification(p.CHANGE_TRACK_STATE_REQUEST,e,k.INFO);this.emitEvent(t)}sendChangeMultiTrackStateRequest(e){let t=this.createNotification(p.CHANGE_MULTI_TRACK_STATE_REQUEST,e,k.INFO);this.emitEvent(t)}emitEvent(e){this.eventEmitter.emit(le,e)}createNotification(e,t,i,o=""){return this.id++,{id:this.id,type:e,message:o,data:t,severity:i}}};var O=class{constructor(e,t,i){e?this.store=e:this.store=O.createNewHMSStore(),i?this.notifications=i:this.notifications=new de(this.store),t?this.actions=t:this.actions=new ce(this.store,new Nt,this.notifications),this.initialTriggerOnSubscribe=!1}triggerOnSubscribe(){this.initialTriggerOnSubscribe||(O.makeStoreTriggerOnSubscribe(this.store),this.initialTriggerOnSubscribe=!0)}getStore(){return this.store}getHMSActions(){return this.actions}getNotifications(){return{onNotification:this.notifications.onNotification}}static createNewHMSStore(){let e=Ot(()=>W()),t=e.setState;e.setState=r=>{let n=typeof r=="function"?xt(r):r;t(n)};let i=e.getState;e.getState=r=>{if(r){let n=r.name||"byIDSelector";window.selectorsCount||(window.selectorsCount={}),window.selectorsCount[n]=(window.selectorsCount[n]||0)+1;let S=performance.now(),m=r(i()),R=performance.now()-S;return R>1&&(window.expensiveSelectors=window.expensiveSelectors||new Map,window.expensiveSelectors.set(n,R)),m}return i()},O.useShallowCheckInSubscribe(e);let o=O.setUpDevtools(e,"HMSStore");return K(_({},e),{namedSetState:o})}static makeStoreTriggerOnSubscribe(e){let t=e.subscribe;e.subscribe=(i,o,r)=>(i(e.getState(o),void 0),t(i,o,r))}static useShallowCheckInSubscribe(e){let t=e.subscribe;e.subscribe=(i,o,r)=>(o||(o=n=>n),r=r||wt,t(i,o,r))}static setUpDevtools(e,t){let i;try{i=window.__REDUX_DEVTOOLS_EXTENSION__||window.top.__REDUX_DEVTOOLS_EXTENSION__}catch(n){}if(!i)return n=>{e.setState(n)};let o=i.connect(O.devtoolsOptions(t));o.prefix=t?`${t} > `:"";let r=e.setState;return e.setState=n=>{r(n),o.send(`${o.prefix}setState`,e.getState())},o.subscribe(O.devtoolsSubscribe(o,e,r)),o.send("setUpStore",e.getState()),(n,S)=>{r(n);let m=S||`${o.prefix}action`;o.send(m,e.getState())}}static devtoolsOptions(e){return{name:e,actionsBlacklist:["audioLevel","playlistProgress"]}}static devtoolsSubscribe(e,t,i){return o=>{var r,n,S,m;if(o.type==="DISPATCH"&&o.state)["JUMP_TO_ACTION","JUMP_TO_STATE"].includes(o.payload.type)?i(JSON.parse(o.state)):t.setState(JSON.parse(o.state));else if(o.type==="DISPATCH"&&((r=o.payload)==null?void 0:r.type)==="COMMIT")e.init(t.getState());else if(o.type==="DISPATCH"&&((n=o.payload)==null?void 0:n.type)==="IMPORT_STATE"){let R=(S=o.payload.nextLiftedState)==null?void 0:S.actionsById;(((m=o.payload.nextLiftedState)==null?void 0:m.computedStates)||[]).forEach(({state:H},A)=>{let B=R[A]||`${e.prefix}setState`;A===0?e.init(H):(i(H),e.send(B,t.getState()))})}}}};export{lt as HMSAudioPluginType,T as HMSLogLevel,me as HMSMessageType,k as HMSNotificationSeverity,p as HMSNotificationTypes,d as HMSPlaylistType,O as HMSReactiveStore,f as HMSRoomState,dt as HMSVideoPluginType,W as createDefaultStoreState,$e as selectAudioPlaylist,xi as selectAudioPlaylistTrackByPeerID,ft as selectAudioTrackByPeerID,Qe as selectAudioTrackVolume,Ki as selectAudioVolumeByPeerID,Ai as selectAuxiliaryAudioByPeerID,Ii as selectAuxiliaryTracksByPeerID,ni as selectAvailableRoleNames,Pt as selectBroadcastMessages,qi as selectBroadcastMessagesUnreadCount,Di as selectCameraStreamByPeerID,ii as selectDegradedTracks,js as selectDevices,Qs as selectDominantSpeaker,di as selectHLSState,Q as selectHMSMessages,Le as selectHMSMessagesCount,eo as selectIsAllowedToPublish,ai as selectIsAllowedToSubscribe,Ye as selectIsAudioLocallyMuted,Js as selectIsConnectedToRoom,ri as selectIsInPreview,Xs as selectIsLocalAudioEnabled,no as selectIsLocalAudioPluginPresent,se as selectIsLocalScreenShared,Ce as selectIsLocalVideoDisplayEnabled,te as selectIsLocalVideoEnabled,ro as selectIsLocalVideoPluginPresent,Ui as selectIsLocallyMutedByPeerID,wi as selectIsPeerAudioEnabled,Ni as selectIsPeerVideoEnabled,_i as selectIsScreenShareLocallyMutedByPeerID,zs as selectIsSomeoneScreenSharing,N as selectLocalAudioTrackID,Ee as selectLocalMediaSettings,b as selectLocalPeer,be as selectLocalPeerID,X as selectLocalPeerRole,Ae as selectLocalTrackIDs,U as selectLocalVideoTrackID,Ie as selectMessageIDsInOrder,$i as selectMessagesByPeerID,Fi as selectMessagesByRole,De as selectMessagesMap,ji as selectMessagesUnreadCountByPeerID,Gi as selectMessagesUnreadCountByRole,bi as selectPeerAudioByID,L as selectPeerByID,Ws as selectPeerCount,Wi as selectPeerMetadata,vi as selectPeerNameByID,Tt as selectPeerScreenSharing,Zs as selectPeerSharingAudio,si as selectPeerSharingAudioPlaylist,ti as selectPeerSharingVideoPlaylist,ee as selectPeers,Ji as selectPeersByRole,D as selectPeersMap,ei as selectPeersScreenSharing,zi as selectPeersWithAudioStatus,Oe as selectPermissions,li as selectRTMPState,ci as selectRecordingState,Ys as selectRemotePeers,oo as selectRoleByRoleName,Zi as selectRoleChangeRequest,x as selectRolesMap,E as selectRoom,ui as selectRoomStartTime,xe as selectRoomStarted,ie as selectRoomState,We as selectScreenShareAudioByPeerID,Oi as selectScreenShareByPeerID,Je as selectScreenSharesByPeerId,Vi as selectScreenshareAudioVolumeByPeerID,Si as selectSessionId,Bi as selectSimulcastLayerByTrack,mt as selectSpeakers,Ei as selectTrackAudioByID,z as selectTrackByID,g as selectTracksMap,oi as selectUnreadHMSMessagesCount,Fe as selectVideoPlaylist,Li as selectVideoPlaylistAudioTrackByPeerID,Ci as selectVideoPlaylistVideoTrackByPeerID,Ht as selectVideoTrackByPeerID};
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.2.
|
|
2
|
+
"version": "0.2.84-alpha.3",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"main": "dist/hms-video-store.cjs.js",
|
|
5
5
|
"typings": "dist/index.d.ts",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"module": "dist/hms-video-store.esm.js",
|
|
34
34
|
"sideEffects": false,
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@100mslive/hms-video": "0.1.
|
|
36
|
+
"@100mslive/hms-video": "0.1.38-alpha.2",
|
|
37
37
|
"eventemitter2": "^6.4.5",
|
|
38
38
|
"immer": "^9.0.6",
|
|
39
39
|
"reselect": "4.0.0",
|
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
"url": "https://github.com/100mslive/hms-video-store/issues"
|
|
60
60
|
},
|
|
61
61
|
"homepage": "https://github.com/100mslive/hms-video-store#readme",
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "0792f9622b4ef639dd617e78f57a1689ce00af74"
|
|
63
63
|
}
|