@100mslive/hms-video-store 0.10.29-alpha.1 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +11 -4
- package/dist/{core/IHMSActions.d.ts → IHMSActions.d.ts} +2 -3
- package/dist/{core/IHMSStore.d.ts → IHMSStore.d.ts} +1 -1
- package/dist/analytics/AdditionalAnalyticsProperties.d.ts +23 -0
- package/dist/analytics/AnalyticsEvent.d.ts +49 -0
- package/dist/analytics/AnalyticsEventDomains.d.ts +5 -0
- package/dist/analytics/AnalyticsEventFactory.d.ts +71 -0
- package/dist/analytics/AnalyticsEventLevel.d.ts +12 -0
- package/dist/analytics/AnalyticsEventsService.d.ts +19 -0
- package/dist/analytics/AnalyticsTimer.d.ts +22 -0
- package/dist/analytics/AnalyticsTransport.d.ts +11 -0
- package/dist/analytics/HTTPAnalyticsTransport.d.ts +18 -0
- package/dist/analytics/IAnalyticsPropertiesProvider.d.ts +4 -0
- package/dist/analytics/IAnalyticsTransportProvider.d.ts +6 -0
- package/dist/analytics/MediaPluginsAnalyticsFactory.d.ts +21 -0
- package/dist/analytics/domain-analytics.d.ts +2 -0
- package/dist/analytics/signal-transport/LocalStoageEvents.d.ts +9 -0
- package/dist/analytics/signal-transport/SignalAnalyticsTransport.d.ts +8 -0
- package/dist/analytics/stats/BaseStatsAnalytics.d.ts +56 -0
- package/dist/analytics/stats/PublishStatsAnalytics.d.ts +17 -0
- package/dist/analytics/stats/SubscribeStatsAnalytics.d.ts +16 -0
- package/dist/analytics/stats/index.d.ts +3 -0
- package/dist/analytics/stats/interfaces.d.ts +76 -0
- package/dist/audio-sink-manager/AudioSinkManager.d.ts +45 -0
- package/dist/audio-sink-manager/index.d.ts +1 -0
- package/dist/common/ui-logger.d.ts +1 -1
- package/dist/connection/HMSConnection.d.ts +44 -0
- package/dist/connection/HMSDataChannel.d.ts +15 -0
- package/dist/connection/IConnectionObserver.d.ts +4 -0
- package/dist/connection/channel-messages.d.ts +30 -0
- package/dist/connection/model.d.ts +8 -0
- package/dist/connection/publish/IPublishConnectionObserver.d.ts +10 -0
- package/dist/connection/publish/publishConnection.d.ts +11 -0
- package/dist/connection/subscribe/ISubscribeConnectionObserver.d.ts +14 -0
- package/dist/connection/subscribe/subscribeConnection.d.ts +24 -0
- package/dist/controller/beam/BeamSpeakerLabelsLogger.d.ts +2 -2
- package/dist/device-manager/AudioOutputManager.d.ts +18 -0
- package/dist/device-manager/DeviceManager.d.ts +57 -0
- package/dist/device-manager/DeviceStorage.d.ts +30 -0
- package/dist/device-manager/DeviceTestData.d.ts +15 -0
- package/dist/device-manager/index.d.ts +1 -0
- package/dist/error/ErrorCodes.d.ts +64 -0
- package/dist/error/ErrorFactory.d.ts +74 -0
- package/dist/error/HMSAction.d.ts +19 -0
- package/dist/error/HMSException.d.ts +23 -0
- package/dist/error/utils.d.ts +9 -0
- package/dist/events/EventBus.d.ts +51 -0
- package/dist/events/HMSInternalEvent.d.ts +13 -0
- package/dist/index.cjs.js +82 -1
- package/dist/index.cjs.js.map +4 -4
- package/dist/index.d.ts +11 -2
- package/dist/index.js +82 -1
- package/dist/index.js.map +4 -4
- package/dist/interfaces/change-track-state.d.ts +21 -0
- package/dist/interfaces/config.d.ts +76 -0
- package/dist/interfaces/devices.d.ts +25 -0
- package/dist/interfaces/error-listener.d.ts +4 -0
- package/dist/interfaces/framework-info.d.ts +19 -0
- package/dist/interfaces/get-token.d.ts +7 -0
- package/dist/interfaces/hls-config.d.ts +36 -0
- package/dist/interfaces/hms.d.ts +87 -0
- package/dist/interfaces/index.d.ts +21 -0
- package/dist/interfaces/internal.d.ts +4 -0
- package/dist/interfaces/leave-room-request.d.ts +6 -0
- package/dist/interfaces/message.d.ts +17 -0
- package/dist/interfaces/peer/connection-quality.d.ts +13 -0
- package/dist/interfaces/peer/hms-local-peer.d.ts +10 -0
- package/dist/interfaces/peer/hms-peer.d.ts +23 -0
- package/dist/interfaces/peer/hms-remote-peer.d.ts +8 -0
- package/dist/interfaces/peer/index.d.ts +4 -0
- package/dist/interfaces/peer-list-iterator.d.ts +6 -0
- package/dist/interfaces/playlist.d.ts +114 -0
- package/dist/interfaces/preview-listener.d.ts +15 -0
- package/dist/interfaces/role-change-request.d.ts +11 -0
- package/dist/interfaces/role.d.ts +50 -0
- package/dist/interfaces/room.d.ts +95 -0
- package/dist/interfaces/rtmp-recording-config.d.ts +10 -0
- package/dist/interfaces/session-store/index.d.ts +18 -0
- package/dist/interfaces/session-store/interactivity-center.d.ts +17 -0
- package/dist/interfaces/session-store/polls.d.ts +133 -0
- package/dist/interfaces/session-store/whiteboard.d.ts +27 -0
- package/dist/interfaces/settings.d.ts +26 -0
- package/dist/interfaces/simulcast-layers.d.ts +30 -0
- package/dist/interfaces/speaker.d.ts +7 -0
- package/dist/interfaces/track-settings.d.ts +114 -0
- package/dist/interfaces/types.d.ts +6 -0
- package/dist/interfaces/update-listener.d.ts +82 -0
- package/dist/interfaces/webrtc-stats.d.ts +96 -0
- package/dist/internal.d.ts +12 -0
- package/dist/media/settings/HMSAudioTrackSettings.d.ts +28 -0
- package/dist/media/settings/HMSTrackSettings.d.ts +25 -0
- package/dist/media/settings/HMSVideoTrackSettings.d.ts +47 -0
- package/dist/media/settings/index.d.ts +3 -0
- package/dist/media/streams/HMSLocalStream.d.ts +16 -0
- package/dist/media/streams/HMSMediaStream.d.ts +12 -0
- package/dist/media/streams/HMSRemoteStream.d.ts +32 -0
- package/dist/media/streams/index.d.ts +3 -0
- package/dist/media/tracks/HMSAudioTrack.d.ts +21 -0
- package/dist/media/tracks/HMSLocalAudioTrack.d.ts +77 -0
- package/dist/media/tracks/HMSLocalVideoTrack.d.ts +149 -0
- package/dist/media/tracks/HMSRemoteAudioTrack.d.ts +4 -0
- package/dist/media/tracks/HMSRemoteVideoTrack.d.ts +59 -0
- package/dist/media/tracks/HMSTrack.d.ts +64 -0
- package/dist/media/tracks/HMSTrackType.d.ts +4 -0
- package/dist/media/tracks/HMSVideoTrack.d.ts +31 -0
- package/dist/media/tracks/VideoElementManager.d.ts +30 -0
- package/dist/media/tracks/index.d.ts +14 -0
- package/dist/media/tracks/trackUtils.d.ts +15 -0
- package/dist/notification-manager/HMSNotificationMethod.d.ts +37 -0
- package/dist/notification-manager/HMSNotifications.d.ts +291 -0
- package/dist/notification-manager/NotificationManager.d.ts +47 -0
- package/dist/notification-manager/fixtures.d.ts +7 -0
- package/dist/notification-manager/index.d.ts +2 -0
- package/dist/notification-manager/managers/ActiveSpeakerManager.d.ts +10 -0
- package/dist/notification-manager/managers/BroadcastManager.d.ts +8 -0
- package/dist/notification-manager/managers/ConnectionQualityManager.d.ts +9 -0
- package/dist/notification-manager/managers/PeerListManager.d.ts +31 -0
- package/dist/notification-manager/managers/PeerManager.d.ts +34 -0
- package/dist/notification-manager/managers/PolicyChangeManager.d.ts +16 -0
- package/dist/notification-manager/managers/PollsManager.d.ts +15 -0
- package/dist/notification-manager/managers/RequestManager.d.ts +19 -0
- package/dist/notification-manager/managers/RoomUpdateManager.d.ts +26 -0
- package/dist/notification-manager/managers/SessionMetadataManager.d.ts +9 -0
- package/dist/notification-manager/managers/TrackManager.d.ts +53 -0
- package/dist/notification-manager/managers/WhiteboardManager.d.ts +11 -0
- package/dist/notification-manager/managers/onDemandTrackManager.d.ts +28 -0
- package/dist/notification-manager/managers/utils.d.ts +4 -0
- package/dist/playlist-manager/AudioContextManager.d.ts +15 -0
- package/dist/playlist-manager/PlaylistAudioManager.d.ts +28 -0
- package/dist/playlist-manager/PlaylistManager.d.ts +60 -0
- package/dist/playlist-manager/PlaylistVideoManager.d.ts +39 -0
- package/dist/playlist-manager/index.d.ts +1 -0
- package/dist/plugins/audio/AudioPluginsAnalytics.d.ts +17 -0
- package/dist/plugins/audio/HMSAudioPlugin.d.ts +58 -0
- package/dist/plugins/audio/HMSAudioPluginsManager.d.ts +43 -0
- package/dist/plugins/audio/index.d.ts +4 -0
- package/dist/plugins/index.d.ts +2 -0
- package/dist/plugins/video/HMSMediaStreamPlugin.d.ts +9 -0
- package/dist/plugins/video/HMSMediaStreamPluginsManager.d.ts +8 -0
- package/dist/plugins/video/HMSVideoPlugin.d.ts +67 -0
- package/dist/plugins/video/HMSVideoPluginsManager.d.ts +92 -0
- package/dist/plugins/video/VideoPluginsAnalytics.d.ts +22 -0
- package/dist/plugins/video/index.d.ts +4 -0
- package/dist/{core/hmsSDKStore → reactive-store}/HMSNotifications.d.ts +1 -1
- package/dist/{core/hmsSDKStore → reactive-store}/HMSPlaylist.d.ts +1 -1
- package/dist/{core/hmsSDKStore → reactive-store}/HMSSDKActions.d.ts +8 -6
- package/dist/{core/hmsSDKStore → reactive-store}/HMSSessionStore.d.ts +2 -1
- package/dist/{core/hmsSDKStore → reactive-store}/adapter.d.ts +4 -3
- package/dist/{core/hmsSDKStore → reactive-store}/common/mapping.d.ts +1 -1
- package/dist/{core/hmsSDKStore → reactive-store}/sdkUtils/sdkUtils.d.ts +1 -1
- package/dist/{core/hmsSDKStore → reactive-store}/sdkUtils/storeMergeUtils.d.ts +2 -2
- package/dist/rtc-stats/HMSWebrtcInternals.d.ts +37 -0
- package/dist/rtc-stats/HMSWebrtcStats.d.ts +29 -0
- package/dist/rtc-stats/index.d.ts +2 -0
- package/dist/rtc-stats/utils.d.ts +19 -0
- package/dist/{core/schema → schema}/device-change.d.ts +1 -1
- package/dist/{core/schema → schema}/index.d.ts +0 -1
- package/dist/{core/schema → schema}/message.d.ts +2 -0
- package/dist/{core/schema → schema}/notification.d.ts +1 -1
- package/dist/{core/schema → schema}/peer.d.ts +1 -1
- package/dist/{core/schema → schema}/role.d.ts +1 -1
- package/dist/{core/schema → schema}/room.d.ts +1 -1
- package/dist/{core/schema → schema}/schema.d.ts +1 -1
- package/dist/sdk/HMSPeerListIterator.d.ts +21 -0
- package/dist/sdk/LocalTrackManager.d.ts +57 -0
- package/dist/sdk/NetworkTestManager.d.ts +15 -0
- package/dist/sdk/RoleChangeManager.d.ts +31 -0
- package/dist/sdk/WakeLockManager.d.ts +8 -0
- package/dist/sdk/index.d.ts +166 -0
- package/dist/sdk/models/HMSRoom.d.ts +25 -0
- package/dist/sdk/models/peer/HMSLocalPeer.d.ts +18 -0
- package/dist/sdk/models/peer/HMSPeer.d.ts +49 -0
- package/dist/sdk/models/peer/HMSRemotePeer.d.ts +13 -0
- package/dist/sdk/models/peer/index.d.ts +3 -0
- package/dist/sdk/store/Store.d.ts +93 -0
- package/dist/sdk/store/StoreInterfaces.d.ts +9 -0
- package/dist/sdk/store/index.d.ts +1 -0
- package/dist/{core/selectors → selectors}/derivedSelectors.d.ts +1 -1
- package/dist/{core/selectors → selectors}/selectors.d.ts +10 -10
- package/dist/{core/selectors → selectors}/selectorsByID.d.ts +3 -3
- package/dist/{core/selectors → selectors}/selectorsByReference.d.ts +2 -2
- package/dist/session-store/index.d.ts +17 -0
- package/dist/session-store/interactivity-center/HMSInteractivityCenter.d.ts +24 -0
- package/dist/session-store/interactivity-center/HMSWhiteboardCenter.d.ts +17 -0
- package/dist/session-store/interactivity-center/index.d.ts +1 -0
- package/dist/signal/ISignalEventsObserver.d.ts +12 -0
- package/dist/signal/ISignalSendParamsProvider.d.ts +3 -0
- package/dist/signal/init/index.d.ts +13 -0
- package/dist/signal/init/models.d.ts +55 -0
- package/dist/signal/interfaces/index.d.ts +10 -0
- package/dist/signal/interfaces/polls.d.ts +152 -0
- package/dist/signal/interfaces/responses.d.ts +40 -0
- package/dist/signal/interfaces/superpowers.d.ts +83 -0
- package/dist/signal/interfaces/track.d.ts +12 -0
- package/dist/signal/jsonrpc/index.d.ts +92 -0
- package/dist/signal/jsonrpc/models.d.ts +64 -0
- package/dist/test/fakeStore/fakeHMSStatsStore.d.ts +1 -1
- package/dist/test/fakeStore/fakeHMSStore.d.ts +2 -2
- package/dist/test/fixtures.d.ts +1 -1
- package/dist/transport/ITransportObserver.d.ts +36 -0
- package/dist/transport/RetryScheduler.d.ts +39 -0
- package/dist/transport/index.d.ts +109 -0
- package/dist/transport/models/JoinParameters.d.ts +9 -0
- package/dist/transport/models/TransportFailureCategory.d.ts +14 -0
- package/dist/transport/models/TransportState.d.ts +9 -0
- package/dist/utils/analytics-deviceId.d.ts +1 -0
- package/dist/utils/autoplay.d.ts +1 -0
- package/dist/utils/constants.d.ts +51 -0
- package/dist/utils/date.d.ts +1 -0
- package/dist/utils/device-error.d.ts +1 -0
- package/dist/utils/fetch.d.ts +4 -0
- package/dist/utils/id-factory.d.ts +3 -0
- package/dist/utils/intersection-observer.d.ts +19 -0
- package/dist/utils/json.d.ts +1 -0
- package/dist/utils/jwt.d.ts +6 -0
- package/dist/utils/local-storage-polyfill.d.ts +1 -0
- package/dist/utils/local-storage.d.ts +12 -0
- package/dist/utils/logger.d.ts +26 -0
- package/dist/utils/math.d.ts +7 -0
- package/dist/utils/media.d.ts +15 -0
- package/dist/utils/network-info.d.ts +8 -0
- package/dist/utils/promise.d.ts +11 -0
- package/dist/utils/queue.d.ts +15 -0
- package/dist/utils/resize-observer.d.ts +19 -0
- package/dist/utils/session-description.d.ts +12 -0
- package/dist/utils/support.d.ts +13 -0
- package/dist/utils/timer-utils.d.ts +15 -0
- package/dist/utils/track-audio-level-monitor.d.ts +38 -0
- package/dist/utils/track.d.ts +4 -0
- package/dist/utils/track.futuretest.d.ts +1 -0
- package/dist/utils/typed-event-emitter.d.ts +14 -0
- package/dist/utils/user-agent.d.ts +3 -0
- package/dist/utils/validations.d.ts +13 -0
- package/dist/{core/webrtc-stats → webrtc-stats}/HMSStats.d.ts +1 -1
- package/dist/webrtc-stats/internal.d.ts +1 -0
- package/dist/webrtc-stats/selectors.d.ts +20 -0
- package/dist/{core/webrtc-stats → webrtc-stats}/webrtc-stats-store.d.ts +1 -1
- package/package.json +13 -6
- package/src/{core/IHMSActions.ts → IHMSActions.ts} +4 -3
- package/src/{core/IHMSStore.ts → IHMSStore.ts} +1 -1
- package/src/analytics/AdditionalAnalyticsProperties.ts +27 -0
- package/src/analytics/AnalyticsEvent.ts +67 -0
- package/src/analytics/AnalyticsEventDomains.ts +5 -0
- package/src/analytics/AnalyticsEventFactory.ts +260 -0
- package/src/analytics/AnalyticsEventLevel.ts +13 -0
- package/src/analytics/AnalyticsEventsService.ts +82 -0
- package/src/analytics/AnalyticsTimer.ts +60 -0
- package/src/analytics/AnalyticsTransport.ts +53 -0
- package/src/analytics/HTTPAnalyticsTransport.ts +120 -0
- package/src/analytics/IAnalyticsPropertiesProvider.ts +5 -0
- package/src/analytics/IAnalyticsTransportProvider.ts +7 -0
- package/src/analytics/MediaPluginsAnalyticsFactory.ts +74 -0
- package/src/analytics/domain-analytics.ts +25 -0
- package/src/analytics/signal-transport/LocalStoageEvents.ts +34 -0
- package/src/analytics/signal-transport/SignalAnalyticsTransport.ts +11 -0
- package/src/analytics/stats/BaseStatsAnalytics.ts +177 -0
- package/src/analytics/stats/PublishStatsAnalytics.ts +148 -0
- package/src/analytics/stats/SubscribeStatsAnalytics.ts +126 -0
- package/src/analytics/stats/index.ts +3 -0
- package/src/analytics/stats/interfaces.ts +90 -0
- package/src/audio-sink-manager/AudioSinkManager.ts +277 -0
- package/src/audio-sink-manager/index.ts +1 -0
- package/src/common/storeName.ts +1 -1
- package/src/common/ui-logger.ts +1 -1
- package/src/connection/HMSConnection.ts +202 -0
- package/src/connection/HMSDataChannel.ts +44 -0
- package/src/connection/IConnectionObserver.ts +6 -0
- package/src/connection/channel-messages.ts +34 -0
- package/src/connection/model.ts +10 -0
- package/src/connection/publish/IPublishConnectionObserver.ts +13 -0
- package/src/connection/publish/publishConnection.ts +59 -0
- package/src/connection/subscribe/ISubscribeConnectionObserver.ts +26 -0
- package/src/connection/subscribe/subscribeConnection.ts +208 -0
- package/src/controller/beam/BeamSpeakerLabelsLogger.ts +2 -2
- package/src/device-manager/AudioOutputManager.ts +43 -0
- package/src/device-manager/DeviceManager.test.ts +42 -0
- package/src/device-manager/DeviceManager.ts +424 -0
- package/src/device-manager/DeviceStorage.test.ts +38 -0
- package/src/device-manager/DeviceStorage.ts +67 -0
- package/src/device-manager/DeviceTestData.ts +206 -0
- package/src/device-manager/index.ts +1 -0
- package/src/error/ErrorCodes.ts +156 -0
- package/src/error/ErrorCodes.ts.gyb +69 -0
- package/src/error/ErrorFactory.ts +549 -0
- package/src/error/ErrorFactory.ts.gyb +109 -0
- package/src/error/HMSAction.ts +19 -0
- package/src/error/HMSException.ts +50 -0
- package/src/error/utils.ts +77 -0
- package/src/events/EventBus.ts +80 -0
- package/src/events/HMSInternalEvent.ts +27 -0
- package/src/feature-flags.d.ts +10 -0
- package/src/index.ts +56 -2
- package/src/interfaces/change-track-state.ts +24 -0
- package/src/interfaces/config.ts +79 -0
- package/src/interfaces/devices.ts +30 -0
- package/src/interfaces/error-listener.ts +5 -0
- package/src/interfaces/framework-info.ts +19 -0
- package/src/interfaces/get-token.ts +8 -0
- package/src/interfaces/hls-config.ts +38 -0
- package/src/interfaces/hms.ts +103 -0
- package/src/interfaces/index.ts +21 -0
- package/src/interfaces/internal.ts +4 -0
- package/src/interfaces/leave-room-request.ts +7 -0
- package/src/interfaces/message.ts +18 -0
- package/src/interfaces/peer/connection-quality.ts +13 -0
- package/src/interfaces/peer/hms-local-peer.ts +12 -0
- package/src/interfaces/peer/hms-peer.ts +25 -0
- package/src/interfaces/peer/hms-remote-peer.ts +9 -0
- package/src/interfaces/peer/index.ts +4 -0
- package/src/interfaces/peer-list-iterator.ts +6 -0
- package/src/interfaces/playlist.ts +116 -0
- package/src/interfaces/preview-listener.ts +16 -0
- package/src/interfaces/role-change-request.ts +12 -0
- package/src/interfaces/role.ts +54 -0
- package/src/interfaces/room.ts +105 -0
- package/src/interfaces/rtmp-recording-config.ts +11 -0
- package/src/interfaces/session-store/index.ts +18 -0
- package/src/{core/schema → interfaces/session-store}/interactivity-center.ts +14 -8
- package/src/interfaces/session-store/polls.ts +167 -0
- package/src/interfaces/session-store/whiteboard.ts +23 -0
- package/src/interfaces/settings.ts +26 -0
- package/src/interfaces/simulcast-layers.ts +36 -0
- package/src/interfaces/speaker.ts +8 -0
- package/src/interfaces/track-settings.ts +121 -0
- package/src/interfaces/types.ts +6 -0
- package/src/interfaces/update-listener.ts +92 -0
- package/src/interfaces/webrtc-stats.ts +97 -0
- package/src/internal.ts +19 -0
- package/src/media/settings/HMSAudioTrackSettings.ts +95 -0
- package/src/media/settings/HMSTrackSettings.ts +83 -0
- package/src/media/settings/HMSVideoTrackSettings.ts +153 -0
- package/src/media/settings/index.ts +3 -0
- package/src/media/streams/HMSLocalStream.ts +77 -0
- package/src/media/streams/HMSMediaStream.ts +21 -0
- package/src/media/streams/HMSRemoteStream.ts +90 -0
- package/src/media/streams/index.ts +3 -0
- package/src/media/streams/stream.test.ts +82 -0
- package/src/media/tracks/HMSAudioTrack.ts +86 -0
- package/src/media/tracks/HMSLocalAudioTrack.ts +284 -0
- package/src/media/tracks/HMSLocalVideoTrack.ts +466 -0
- package/src/media/tracks/HMSRemoteAudioTrack.ts +11 -0
- package/src/media/tracks/HMSRemoteVideoTrack.ts +248 -0
- package/src/media/tracks/HMSTrack.ts +112 -0
- package/src/media/tracks/HMSTrackType.ts +4 -0
- package/src/media/tracks/HMSVideoTrack.ts +89 -0
- package/src/media/tracks/RemoteVideoTrack.test.ts +158 -0
- package/src/media/tracks/VideoElementManager.ts +182 -0
- package/src/media/tracks/index.ts +16 -0
- package/src/media/tracks/trackUtils.test.ts +46 -0
- package/src/media/tracks/trackUtils.ts +45 -0
- package/src/media/tracks/videoElementManager.test.ts +92 -0
- package/src/notification-manager/HMSNotificationMethod.ts +38 -0
- package/src/notification-manager/HMSNotifications.ts +335 -0
- package/src/notification-manager/NotificationManager.ts +198 -0
- package/src/notification-manager/fixtures.ts +183 -0
- package/src/notification-manager/index.ts +2 -0
- package/src/notification-manager/managers/ActiveSpeakerManager.ts +28 -0
- package/src/notification-manager/managers/BroadcastManager.ts +21 -0
- package/src/notification-manager/managers/ConnectionQualityManager.ts +22 -0
- package/src/notification-manager/managers/PeerListManager.ts +173 -0
- package/src/notification-manager/managers/PeerManager.ts +189 -0
- package/src/notification-manager/managers/PolicyChangeManager.ts +50 -0
- package/src/notification-manager/managers/PollsManager.ts +157 -0
- package/src/notification-manager/managers/RequestManager.ts +138 -0
- package/src/notification-manager/managers/RoomUpdateManager.ts +316 -0
- package/src/notification-manager/managers/SessionMetadataManager.ts +26 -0
- package/src/notification-manager/managers/TrackManager.ts +296 -0
- package/src/notification-manager/managers/WhiteboardManager.ts +44 -0
- package/src/notification-manager/managers/onDemandTrackManager.ts +101 -0
- package/src/notification-manager/managers/utils.ts +14 -0
- package/src/notification-manager/notification-manager.test.ts +226 -0
- package/src/playlist-manager/AudioContextManager.ts +44 -0
- package/src/playlist-manager/PlaylistAudioManager.ts +105 -0
- package/src/playlist-manager/PlaylistManager.ts +389 -0
- package/src/playlist-manager/PlaylistVideoManager.ts +153 -0
- package/src/playlist-manager/index.ts +1 -0
- package/src/plugins/audio/AudioPluginsAnalytics.ts +93 -0
- package/src/plugins/audio/HMSAudioPlugin.ts +71 -0
- package/src/plugins/audio/HMSAudioPluginsManager.ts +266 -0
- package/src/plugins/audio/index.ts +4 -0
- package/src/plugins/index.ts +2 -0
- package/src/plugins/video/HMSMediaStreamPlugin.ts +11 -0
- package/src/plugins/video/HMSMediaStreamPluginsManager.ts +33 -0
- package/src/plugins/video/HMSVideoPlugin.ts +81 -0
- package/src/plugins/video/HMSVideoPluginsManager.ts +443 -0
- package/src/plugins/video/VideoPluginsAnalytics.ts +130 -0
- package/src/plugins/video/index.ts +4 -0
- package/src/{core/hmsSDKStore → reactive-store}/HMSNotifications.ts +1 -1
- package/src/{core/hmsSDKStore → reactive-store}/HMSPlaylist.ts +2 -2
- package/src/{core/hmsSDKStore → reactive-store}/HMSReactiveStore.ts +5 -4
- package/src/{core/hmsSDKStore → reactive-store}/HMSSDKActions.ts +84 -67
- package/src/{core/hmsSDKStore → reactive-store}/HMSSessionStore.ts +2 -1
- package/src/{core/hmsSDKStore → reactive-store}/adapter.ts +18 -14
- package/src/{core/hmsSDKStore → reactive-store}/common/mapping.ts +1 -1
- package/src/{core/hmsSDKStore → reactive-store}/sdkUtils/ActionBatcher.ts +1 -1
- package/src/{core/hmsSDKStore → reactive-store}/sdkUtils/sdkUtils.ts +1 -1
- package/src/{core/hmsSDKStore → reactive-store}/sdkUtils/storeMergeUtils.ts +2 -2
- package/src/rtc-stats/HMSWebrtcInternals.ts +105 -0
- package/src/rtc-stats/HMSWebrtcStats.ts +140 -0
- package/src/rtc-stats/index.ts +2 -0
- package/src/rtc-stats/utils.ts +266 -0
- package/src/{core/schema → schema}/device-change.ts +1 -1
- package/src/{core/schema → schema}/index.ts +0 -1
- package/src/{core/schema → schema}/message.ts +2 -0
- package/src/{core/schema → schema}/notification.ts +1 -1
- package/src/{core/schema → schema}/peer.ts +1 -1
- package/src/{core/schema → schema}/role.ts +1 -1
- package/src/{core/schema → schema}/room.ts +1 -1
- package/src/{core/schema → schema}/schema.ts +1 -8
- package/src/sdk/HMSPeerListIterator.ts +73 -0
- package/src/sdk/LocalTrackManager.test.ts +477 -0
- package/src/sdk/LocalTrackManager.ts +612 -0
- package/src/sdk/NetworkTestManager.ts +119 -0
- package/src/sdk/RoleChangeManager.ts +157 -0
- package/src/sdk/WakeLockManager.ts +46 -0
- package/src/sdk/index.ts +1410 -0
- package/src/sdk/models/HMSRoom.ts +29 -0
- package/src/sdk/models/peer/HMSLocalPeer.ts +36 -0
- package/src/sdk/models/peer/HMSPeer.ts +93 -0
- package/src/sdk/models/peer/HMSRemotePeer.ts +18 -0
- package/src/sdk/models/peer/index.ts +3 -0
- package/src/sdk/models/peer/peer.test.ts +119 -0
- package/src/sdk/store/Store.ts +453 -0
- package/src/sdk/store/StoreInterfaces.ts +8 -0
- package/src/sdk/store/index.ts +1 -0
- package/src/{core/selectors → selectors}/derivedSelectors.ts +1 -1
- package/src/{core/selectors → selectors}/selectors.ts +1 -1
- package/src/{core/selectors → selectors}/selectorsByID.ts +1 -1
- package/src/session-store/index.ts +49 -0
- package/src/session-store/interactivity-center/HMSInteractivityCenter.ts +250 -0
- package/src/session-store/interactivity-center/HMSWhiteboardCenter.ts +98 -0
- package/src/session-store/interactivity-center/index.ts +1 -0
- package/src/signal/ISignalEventsObserver.ts +20 -0
- package/src/signal/ISignalSendParamsProvider.ts +3 -0
- package/src/signal/init/index.ts +86 -0
- package/src/signal/init/init.test.ts +155 -0
- package/src/signal/init/models.ts +61 -0
- package/src/signal/interfaces/index.ts +12 -0
- package/src/signal/interfaces/polls.ts +189 -0
- package/src/signal/interfaces/responses.ts +48 -0
- package/src/signal/interfaces/superpowers.ts +98 -0
- package/src/signal/interfaces/track.ts +13 -0
- package/src/signal/jsonrpc/index.ts +633 -0
- package/src/signal/jsonrpc/models.ts +81 -0
- package/src/test/fakeStore/fakeHMSStatsStore.ts +1 -1
- package/src/test/fakeStore/fakeHMSStore.ts +3 -10
- package/src/test/fixtures.ts +1 -1
- package/src/test/unit/HMSNotifications.test.ts +5 -5
- package/src/test/unit/reactiveStore.test.ts +2 -2
- package/src/test/unit/roleSelectors.test.ts +1 -1
- package/src/test/unit/selectors.test.ts +1 -1
- package/src/test/unit/selectorsByReference.test.ts +1 -1
- package/src/test/unit/storeMergeUtils.test.ts +2 -3
- package/src/test/unit/webrtc-stats.test.ts +2 -1
- package/src/transport/ITransportObserver.ts +45 -0
- package/src/transport/RetryScheduler.ts +218 -0
- package/src/transport/index.ts +1185 -0
- package/src/transport/models/JoinParameters.ts +10 -0
- package/src/transport/models/TransportFailureCategory.ts +15 -0
- package/src/transport/models/TransportState.ts +9 -0
- package/src/utils/analytics-deviceId.ts +15 -0
- package/src/utils/autoplay.ts +37 -0
- package/src/utils/constants.ts +66 -0
- package/src/utils/date.ts +3 -0
- package/src/utils/device-error.ts +40 -0
- package/src/utils/fetch.ts +34 -0
- package/src/utils/id-factory.ts +5 -0
- package/src/utils/intersection-observer.test.ts +46 -0
- package/src/utils/intersection-observer.ts +54 -0
- package/src/utils/json.ts +12 -0
- package/src/utils/jwt.test.ts +40 -0
- package/src/utils/jwt.ts +40 -0
- package/src/utils/local-storage-polyfill.ts +47 -0
- package/src/utils/local-storage.ts +44 -0
- package/src/utils/logger.ts +100 -0
- package/src/utils/math.ts +18 -0
- package/src/utils/media.ts +65 -0
- package/src/utils/network-info.ts +19 -0
- package/src/utils/promise.ts +19 -0
- package/src/utils/queue.ts +34 -0
- package/src/utils/resize-observer.test.ts +53 -0
- package/src/utils/resize-observer.ts +59 -0
- package/src/utils/session-description.test.ts +49 -0
- package/src/utils/session-description.ts +55 -0
- package/src/utils/support.ts +30 -0
- package/src/utils/timer-utils.ts +69 -0
- package/src/utils/track-audio-level-monitor.ts +153 -0
- package/src/utils/track.futuretest.ts +11 -0
- package/src/utils/track.ts +30 -0
- package/src/utils/typed-event-emitter.ts +35 -0
- package/src/utils/user-agent.ts +79 -0
- package/src/utils/validations.ts +34 -0
- package/src/{core/webrtc-stats → webrtc-stats}/HMSStats.ts +3 -3
- package/src/webrtc-stats/internal.ts +2 -0
- package/src/{core/webrtc-stats → webrtc-stats}/selectors.ts +1 -1
- package/src/{core/webrtc-stats → webrtc-stats}/webrtc-stats-store.ts +4 -2
- package/dist/core/hmsSDKStore/HMSInteractivityCenter.d.ts +0 -22
- package/dist/core/hmsSDKStore/sdkTypes.d.ts +0 -3
- package/dist/core/index.d.ts +0 -8
- package/dist/core/schema/interactivity-center.d.ts +0 -10
- package/dist/core/webrtc-stats/selectors.d.ts +0 -20
- package/src/core/hmsSDKStore/HMSInteractivityCenter.ts +0 -60
- package/src/core/hmsSDKStore/sdkTypes.ts +0 -136
- package/src/core/index.ts +0 -48
- /package/dist/{core/hmsSDKStore → reactive-store}/HMSReactiveStore.d.ts +0 -0
- /package/dist/{core/hmsSDKStore → reactive-store}/common/presence.d.ts +0 -0
- /package/dist/{core/hmsSDKStore → reactive-store}/internalTypes.d.ts +0 -0
- /package/dist/{core/hmsSDKStore → reactive-store}/sdkUtils/ActionBatcher.d.ts +0 -0
- /package/dist/{core/schema → schema}/error.d.ts +0 -0
- /package/dist/{core/schema → schema}/playlist-selectors.d.ts +0 -0
- /package/dist/{core/schema → schema}/playlist.d.ts +0 -0
- /package/dist/{core/schema → schema}/requests.d.ts +0 -0
- /package/dist/{core/schema → schema}/session-store.d.ts +0 -0
- /package/dist/{core/schema → schema}/settings.d.ts +0 -0
- /package/dist/{core/selectors → selectors}/common.d.ts +0 -0
- /package/dist/{core/selectors → selectors}/index.d.ts +0 -0
- /package/dist/{core/selectors → selectors}/playlistselectors.d.ts +0 -0
- /package/dist/{core/selectors → selectors}/selectorUtils.d.ts +0 -0
- /package/dist/{core/webrtc-stats → webrtc-stats}/index.d.ts +0 -0
- /package/src/{core/hmsSDKStore → reactive-store}/common/presence.ts +0 -0
- /package/src/{core/hmsSDKStore → reactive-store}/internalTypes.ts +0 -0
- /package/src/{core/schema → schema}/error.ts +0 -0
- /package/src/{core/schema → schema}/playlist-selectors.ts +0 -0
- /package/src/{core/schema → schema}/playlist.ts +0 -0
- /package/src/{core/schema → schema}/requests.ts +0 -0
- /package/src/{core/schema → schema}/session-store.ts +0 -0
- /package/src/{core/schema → schema}/settings.ts +0 -0
- /package/src/{core/selectors → selectors}/common.ts +0 -0
- /package/src/{core/selectors → selectors}/index.ts +0 -0
- /package/src/{core/selectors → selectors}/playlistselectors.ts +0 -0
- /package/src/{core/selectors → selectors}/selectorUtils.ts +0 -0
- /package/src/{core/selectors → selectors}/selectorsByReference.ts +0 -0
- /package/src/{core/webrtc-stats → webrtc-stats}/index.ts +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface DataChannelObserver {
|
|
2
|
+
onMessage(value: string): void;
|
|
3
|
+
}
|
|
4
|
+
export default class HMSDataChannel {
|
|
5
|
+
private readonly TAG;
|
|
6
|
+
private readonly nativeChannel;
|
|
7
|
+
private readonly observer;
|
|
8
|
+
private readonly metadata;
|
|
9
|
+
get id(): number | null;
|
|
10
|
+
get label(): string;
|
|
11
|
+
get readyState(): RTCDataChannelState;
|
|
12
|
+
constructor(nativeChannel: RTCDataChannel, observer: DataChannelObserver, metadata?: string);
|
|
13
|
+
send(message: string): void;
|
|
14
|
+
close(): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { HMSSimulcastLayer } from '../interfaces';
|
|
2
|
+
import { HMSPreferredSimulcastLayer } from '../interfaces/simulcast-layers';
|
|
3
|
+
export interface PreferVideoLayerParams {
|
|
4
|
+
params: {
|
|
5
|
+
max_spatial_layer: HMSSimulcastLayer;
|
|
6
|
+
track_id: string;
|
|
7
|
+
};
|
|
8
|
+
method: 'prefer-video-track-state';
|
|
9
|
+
}
|
|
10
|
+
export interface PreferLayerResponse {
|
|
11
|
+
id: string;
|
|
12
|
+
error?: {
|
|
13
|
+
code: number;
|
|
14
|
+
message: string;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export interface PreferAudioLayerParams {
|
|
18
|
+
params: {
|
|
19
|
+
subscribed: boolean;
|
|
20
|
+
track_id: string;
|
|
21
|
+
};
|
|
22
|
+
method: 'prefer-audio-track-state';
|
|
23
|
+
}
|
|
24
|
+
export interface VideoTrackLayerUpdate {
|
|
25
|
+
current_layer: HMSSimulcastLayer;
|
|
26
|
+
expected_layer: HMSPreferredSimulcastLayer;
|
|
27
|
+
track_id: string;
|
|
28
|
+
subscriber_degraded: boolean;
|
|
29
|
+
publisher_degraded: boolean;
|
|
30
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import IConnectionObserver from '../IConnectionObserver';
|
|
2
|
+
export interface IPublishConnectionObserver extends IConnectionObserver {
|
|
3
|
+
/** Triggered when renegotiation is necessary.
|
|
4
|
+
* - A new local track/stream is added/removed
|
|
5
|
+
* - A new data-channel is added/removed
|
|
6
|
+
*/
|
|
7
|
+
onRenegotiationNeeded(): Promise<void>;
|
|
8
|
+
onDTLSTransportStateChange: (state?: RTCDtlsTransportState) => void;
|
|
9
|
+
onDTLSTransportError: (error: Error) => void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IPublishConnectionObserver } from './IPublishConnectionObserver';
|
|
2
|
+
import JsonRpcSignal from '../../signal/jsonrpc';
|
|
3
|
+
import HMSConnection from '../HMSConnection';
|
|
4
|
+
export default class HMSPublishConnection extends HMSConnection {
|
|
5
|
+
private readonly TAG;
|
|
6
|
+
private readonly observer;
|
|
7
|
+
readonly nativeConnection: RTCPeerConnection;
|
|
8
|
+
readonly channel: RTCDataChannel;
|
|
9
|
+
constructor(signal: JsonRpcSignal, config: RTCConfiguration, observer: IPublishConnectionObserver);
|
|
10
|
+
initAfterJoin(): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { HMSTrack } from '../../media/tracks/HMSTrack';
|
|
2
|
+
import IConnectionObserver from '../IConnectionObserver';
|
|
3
|
+
export default interface ISubscribeConnectionObserver extends IConnectionObserver {
|
|
4
|
+
/** Triggered when a remote peer opens a DataChannel.
|
|
5
|
+
* Internally there is a data channel with label [API_DATA_CHANNEL]
|
|
6
|
+
* which is internally.
|
|
7
|
+
*
|
|
8
|
+
* TODO: Notify about all the other data channels to the sdk-layer */
|
|
9
|
+
onApiChannelMessage(message: string): void;
|
|
10
|
+
/** Triggered when media is received on a new streams from remote peer. */
|
|
11
|
+
onTrackAdd(track: HMSTrack): void;
|
|
12
|
+
/** Triggered when a remote peer close a streams.*/
|
|
13
|
+
onTrackRemove(track: HMSTrack): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import ISubscribeConnectionObserver from './ISubscribeConnectionObserver';
|
|
2
|
+
import { InitFlags } from '../../signal/init/models';
|
|
3
|
+
import JsonRpcSignal from '../../signal/jsonrpc';
|
|
4
|
+
import { PreferAudioLayerParams, PreferLayerResponse, PreferVideoLayerParams } from '../channel-messages';
|
|
5
|
+
import HMSConnection from '../HMSConnection';
|
|
6
|
+
export default class HMSSubscribeConnection extends HMSConnection {
|
|
7
|
+
private isFlagEnabled;
|
|
8
|
+
private readonly TAG;
|
|
9
|
+
private readonly remoteStreams;
|
|
10
|
+
private readonly observer;
|
|
11
|
+
private readonly MAX_RETRIES;
|
|
12
|
+
readonly nativeConnection: RTCPeerConnection;
|
|
13
|
+
private pendingMessageQueue;
|
|
14
|
+
private apiChannel?;
|
|
15
|
+
private eventEmitter;
|
|
16
|
+
private initNativeConnectionCallbacks;
|
|
17
|
+
constructor(signal: JsonRpcSignal, config: RTCConfiguration, isFlagEnabled: (flag: InitFlags) => boolean, observer: ISubscribeConnectionObserver);
|
|
18
|
+
sendOverApiDataChannel(message: string): void;
|
|
19
|
+
sendOverApiDataChannelWithResponse<T extends PreferAudioLayerParams | PreferVideoLayerParams>(message: T, requestId?: string): Promise<PreferLayerResponse>;
|
|
20
|
+
close(): Promise<void>;
|
|
21
|
+
private handlePendingApiMessages;
|
|
22
|
+
private sendMessage;
|
|
23
|
+
private waitForResponse;
|
|
24
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { HMSGenericTypes, HMSPeer, IHMSStore } from '../../
|
|
2
|
-
import { IHMSActions } from '../../
|
|
1
|
+
import { HMSGenericTypes, HMSPeer, IHMSStore } from '../../';
|
|
2
|
+
import { IHMSActions } from '../../IHMSActions';
|
|
3
3
|
/**
|
|
4
4
|
* Log data of audio level and speaker speaking periodically to beam for transcript
|
|
5
5
|
* diarization.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DeviceManager } from './DeviceManager';
|
|
2
|
+
import { AudioSinkManager } from '../audio-sink-manager';
|
|
3
|
+
export interface IAudioOutputManager {
|
|
4
|
+
getDevice(): MediaDeviceInfo | undefined;
|
|
5
|
+
setDevice(deviceId: string): Promise<MediaDeviceInfo | undefined>;
|
|
6
|
+
getVolume(): number;
|
|
7
|
+
setVolume(value: number): void;
|
|
8
|
+
}
|
|
9
|
+
export declare class AudioOutputManager implements IAudioOutputManager {
|
|
10
|
+
private deviceManager;
|
|
11
|
+
private audioSinkManager;
|
|
12
|
+
constructor(deviceManager: DeviceManager, audioSinkManager: AudioSinkManager);
|
|
13
|
+
getVolume(): number;
|
|
14
|
+
setVolume(value: number): void;
|
|
15
|
+
getDevice(): MediaDeviceInfo | undefined;
|
|
16
|
+
setDevice(deviceId?: string): Promise<MediaDeviceInfo | undefined>;
|
|
17
|
+
unblockAutoplay(): Promise<void>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { EventBus } from '../events/EventBus';
|
|
2
|
+
import { DeviceMap, SelectedDevices } from '../interfaces';
|
|
3
|
+
import { Store } from '../sdk/store';
|
|
4
|
+
interface HMSDeviceManager extends DeviceMap {
|
|
5
|
+
outputDevice?: MediaDeviceInfo;
|
|
6
|
+
hasWebcamPermission: boolean;
|
|
7
|
+
hasMicrophonePermission: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare class DeviceManager implements HMSDeviceManager {
|
|
10
|
+
private store;
|
|
11
|
+
private eventBus;
|
|
12
|
+
audioInput: MediaDeviceInfo[];
|
|
13
|
+
audioOutput: MediaDeviceInfo[];
|
|
14
|
+
videoInput: MediaDeviceInfo[];
|
|
15
|
+
outputDevice?: MediaDeviceInfo;
|
|
16
|
+
hasWebcamPermission: boolean;
|
|
17
|
+
hasMicrophonePermission: boolean;
|
|
18
|
+
private readonly TAG;
|
|
19
|
+
private initialized;
|
|
20
|
+
private videoInputChanged;
|
|
21
|
+
private audioInputChanged;
|
|
22
|
+
constructor(store: Store, eventBus: EventBus);
|
|
23
|
+
updateOutputDevice: (deviceId?: string) => Promise<MediaDeviceInfo | undefined>;
|
|
24
|
+
init(force?: boolean): Promise<void>;
|
|
25
|
+
getDevices(): DeviceMap;
|
|
26
|
+
cleanup(): void;
|
|
27
|
+
getCurrentSelection: () => SelectedDevices;
|
|
28
|
+
private createIdentifier;
|
|
29
|
+
private computeChange;
|
|
30
|
+
private enumerateDevices;
|
|
31
|
+
private handleDeviceChange;
|
|
32
|
+
/**
|
|
33
|
+
* Function to get the device after device change
|
|
34
|
+
* Chrome and Edge provide a default device from which we select the actual device
|
|
35
|
+
* Firefox and safari give 0th device as system default
|
|
36
|
+
* @returns {MediaDeviceInfo}
|
|
37
|
+
*/
|
|
38
|
+
getNewAudioInputDevice(): MediaDeviceInfo | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* This method is to select the input/output from same group
|
|
41
|
+
* same group meaning both input/output are of same device
|
|
42
|
+
* This method might override the default coming from browser and system so as to select options from same
|
|
43
|
+
* device type. This is required in certain cases where browser's default is not correct.
|
|
44
|
+
* Algo:
|
|
45
|
+
* 1. find the non default input device if selected one is default by matching device label
|
|
46
|
+
* 2. find the corresponding output device which has the same group id or same label
|
|
47
|
+
* 3. select the previous selected device if nothing was found
|
|
48
|
+
* 4. select the default one if no matching device was found and previous device doesn't exist anymore
|
|
49
|
+
* 5. select the first option if there is no default
|
|
50
|
+
*/
|
|
51
|
+
setOutputDevice(deviceChange?: boolean): Promise<void>;
|
|
52
|
+
private handleAudioInputDeviceChange;
|
|
53
|
+
private handleVideoInputDeviceChange;
|
|
54
|
+
private getAudioOutputDeviceMatchingInput;
|
|
55
|
+
private logDevices;
|
|
56
|
+
}
|
|
57
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { DeviceMap, SelectedDevices } from '../interfaces';
|
|
2
|
+
declare type DeviceInfo = {
|
|
3
|
+
deviceId?: string;
|
|
4
|
+
groupId?: string;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* This class is to manage storing and retrieving selected devices
|
|
8
|
+
* from localstorage
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
declare class DeviceStorage {
|
|
12
|
+
private storage;
|
|
13
|
+
private remember;
|
|
14
|
+
private devices?;
|
|
15
|
+
private readonly TAG;
|
|
16
|
+
setDevices(devices: DeviceMap): void;
|
|
17
|
+
rememberDevices(value: boolean): void;
|
|
18
|
+
/**
|
|
19
|
+
* This will update the passed in type value in storage
|
|
20
|
+
* @param {string} type - One of audioInput | videoInput | audioOutput
|
|
21
|
+
* @param {DeviceInfo} param
|
|
22
|
+
* @returns {void}
|
|
23
|
+
*/
|
|
24
|
+
updateSelection(type: 'audioInput' | 'videoInput' | 'audioOutput', { deviceId, groupId }: DeviceInfo): void;
|
|
25
|
+
getSelection(): SelectedDevices | undefined;
|
|
26
|
+
cleanup(): void;
|
|
27
|
+
private isSame;
|
|
28
|
+
}
|
|
29
|
+
export declare const DeviceStorageManager: DeviceStorage;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const DevicesWiredHeadphonesWithoutMic: {
|
|
2
|
+
audioInput: MediaDeviceInfo[];
|
|
3
|
+
audioOutput: MediaDeviceInfo[];
|
|
4
|
+
videoInput: MediaDeviceInfo[];
|
|
5
|
+
};
|
|
6
|
+
export declare const DevicesWiredHeadphonesWithMic: {
|
|
7
|
+
audioInput: MediaDeviceInfo[];
|
|
8
|
+
audioOutput: MediaDeviceInfo[];
|
|
9
|
+
videoInput: MediaDeviceInfo[];
|
|
10
|
+
};
|
|
11
|
+
export declare const DevicesWithStereoHeadphones: {
|
|
12
|
+
audioInput: MediaDeviceInfo[];
|
|
13
|
+
audioOutput: MediaDeviceInfo[];
|
|
14
|
+
videoInput: MediaDeviceInfo[];
|
|
15
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DeviceManager } from './DeviceManager';
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export declare const ErrorCodes: {
|
|
2
|
+
WebSocketConnectionErrors: {
|
|
3
|
+
FAILED_TO_CONNECT: number;
|
|
4
|
+
WEBSOCKET_CONNECTION_LOST: number;
|
|
5
|
+
ABNORMAL_CLOSE: number;
|
|
6
|
+
};
|
|
7
|
+
APIErrors: {
|
|
8
|
+
SERVER_ERRORS: number;
|
|
9
|
+
INIT_CONFIG_NOT_AVAILABLE: number;
|
|
10
|
+
ENDPOINT_UNREACHABLE: number;
|
|
11
|
+
INVALID_TOKEN_FORMAT: number;
|
|
12
|
+
};
|
|
13
|
+
TracksErrors: {
|
|
14
|
+
GENERIC_TRACK: number;
|
|
15
|
+
CANT_ACCESS_CAPTURE_DEVICE: number;
|
|
16
|
+
DEVICE_NOT_AVAILABLE: number;
|
|
17
|
+
DEVICE_IN_USE: number;
|
|
18
|
+
DEVICE_LOST_MIDWAY: number;
|
|
19
|
+
NOTHING_TO_RETURN: number;
|
|
20
|
+
INVALID_VIDEO_SETTINGS: number;
|
|
21
|
+
CODEC_CHANGE_NOT_PERMITTED: number;
|
|
22
|
+
AUTOPLAY_ERROR: number;
|
|
23
|
+
OVER_CONSTRAINED: number;
|
|
24
|
+
NO_AUDIO_DETECTED: number;
|
|
25
|
+
SYSTEM_DENIED_PERMISSION: number;
|
|
26
|
+
CURRENT_TAB_NOT_SHARED: number;
|
|
27
|
+
AUDIO_PLAYBACK_ERROR: number;
|
|
28
|
+
SELECTED_DEVICE_MISSING: number;
|
|
29
|
+
};
|
|
30
|
+
WebrtcErrors: {
|
|
31
|
+
CREATE_OFFER_FAILED: number;
|
|
32
|
+
CREATE_ANSWER_FAILED: number;
|
|
33
|
+
SET_LOCAL_DESCRIPTION_FAILED: number;
|
|
34
|
+
SET_REMOTE_DESCRIPTION_FAILED: number;
|
|
35
|
+
ICE_FAILURE: number;
|
|
36
|
+
ICE_DISCONNECTED: number;
|
|
37
|
+
STATS_FAILED: number;
|
|
38
|
+
};
|
|
39
|
+
WebsocketMethodErrors: {
|
|
40
|
+
SERVER_ERRORS: number;
|
|
41
|
+
ALREADY_JOINED: number;
|
|
42
|
+
CANNOT_JOIN_PREVIEW_IN_PROGRESS: number;
|
|
43
|
+
};
|
|
44
|
+
GenericErrors: {
|
|
45
|
+
NOT_CONNECTED: number;
|
|
46
|
+
SIGNALLING: number;
|
|
47
|
+
UNKNOWN: number;
|
|
48
|
+
NOT_READY: number;
|
|
49
|
+
JSON_PARSING_FAILED: number;
|
|
50
|
+
TRACK_METADATA_MISSING: number;
|
|
51
|
+
RTC_TRACK_MISSING: number;
|
|
52
|
+
PEER_METADATA_MISSING: number;
|
|
53
|
+
INVALID_ROLE: number;
|
|
54
|
+
PREVIEW_IN_PROGRESS: number;
|
|
55
|
+
MISSING_MEDIADEVICES: number;
|
|
56
|
+
MISSING_RTCPEERCONNECTION: number;
|
|
57
|
+
LOCAL_STORAGE_ACCESS_DENIED: number;
|
|
58
|
+
VALIDATION_FAILED: number;
|
|
59
|
+
};
|
|
60
|
+
PlaylistErrors: {
|
|
61
|
+
NO_ENTRY_TO_PLAY: number;
|
|
62
|
+
NO_ENTRY_IS_PLAYING: number;
|
|
63
|
+
};
|
|
64
|
+
};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { HMSAction } from './HMSAction';
|
|
2
|
+
import { HMSException } from './HMSException';
|
|
3
|
+
import { HMSSignalMethod } from '../signal/jsonrpc/models';
|
|
4
|
+
export declare const ErrorFactory: {
|
|
5
|
+
WebSocketConnectionErrors: {
|
|
6
|
+
FailedToConnect(action: HMSAction, description?: string): HMSException;
|
|
7
|
+
WebSocketConnectionLost(action: HMSAction, description?: string): HMSException;
|
|
8
|
+
AbnormalClose(action: HMSAction, description?: string): HMSException;
|
|
9
|
+
};
|
|
10
|
+
APIErrors: {
|
|
11
|
+
ServerErrors(code: number, action: HMSAction, description?: string, isTerminal?: boolean): HMSException;
|
|
12
|
+
EndpointUnreachable(action: HMSAction, description?: string): HMSException;
|
|
13
|
+
InvalidTokenFormat(action: HMSAction, description?: string): HMSException;
|
|
14
|
+
InitConfigNotAvailable(action: HMSAction, description?: string): HMSException;
|
|
15
|
+
};
|
|
16
|
+
TracksErrors: {
|
|
17
|
+
GenericTrack(action: HMSAction, description?: string): HMSException;
|
|
18
|
+
CantAccessCaptureDevice(action: HMSAction, deviceInfo: string, description?: string): HMSException;
|
|
19
|
+
DeviceNotAvailable(action: HMSAction, deviceInfo: string, description?: string): HMSException;
|
|
20
|
+
DeviceInUse(action: HMSAction, deviceInfo: string, description?: string): HMSException;
|
|
21
|
+
DeviceLostMidway(action: HMSAction, deviceInfo: string, description?: string): HMSException;
|
|
22
|
+
NothingToReturn(action: HMSAction, description?: string, message?: string): HMSException;
|
|
23
|
+
InvalidVideoSettings(action: HMSAction, description?: string): HMSException;
|
|
24
|
+
AutoplayBlocked(action: HMSAction, description?: string): HMSException;
|
|
25
|
+
CodecChangeNotPermitted(action: HMSAction, description?: string): HMSException;
|
|
26
|
+
OverConstrained(action: HMSAction, deviceInfo: string, description?: string): HMSException;
|
|
27
|
+
NoAudioDetected(action: HMSAction, description?: string): HMSException;
|
|
28
|
+
SystemDeniedPermission(action: HMSAction, deviceInfo: string, description?: string): HMSException;
|
|
29
|
+
CurrentTabNotShared(): HMSException;
|
|
30
|
+
AudioPlaybackError(description: string): HMSException;
|
|
31
|
+
SelectedDeviceMissing(deviceType: string): HMSException;
|
|
32
|
+
};
|
|
33
|
+
WebrtcErrors: {
|
|
34
|
+
CreateOfferFailed(action: HMSAction, description?: string): HMSException;
|
|
35
|
+
CreateAnswerFailed(action: HMSAction, description?: string): HMSException;
|
|
36
|
+
SetLocalDescriptionFailed(action: HMSAction, description?: string): HMSException;
|
|
37
|
+
SetRemoteDescriptionFailed(action: HMSAction, description?: string): HMSException;
|
|
38
|
+
ICEFailure(action: HMSAction, description?: string, isTerminal?: boolean): HMSException;
|
|
39
|
+
ICEDisconnected(action: HMSAction, description?: string): HMSException;
|
|
40
|
+
StatsFailed(action: HMSAction, description?: string): HMSException;
|
|
41
|
+
};
|
|
42
|
+
WebsocketMethodErrors: {
|
|
43
|
+
ServerErrors(code: number, action: HMSAction | HMSSignalMethod, description: string): HMSException;
|
|
44
|
+
AlreadyJoined(action: HMSAction, description?: string): HMSException;
|
|
45
|
+
CannotJoinPreviewInProgress(action: HMSAction, description?: string): HMSException;
|
|
46
|
+
};
|
|
47
|
+
GenericErrors: {
|
|
48
|
+
NotConnected(action: HMSAction, description?: string): HMSException;
|
|
49
|
+
Signalling(action: HMSAction, description: string): HMSException;
|
|
50
|
+
Unknown(action: HMSAction, description: string): HMSException;
|
|
51
|
+
NotReady(action: HMSAction, description?: string): HMSException;
|
|
52
|
+
JsonParsingFailed(action: HMSAction, jsonMessage: string, description?: string): HMSException;
|
|
53
|
+
TrackMetadataMissing(action: HMSAction, description?: string): HMSException;
|
|
54
|
+
RTCTrackMissing(action: HMSAction, description?: string): HMSException;
|
|
55
|
+
PeerMetadataMissing(action: HMSAction, description?: string): HMSException;
|
|
56
|
+
ValidationFailed(message: string, entity?: any): HMSException;
|
|
57
|
+
InvalidRole(action: HMSAction, description: string): HMSException;
|
|
58
|
+
PreviewAlreadyInProgress(action: HMSAction, description?: string): HMSException;
|
|
59
|
+
LocalStorageAccessDenied(description?: string): HMSException;
|
|
60
|
+
MissingMediaDevices(): HMSException;
|
|
61
|
+
MissingRTCPeerConnection(): HMSException;
|
|
62
|
+
};
|
|
63
|
+
MediaPluginErrors: {
|
|
64
|
+
PlatformNotSupported(action: HMSAction, description?: string): HMSException;
|
|
65
|
+
InitFailed(action: HMSAction, description?: string): HMSException;
|
|
66
|
+
ProcessingFailed(action: HMSAction, description?: string): HMSException;
|
|
67
|
+
AddAlreadyInProgress(action: HMSAction, description?: string): HMSException;
|
|
68
|
+
DeviceNotSupported(action: HMSAction, description?: string): HMSException;
|
|
69
|
+
};
|
|
70
|
+
PlaylistErrors: {
|
|
71
|
+
NoEntryToPlay(action: HMSAction, description: string): HMSException;
|
|
72
|
+
NoEntryPlaying(action: HMSAction, description: string): HMSException;
|
|
73
|
+
};
|
|
74
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare enum HMSAction {
|
|
2
|
+
NONE = "NONE",
|
|
3
|
+
TRACK = "TRACK",
|
|
4
|
+
INIT = "INIT",
|
|
5
|
+
GET_TOKEN = "GET_TOKEN",
|
|
6
|
+
PUBLISH = "PUBLISH",
|
|
7
|
+
UNPUBLISH = "UNPUBLISH",
|
|
8
|
+
JOIN = "JOIN",
|
|
9
|
+
SUBSCRIBE = "SUBSCRIBE",
|
|
10
|
+
DATA_CHANNEL_SEND = "DATA_CHANNEL_SEND",
|
|
11
|
+
RESTART_ICE = "RESTART_ICE",
|
|
12
|
+
VIDEO_PLUGINS = "VIDEO_PLUGINS",
|
|
13
|
+
AUDIO_PLUGINS = "AUDIO_PLUGINS",
|
|
14
|
+
AUTOPLAY = "AUTOPLAY",
|
|
15
|
+
RECONNECT_SIGNAL = "RECONNECT_SIGNAL",
|
|
16
|
+
VALIDATION = "VALIDATION",
|
|
17
|
+
PLAYLIST = "PLAYLIST",
|
|
18
|
+
PREVIEW = "PREVIEW"
|
|
19
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { HMSAction } from './HMSAction';
|
|
2
|
+
import { IAnalyticsPropertiesProvider } from '../analytics/IAnalyticsPropertiesProvider';
|
|
3
|
+
import { HMSSignalMethod } from '../signal/jsonrpc/models';
|
|
4
|
+
export declare class HMSException extends Error implements IAnalyticsPropertiesProvider {
|
|
5
|
+
readonly code: number;
|
|
6
|
+
name: string;
|
|
7
|
+
message: string;
|
|
8
|
+
description: string;
|
|
9
|
+
isTerminal: boolean;
|
|
10
|
+
action: string;
|
|
11
|
+
nativeError?: Error;
|
|
12
|
+
constructor(code: number, name: string, action: HMSAction | HMSSignalMethod, message: string, description: string, isTerminal?: boolean);
|
|
13
|
+
toAnalyticsProperties(): {
|
|
14
|
+
error_name: string;
|
|
15
|
+
error_code: number;
|
|
16
|
+
error_message: string;
|
|
17
|
+
error_description: string;
|
|
18
|
+
action: string;
|
|
19
|
+
is_terminal: boolean;
|
|
20
|
+
};
|
|
21
|
+
addNativeError(error: Error): void;
|
|
22
|
+
toString(): string;
|
|
23
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { HMSException } from './HMSException';
|
|
2
|
+
export declare enum HMSGetMediaActions {
|
|
3
|
+
UNKNOWN = "unknown(video or audio)",
|
|
4
|
+
AUDIO = "audio",
|
|
5
|
+
VIDEO = "video",
|
|
6
|
+
AV = "audio, video",
|
|
7
|
+
SCREEN = "screen"
|
|
8
|
+
}
|
|
9
|
+
export declare function BuildGetMediaError(err: Error, deviceInfo: string): HMSException;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { HMSInternalEvent } from './HMSInternalEvent';
|
|
2
|
+
import AnalyticsEvent from '../analytics/AnalyticsEvent';
|
|
3
|
+
import { HMSException } from '../error/HMSException';
|
|
4
|
+
import { HMSDeviceChangeEvent, HMSRole } from '../interfaces';
|
|
5
|
+
import { HMSLocalAudioTrack, HMSLocalVideoTrack, HMSRemoteAudioTrack, HMSRemoteVideoTrack, HMSWebrtcStats } from '../internal';
|
|
6
|
+
import { PolicyParams } from '../notification-manager/HMSNotifications';
|
|
7
|
+
import { HMSRemotePeer } from '../sdk/models/peer';
|
|
8
|
+
import { ITrackAudioLevelUpdate } from '../utils/track-audio-level-monitor';
|
|
9
|
+
export declare class EventBus {
|
|
10
|
+
private eventEmitter;
|
|
11
|
+
readonly deviceChange: HMSInternalEvent<HMSDeviceChangeEvent>;
|
|
12
|
+
readonly localAudioEnabled: HMSInternalEvent<{
|
|
13
|
+
enabled: boolean;
|
|
14
|
+
track: HMSLocalAudioTrack;
|
|
15
|
+
}>;
|
|
16
|
+
readonly localVideoEnabled: HMSInternalEvent<{
|
|
17
|
+
enabled: boolean;
|
|
18
|
+
track: HMSLocalVideoTrack;
|
|
19
|
+
}>;
|
|
20
|
+
/**
|
|
21
|
+
* Emitter which processes raw RTC stats from rtcStatsUpdate and calls client callback
|
|
22
|
+
*/
|
|
23
|
+
readonly statsUpdate: HMSInternalEvent<HMSWebrtcStats>;
|
|
24
|
+
readonly trackDegraded: HMSInternalEvent<HMSRemoteVideoTrack>;
|
|
25
|
+
readonly trackRestored: HMSInternalEvent<HMSRemoteVideoTrack>;
|
|
26
|
+
/**
|
|
27
|
+
* Emits audio level updates for audio tracks(used with local track in preview)
|
|
28
|
+
*/
|
|
29
|
+
readonly trackAudioLevelUpdate: HMSInternalEvent<ITrackAudioLevelUpdate>;
|
|
30
|
+
readonly audioPluginFailed: HMSInternalEvent<HMSException>;
|
|
31
|
+
readonly localAudioSilence: HMSInternalEvent<{
|
|
32
|
+
track: HMSLocalAudioTrack;
|
|
33
|
+
}>;
|
|
34
|
+
readonly analytics: HMSInternalEvent<AnalyticsEvent>;
|
|
35
|
+
readonly policyChange: HMSInternalEvent<PolicyParams>;
|
|
36
|
+
readonly localRoleUpdate: HMSInternalEvent<{
|
|
37
|
+
oldRole: HMSRole;
|
|
38
|
+
newRole: HMSRole;
|
|
39
|
+
}>;
|
|
40
|
+
readonly audioTrackUpdate: HMSInternalEvent<{
|
|
41
|
+
track: HMSRemoteAudioTrack;
|
|
42
|
+
enabled: boolean;
|
|
43
|
+
}>;
|
|
44
|
+
readonly audioTrackAdded: HMSInternalEvent<{
|
|
45
|
+
track: HMSRemoteAudioTrack;
|
|
46
|
+
peer: HMSRemotePeer;
|
|
47
|
+
}>;
|
|
48
|
+
readonly audioTrackRemoved: HMSInternalEvent<HMSRemoteAudioTrack>;
|
|
49
|
+
readonly autoplayError: HMSInternalEvent<HMSException>;
|
|
50
|
+
readonly leave: HMSInternalEvent<HMSException | undefined>;
|
|
51
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { WaitForFilter } from 'eventemitter2';
|
|
2
|
+
import { EventEmitter2 as EventEmitter } from 'eventemitter2';
|
|
3
|
+
export declare class HMSInternalEvent<T> {
|
|
4
|
+
private eventName;
|
|
5
|
+
private eventEmitter;
|
|
6
|
+
constructor(eventName: string, eventEmitter: EventEmitter);
|
|
7
|
+
publish: (event?: T) => void;
|
|
8
|
+
subscribe: (fn: (event: T) => void | Promise<void>) => void;
|
|
9
|
+
subscribeOnce: (fn: (event: T) => void | Promise<void>) => void;
|
|
10
|
+
unsubscribe: (fn: (event: T) => void | Promise<void>) => void;
|
|
11
|
+
waitFor: (predicate: WaitForFilter) => import("eventemitter2").CancelablePromise<any[]>;
|
|
12
|
+
removeAllListeners: () => void;
|
|
13
|
+
}
|