@100mslive/hms-video-store 0.2.48 → 0.2.51
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/hmsSDKStore/HMSPlaylist.d.ts +4 -2
- package/dist/core/hmsSDKStore/HMSSDKActions.d.ts +7 -3
- package/dist/core/hmsSDKStore/adapter.d.ts +13 -0
- package/dist/core/hmsSDKStore/sdkTypes.d.ts +2 -2
- package/dist/core/schema/playlist.d.ts +9 -10
- package/dist/core/schema/room.d.ts +11 -0
- package/dist/core/selectors/selectors.d.ts +20 -0
- package/dist/hms-video-store.cjs.development.js +83 -29
- package/dist/hms-video-store.cjs.development.js.map +1 -1
- package/dist/hms-video-store.cjs.production.min.js +1 -1
- package/dist/hms-video-store.cjs.production.min.js.map +1 -1
- package/dist/hms-video-store.esm.js +82 -30
- package/dist/hms-video-store.esm.js.map +1 -1
- package/package.json +3 -3
- package/src/core/hmsSDKStore/HMSPlaylist.ts +11 -5
- package/src/core/hmsSDKStore/HMSSDKActions.ts +43 -31
- package/src/core/hmsSDKStore/adapter.ts +15 -0
- package/src/core/hmsSDKStore/sdkTypes.ts +4 -0
- package/src/core/schema/playlist.ts +9 -10
- package/src/core/schema/room.ts +11 -0
- package/src/core/schema/schema.ts +11 -0
- package/src/core/selectors/selectors.ts +3 -0
- package/src/test/fakeStore.ts +11 -0
|
@@ -882,7 +882,18 @@ var createDefaultStoreState = function createDefaultStoreState() {
|
|
|
882
882
|
peers: [],
|
|
883
883
|
shareableLink: '',
|
|
884
884
|
hasWaitingRoom: false,
|
|
885
|
-
roomState: HMSRoomState.Disconnected
|
|
885
|
+
roomState: HMSRoomState.Disconnected,
|
|
886
|
+
recording: {
|
|
887
|
+
browser: {
|
|
888
|
+
running: false
|
|
889
|
+
},
|
|
890
|
+
server: {
|
|
891
|
+
running: false
|
|
892
|
+
}
|
|
893
|
+
},
|
|
894
|
+
rtmp: {
|
|
895
|
+
running: false
|
|
896
|
+
}
|
|
886
897
|
},
|
|
887
898
|
peers: {},
|
|
888
899
|
tracks: {},
|
|
@@ -1272,6 +1283,24 @@ var SDKToHMS = /*#__PURE__*/function () {
|
|
|
1272
1283
|
};
|
|
1273
1284
|
};
|
|
1274
1285
|
|
|
1286
|
+
SDKToHMS.convertRecordingRTMPState = function convertRecordingRTMPState(recording, rtmp) {
|
|
1287
|
+
var _recording$server;
|
|
1288
|
+
|
|
1289
|
+
return {
|
|
1290
|
+
recording: {
|
|
1291
|
+
browser: {
|
|
1292
|
+
running: !!(recording != null && recording.browser.running)
|
|
1293
|
+
},
|
|
1294
|
+
server: {
|
|
1295
|
+
running: !!(recording != null && (_recording$server = recording.server) != null && _recording$server.running)
|
|
1296
|
+
}
|
|
1297
|
+
},
|
|
1298
|
+
rtmp: {
|
|
1299
|
+
running: !!(rtmp != null && rtmp.running)
|
|
1300
|
+
}
|
|
1301
|
+
};
|
|
1302
|
+
};
|
|
1303
|
+
|
|
1275
1304
|
return SDKToHMS;
|
|
1276
1305
|
}();
|
|
1277
1306
|
|
|
@@ -1726,6 +1755,12 @@ var selectIsAllowedToSubscribe = /*#__PURE__*/createSelector([selectLocalPeerRol
|
|
|
1726
1755
|
var selectPermissions = /*#__PURE__*/createSelector(selectLocalPeerRole, function (role) {
|
|
1727
1756
|
return role == null ? void 0 : role.permissions;
|
|
1728
1757
|
});
|
|
1758
|
+
var selectRecordingState = /*#__PURE__*/createSelector(selectRoom, function (room) {
|
|
1759
|
+
return room.recording;
|
|
1760
|
+
});
|
|
1761
|
+
var selectRTMPState = /*#__PURE__*/createSelector(selectRoom, function (room) {
|
|
1762
|
+
return room.rtmp;
|
|
1763
|
+
});
|
|
1729
1764
|
|
|
1730
1765
|
/**
|
|
1731
1766
|
* @internal
|
|
@@ -2384,9 +2419,10 @@ function isRemoteTrack(track) {
|
|
|
2384
2419
|
}
|
|
2385
2420
|
|
|
2386
2421
|
var HMSPlaylist = /*#__PURE__*/function () {
|
|
2387
|
-
function HMSPlaylist(playlistManager, type, syncPlaylistState) {
|
|
2422
|
+
function HMSPlaylist(playlistManager, type, syncPlaylistState, store) {
|
|
2388
2423
|
this.playlistManager = playlistManager;
|
|
2389
2424
|
this.syncPlaylistState = syncPlaylistState;
|
|
2425
|
+
this.store = store;
|
|
2390
2426
|
this.type = type;
|
|
2391
2427
|
}
|
|
2392
2428
|
|
|
@@ -2403,7 +2439,7 @@ var HMSPlaylist = /*#__PURE__*/function () {
|
|
|
2403
2439
|
break;
|
|
2404
2440
|
}
|
|
2405
2441
|
|
|
2406
|
-
HMSLogger.w('Please pass id
|
|
2442
|
+
HMSLogger.w('Please pass id to play');
|
|
2407
2443
|
return _context.abrupt("return");
|
|
2408
2444
|
|
|
2409
2445
|
case 3:
|
|
@@ -2429,27 +2465,31 @@ var HMSPlaylist = /*#__PURE__*/function () {
|
|
|
2429
2465
|
}();
|
|
2430
2466
|
|
|
2431
2467
|
_proto.pause = /*#__PURE__*/function () {
|
|
2432
|
-
var _pause = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(
|
|
2468
|
+
var _pause = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2() {
|
|
2469
|
+
var selector, selection;
|
|
2433
2470
|
return runtime_1.wrap(function _callee2$(_context2) {
|
|
2434
2471
|
while (1) {
|
|
2435
2472
|
switch (_context2.prev = _context2.next) {
|
|
2436
2473
|
case 0:
|
|
2437
|
-
|
|
2438
|
-
|
|
2474
|
+
selector = this.type === HMSPlaylistType.audio ? selectAudioPlaylist : selectVideoPlaylist;
|
|
2475
|
+
selection = this.store.getState(selector.selection);
|
|
2476
|
+
|
|
2477
|
+
if (selection.id) {
|
|
2478
|
+
_context2.next = 5;
|
|
2439
2479
|
break;
|
|
2440
2480
|
}
|
|
2441
2481
|
|
|
2442
|
-
HMSLogger.w('
|
|
2482
|
+
HMSLogger.w('No item is currently playing to pause');
|
|
2443
2483
|
return _context2.abrupt("return");
|
|
2444
2484
|
|
|
2445
|
-
case
|
|
2446
|
-
_context2.next =
|
|
2485
|
+
case 5:
|
|
2486
|
+
_context2.next = 7;
|
|
2447
2487
|
return this.playlistManager.setEnabled(false, {
|
|
2448
|
-
id: id,
|
|
2488
|
+
id: selection.id,
|
|
2449
2489
|
type: this.type
|
|
2450
2490
|
});
|
|
2451
2491
|
|
|
2452
|
-
case
|
|
2492
|
+
case 7:
|
|
2453
2493
|
case "end":
|
|
2454
2494
|
return _context2.stop();
|
|
2455
2495
|
}
|
|
@@ -2457,7 +2497,7 @@ var HMSPlaylist = /*#__PURE__*/function () {
|
|
|
2457
2497
|
}, _callee2, this);
|
|
2458
2498
|
}));
|
|
2459
2499
|
|
|
2460
|
-
function pause(
|
|
2500
|
+
function pause() {
|
|
2461
2501
|
return _pause.apply(this, arguments);
|
|
2462
2502
|
}
|
|
2463
2503
|
|
|
@@ -2668,7 +2708,7 @@ var HMSSDKActions = /*#__PURE__*/function () {
|
|
|
2668
2708
|
if (track) {
|
|
2669
2709
|
if (track instanceof HMSRemoteVideoTrack) {
|
|
2670
2710
|
track.preferLayer(layer);
|
|
2671
|
-
this.
|
|
2711
|
+
this.updateVideoLayer(trackId, 'setPreferredLayer');
|
|
2672
2712
|
} else {
|
|
2673
2713
|
HMSLogger.w("track " + trackId + " is not an video track");
|
|
2674
2714
|
}
|
|
@@ -3311,7 +3351,7 @@ var HMSSDKActions = /*#__PURE__*/function () {
|
|
|
3311
3351
|
sdkTrack = this.hmsSDKTracks[trackID];
|
|
3312
3352
|
|
|
3313
3353
|
if (!(sdkTrack && sdkTrack.type === 'video')) {
|
|
3314
|
-
_context17.next =
|
|
3354
|
+
_context17.next = 7;
|
|
3315
3355
|
break;
|
|
3316
3356
|
}
|
|
3317
3357
|
|
|
@@ -3319,13 +3359,14 @@ var HMSSDKActions = /*#__PURE__*/function () {
|
|
|
3319
3359
|
return sdkTrack.removeSink(videoElement);
|
|
3320
3360
|
|
|
3321
3361
|
case 4:
|
|
3322
|
-
|
|
3362
|
+
this.updateVideoLayer(trackID, 'detachVideo');
|
|
3363
|
+
_context17.next = 8;
|
|
3323
3364
|
break;
|
|
3324
3365
|
|
|
3325
|
-
case
|
|
3366
|
+
case 7:
|
|
3326
3367
|
this.logPossibleInconsistency('no video track found to remove sink');
|
|
3327
3368
|
|
|
3328
|
-
case
|
|
3369
|
+
case 8:
|
|
3329
3370
|
case "end":
|
|
3330
3371
|
return _context17.stop();
|
|
3331
3372
|
}
|
|
@@ -3924,14 +3965,7 @@ var HMSSDKActions = /*#__PURE__*/function () {
|
|
|
3924
3965
|
return sdkTrack.addSink(videoElement);
|
|
3925
3966
|
|
|
3926
3967
|
case 4:
|
|
3927
|
-
|
|
3928
|
-
if (sdkTrack instanceof HMSRemoteVideoTrack && sdkTrack.getSimulcastDefinitions().length > 0) {
|
|
3929
|
-
this.setState(function (draft) {
|
|
3930
|
-
var layer = sdkTrack.getSimulcastLayer();
|
|
3931
|
-
draft.tracks[trackID].layer = layer;
|
|
3932
|
-
}, 'updateLayerOnAttach');
|
|
3933
|
-
}
|
|
3934
|
-
|
|
3968
|
+
this.updateVideoLayer(trackID, 'attachVideo');
|
|
3935
3969
|
_context32.next = 8;
|
|
3936
3970
|
break;
|
|
3937
3971
|
|
|
@@ -4000,11 +4034,13 @@ var HMSSDKActions = /*#__PURE__*/function () {
|
|
|
4000
4034
|
if (hmsPeer.isLocal) {
|
|
4001
4035
|
Object.assign(newMediaSettings, this.getMediaSettings(sdkPeer));
|
|
4002
4036
|
}
|
|
4003
|
-
}
|
|
4037
|
+
}
|
|
4038
|
+
|
|
4039
|
+
var recording = this.sdk.getRecordingState();
|
|
4040
|
+
var rtmp = this.sdk.getRTMPState(); // then merge them carefully with our store so if something hasn't changed
|
|
4004
4041
|
// the reference shouldn't change. Note that the draftStore is an immer draft
|
|
4005
4042
|
// object.
|
|
4006
4043
|
|
|
4007
|
-
|
|
4008
4044
|
this.setState(function (draftStore) {
|
|
4009
4045
|
draftStore.room.peers = newHmsPeerIDs;
|
|
4010
4046
|
var draftPeers = draftStore.peers;
|
|
@@ -4016,6 +4052,7 @@ var HMSSDKActions = /*#__PURE__*/function () {
|
|
|
4016
4052
|
_this8.hmsSDKTracks = newHmsSDkTracks;
|
|
4017
4053
|
Object.assign(draftStore.roles, SDKToHMS.convertRoles(_this8.sdk.getRoles()));
|
|
4018
4054
|
Object.assign(draftStore.playlist, SDKToHMS.convertPlaylist(_this8.sdk.getPlaylistManager()));
|
|
4055
|
+
Object.assign(draftStore.room, SDKToHMS.convertRecordingRTMPState(recording, rtmp));
|
|
4019
4056
|
}, action);
|
|
4020
4057
|
};
|
|
4021
4058
|
|
|
@@ -4030,8 +4067,8 @@ var HMSSDKActions = /*#__PURE__*/function () {
|
|
|
4030
4067
|
_proto.onJoin = function onJoin(sdkRoom) {
|
|
4031
4068
|
var _this9 = this;
|
|
4032
4069
|
|
|
4033
|
-
this.audioPlaylist = new HMSPlaylist(this.sdk.getPlaylistManager(), HMSPlaylistType.audio, this.syncPlaylistState.bind(this));
|
|
4034
|
-
this.videoPlaylist = new HMSPlaylist(this.sdk.getPlaylistManager(), HMSPlaylistType.video, this.syncRoomState.bind(this));
|
|
4070
|
+
this.audioPlaylist = new HMSPlaylist(this.sdk.getPlaylistManager(), HMSPlaylistType.audio, this.syncPlaylistState.bind(this), this.store);
|
|
4071
|
+
this.videoPlaylist = new HMSPlaylist(this.sdk.getPlaylistManager(), HMSPlaylistType.video, this.syncRoomState.bind(this), this.store);
|
|
4035
4072
|
this.syncRoomState('joinSync');
|
|
4036
4073
|
this.setState(function (store) {
|
|
4037
4074
|
Object.assign(store.room, SDKToHMS.convertRoom(sdkRoom));
|
|
@@ -4211,6 +4248,21 @@ var HMSSDKActions = /*#__PURE__*/function () {
|
|
|
4211
4248
|
|
|
4212
4249
|
this.hmsNotifications.sendError(error);
|
|
4213
4250
|
HMSLogger.e('received error from sdk', error);
|
|
4251
|
+
}
|
|
4252
|
+
/**
|
|
4253
|
+
* the layer gets updated on addsink/removesink/preferlayer calls, for simulcast there
|
|
4254
|
+
* can be multiple layers, while for non simulcast there will be None and High.
|
|
4255
|
+
*/
|
|
4256
|
+
;
|
|
4257
|
+
|
|
4258
|
+
_proto.updateVideoLayer = function updateVideoLayer(trackID, action) {
|
|
4259
|
+
var sdkTrack = this.hmsSDKTracks[trackID];
|
|
4260
|
+
|
|
4261
|
+
if (sdkTrack && sdkTrack instanceof HMSRemoteVideoTrack) {
|
|
4262
|
+
this.setState(function (draft) {
|
|
4263
|
+
draft.tracks[trackID].layer = sdkTrack.getSimulcastLayer();
|
|
4264
|
+
}, action);
|
|
4265
|
+
}
|
|
4214
4266
|
};
|
|
4215
4267
|
|
|
4216
4268
|
_proto.handleTrackRemove = function handleTrackRemove(sdkTrack, sdkPeer) {
|
|
@@ -4957,5 +5009,5 @@ var HMSReactiveStore = /*#__PURE__*/function () {
|
|
|
4957
5009
|
return HMSReactiveStore;
|
|
4958
5010
|
}();
|
|
4959
5011
|
|
|
4960
|
-
export { HMSMessageType, HMSNotificationSeverity, HMSNotificationTypes, HMSPlaylistType, HMSReactiveStore, HMSRoomState, createDefaultStoreState, selectAudioPlaylist, selectAudioPlaylistTrackByPeerID, selectAudioTrackByPeerID, selectAudioTrackVolume, selectAudioVolumeByPeerID, selectAuxiliaryAudioByPeerID, selectAuxiliaryTracksByPeerID, selectAvailableRoleNames, selectBroadcastMessages, selectBroadcastMessagesUnreadCount, selectCameraStreamByPeerID, selectDegradedTracks, selectDevices, selectDominantSpeaker, selectHMSMessages, selectHMSMessagesCount, selectIsAllowedToPublish, selectIsAllowedToSubscribe, selectIsAudioLocallyMuted, selectIsConnectedToRoom, selectIsInPreview, selectIsLocalAudioEnabled, selectIsLocalAudioPluginPresent, selectIsLocalScreenShared, selectIsLocalVideoDisplayEnabled, selectIsLocalVideoEnabled, selectIsLocalVideoPluginPresent, selectIsLocallyMutedByPeerID, selectIsPeerAudioEnabled, selectIsPeerVideoEnabled, selectIsScreenShareLocallyMutedByPeerID, selectIsSomeoneScreenSharing, selectLocalAudioTrackID, selectLocalMediaSettings, selectLocalPeer, selectLocalPeerID, selectLocalPeerRole, selectLocalTrackIDs, selectLocalVideoTrackID, selectMessageIDsInOrder, selectMessagesByPeerID, selectMessagesByRole, selectMessagesMap, selectMessagesUnreadCountByPeerID, selectMessagesUnreadCountByRole, selectPeerAudioByID, selectPeerByID, selectPeerNameByID, selectPeerScreenSharing, selectPeerSharingAudio, selectPeerSharingVideoPlaylist, selectPeers, selectPeersMap, selectPeersScreenSharing, selectPeersWithAudioStatus, selectPermissions, selectRemotePeers, selectRoleByRoleName, selectRoleChangeRequest, selectRolesMap, selectRoom, selectRoomStarted, selectRoomState, selectScreenShareAudioByPeerID, selectScreenShareByPeerID, selectScreenSharesByPeerId, selectScreenshareAudioVolumeByPeerID, selectSimulcastLayerByTrack, selectSpeakers, selectTrackAudioByID, selectTrackByID, selectTracksMap, selectUnreadHMSMessagesCount, selectVideoPlaylist, selectVideoPlaylistAudioTrackByPeerID, selectVideoPlaylistVideoTrackByPeerID, selectVideoTrackByPeerID };
|
|
5012
|
+
export { HMSMessageType, HMSNotificationSeverity, HMSNotificationTypes, HMSPlaylistType, HMSReactiveStore, HMSRoomState, createDefaultStoreState, selectAudioPlaylist, selectAudioPlaylistTrackByPeerID, selectAudioTrackByPeerID, selectAudioTrackVolume, selectAudioVolumeByPeerID, selectAuxiliaryAudioByPeerID, selectAuxiliaryTracksByPeerID, selectAvailableRoleNames, selectBroadcastMessages, selectBroadcastMessagesUnreadCount, selectCameraStreamByPeerID, selectDegradedTracks, selectDevices, selectDominantSpeaker, selectHMSMessages, selectHMSMessagesCount, selectIsAllowedToPublish, selectIsAllowedToSubscribe, selectIsAudioLocallyMuted, selectIsConnectedToRoom, selectIsInPreview, selectIsLocalAudioEnabled, selectIsLocalAudioPluginPresent, selectIsLocalScreenShared, selectIsLocalVideoDisplayEnabled, selectIsLocalVideoEnabled, selectIsLocalVideoPluginPresent, selectIsLocallyMutedByPeerID, selectIsPeerAudioEnabled, selectIsPeerVideoEnabled, selectIsScreenShareLocallyMutedByPeerID, selectIsSomeoneScreenSharing, selectLocalAudioTrackID, selectLocalMediaSettings, selectLocalPeer, selectLocalPeerID, selectLocalPeerRole, selectLocalTrackIDs, selectLocalVideoTrackID, selectMessageIDsInOrder, selectMessagesByPeerID, selectMessagesByRole, selectMessagesMap, selectMessagesUnreadCountByPeerID, selectMessagesUnreadCountByRole, selectPeerAudioByID, selectPeerByID, selectPeerNameByID, selectPeerScreenSharing, selectPeerSharingAudio, selectPeerSharingVideoPlaylist, selectPeers, selectPeersMap, selectPeersScreenSharing, selectPeersWithAudioStatus, selectPermissions, selectRTMPState, selectRecordingState, selectRemotePeers, selectRoleByRoleName, selectRoleChangeRequest, selectRolesMap, selectRoom, selectRoomStarted, selectRoomState, selectScreenShareAudioByPeerID, selectScreenShareByPeerID, selectScreenSharesByPeerId, selectScreenshareAudioVolumeByPeerID, selectSimulcastLayerByTrack, selectSpeakers, selectTrackAudioByID, selectTrackByID, selectTracksMap, selectUnreadHMSMessagesCount, selectVideoPlaylist, selectVideoPlaylistAudioTrackByPeerID, selectVideoPlaylistVideoTrackByPeerID, selectVideoTrackByPeerID };
|
|
4961
5013
|
//# sourceMappingURL=hms-video-store.esm.js.map
|