@100mslive/hms-video-store 0.2.69 → 0.2.70
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/HMSNotifications.d.ts +2 -2
- package/dist/core/hmsSDKStore/HMSSDKActions.d.ts +1 -9
- package/dist/core/hmsSDKStore/sdkUtils/storeMergeUtils.d.ts +1 -2
- package/dist/hms-video-store.cjs.development.js +33 -125
- 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 +33 -125
- package/dist/hms-video-store.esm.js.map +1 -1
- package/package.json +3 -3
- package/src/core/hmsSDKStore/HMSNotifications.ts +2 -1
- package/src/core/hmsSDKStore/HMSSDKActions.ts +22 -83
- package/src/core/hmsSDKStore/adapter.ts +1 -1
- package/src/core/hmsSDKStore/sdkUtils/storeMergeUtils.ts +0 -30
- package/src/test/unit/storeMergeUtils.test.ts +6 -6
|
@@ -1000,7 +1000,7 @@ var HMSPlaylistType;
|
|
|
1000
1000
|
* @param newHmsTracks this will be update if required
|
|
1001
1001
|
* @param newHmsSDkTracks this is future value of local hms tacks map
|
|
1002
1002
|
*/
|
|
1003
|
-
var mergeNewPeersInDraft = function mergeNewPeersInDraft(draftPeers, newPeers
|
|
1003
|
+
var mergeNewPeersInDraft = function mergeNewPeersInDraft(draftPeers, newPeers) {
|
|
1004
1004
|
var peerIDs = union(Object.keys(draftPeers), Object.keys(newPeers));
|
|
1005
1005
|
|
|
1006
1006
|
for (var _iterator = _createForOfIteratorHelperLoose(peerIDs), _step; !(_step = _iterator()).done;) {
|
|
@@ -1013,7 +1013,6 @@ var mergeNewPeersInDraft = function mergeNewPeersInDraft(draftPeers, newPeers, n
|
|
|
1013
1013
|
newPeer.auxiliaryTracks = oldPeer.auxiliaryTracks;
|
|
1014
1014
|
}
|
|
1015
1015
|
|
|
1016
|
-
handleLocalVideoReplaceTrack(oldPeer, newPeer, newHmsTracks, newHmsSDkTracks);
|
|
1017
1016
|
Object.assign(oldPeer, newPeer);
|
|
1018
1017
|
} else if (isEntityRemoved(oldPeer, newPeer)) {
|
|
1019
1018
|
delete draftPeers[peerID];
|
|
@@ -1101,23 +1100,6 @@ var union = function union(arr1, arr2) {
|
|
|
1101
1100
|
|
|
1102
1101
|
return Array.from(set);
|
|
1103
1102
|
};
|
|
1104
|
-
/**
|
|
1105
|
-
* on replace track, use prev video track id in peer object, this is because we
|
|
1106
|
-
* don't want the peer or peers object reference to change, the fact that the video
|
|
1107
|
-
* track is changed on mute/unmute because of replace track is abstracted
|
|
1108
|
-
*/
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
function handleLocalVideoReplaceTrack(oldPeer, newPeer, newHmsTracks, newHmsSDkTracks) {
|
|
1112
|
-
if (oldPeer.isLocal && oldPeer.videoTrack && newPeer.videoTrack && oldPeer.videoTrack !== newPeer.videoTrack) {
|
|
1113
|
-
newHmsSDkTracks[oldPeer.videoTrack] = newHmsSDkTracks[newPeer.videoTrack];
|
|
1114
|
-
delete newHmsSDkTracks[newPeer.videoTrack];
|
|
1115
|
-
newHmsTracks[oldPeer.videoTrack] = newHmsTracks[newPeer.videoTrack];
|
|
1116
|
-
newHmsTracks[oldPeer.videoTrack].id = oldPeer.videoTrack;
|
|
1117
|
-
delete newHmsTracks[newPeer.videoTrack];
|
|
1118
|
-
newPeer.videoTrack = oldPeer.videoTrack;
|
|
1119
|
-
}
|
|
1120
|
-
}
|
|
1121
1103
|
|
|
1122
1104
|
var SDKToHMS = /*#__PURE__*/function () {
|
|
1123
1105
|
function SDKToHMS() {}
|
|
@@ -1132,8 +1114,8 @@ var SDKToHMS = /*#__PURE__*/function () {
|
|
|
1132
1114
|
isLocal: sdkPeer.isLocal,
|
|
1133
1115
|
videoTrack: (_sdkPeer$videoTrack = sdkPeer.videoTrack) == null ? void 0 : _sdkPeer$videoTrack.trackId,
|
|
1134
1116
|
audioTrack: (_sdkPeer$audioTrack = sdkPeer.audioTrack) == null ? void 0 : _sdkPeer$audioTrack.trackId,
|
|
1135
|
-
auxiliaryTracks: sdkPeer.auxiliaryTracks.map(function (
|
|
1136
|
-
return
|
|
1117
|
+
auxiliaryTracks: sdkPeer.auxiliaryTracks.map(function (track) {
|
|
1118
|
+
return track.trackId;
|
|
1137
1119
|
}),
|
|
1138
1120
|
customerUserId: sdkPeer.customerUserId,
|
|
1139
1121
|
customerDescription: sdkPeer.customerDescription
|
|
@@ -2719,46 +2701,26 @@ var HMSSDKActions = /*#__PURE__*/function () {
|
|
|
2719
2701
|
Object.assign(draftStore.playlist, SDKToHMS.convertPlaylist(_this.sdk.getPlaylistManager()));
|
|
2720
2702
|
}, action);
|
|
2721
2703
|
};
|
|
2722
|
-
/**
|
|
2723
|
-
* Handle store update on remote track changes
|
|
2724
|
-
* @param {string} action - 'trackAdded' | 'trackUpdate'
|
|
2725
|
-
* @param {SDKHMSTrack} track - track added/updated
|
|
2726
|
-
* @param {sdkTypes.HMSPeer}peer - peer on which track is added/updated
|
|
2727
|
-
*/
|
|
2728
|
-
|
|
2729
2704
|
|
|
2730
|
-
this.
|
|
2731
|
-
|
|
2705
|
+
this.sendPeerUpdateNotification = function (type, sdkPeer) {
|
|
2706
|
+
var peer = _this.store.getState(selectPeerByID(sdkPeer.peerId));
|
|
2732
2707
|
|
|
2733
|
-
|
|
2734
|
-
var draftPeer = draftStore.peers[peer.peerId];
|
|
2735
|
-
/**
|
|
2736
|
-
* in preview -> leave -> join flow or join -> leave -> join flow,
|
|
2737
|
-
* since peer will be cleared by leave, set peer again in the store
|
|
2738
|
-
**/
|
|
2739
|
-
|
|
2740
|
-
if (!draftPeer) {
|
|
2741
|
-
var hmsPeer = SDKToHMS.convertPeer(peer);
|
|
2742
|
-
draftStore.peers[peer.peerId] = hmsPeer;
|
|
2743
|
-
draftPeer = hmsPeer;
|
|
2744
|
-
}
|
|
2708
|
+
var actionName = 'peerUpdate';
|
|
2745
2709
|
|
|
2746
|
-
|
|
2710
|
+
if (type === HMSPeerUpdate.PEER_JOINED) {
|
|
2711
|
+
actionName = 'peerJoined';
|
|
2712
|
+
} else if (type === HMSPeerUpdate.PEER_LEFT) {
|
|
2713
|
+
actionName = 'peerLeft';
|
|
2714
|
+
}
|
|
2747
2715
|
|
|
2748
|
-
|
|
2749
|
-
draftStore.tracks[hmsTrack.id] = hmsTrack;
|
|
2716
|
+
_this.syncRoomState(actionName); // if peer wasn't available before sync(will happen if event is peer join)
|
|
2750
2717
|
|
|
2751
|
-
_this.updateTracksInPeer(peer, draftPeer, hmsTrack);
|
|
2752
|
-
} else if (draftStore.tracks[hmsTrack.id]) {
|
|
2753
|
-
Object.assign(draftStore.tracks[hmsTrack.id], hmsTrack);
|
|
2754
|
-
} else {
|
|
2755
|
-
_this.logPossibleInconsistency("track " + hmsTrack.id + " not present, unable to update track");
|
|
2756
|
-
}
|
|
2757
2718
|
|
|
2758
|
-
|
|
2759
|
-
|
|
2719
|
+
if (!peer) {
|
|
2720
|
+
peer = _this.store.getState(selectPeerByID(sdkPeer.peerId));
|
|
2721
|
+
}
|
|
2760
2722
|
|
|
2761
|
-
|
|
2723
|
+
_this.hmsNotifications.sendPeerUpdate(type, peer);
|
|
2762
2724
|
};
|
|
2763
2725
|
/**
|
|
2764
2726
|
* setState is separate so any future changes to how state change can be done from one place.
|
|
@@ -4213,7 +4175,7 @@ var HMSSDKActions = /*#__PURE__*/function () {
|
|
|
4213
4175
|
var draftPeers = draftStore.peers;
|
|
4214
4176
|
var draftTracks = draftStore.tracks; // the order of below statements are important as merge functions are mutating
|
|
4215
4177
|
|
|
4216
|
-
mergeNewPeersInDraft(draftPeers, newHmsPeers
|
|
4178
|
+
mergeNewPeersInDraft(draftPeers, newHmsPeers);
|
|
4217
4179
|
mergeNewTracksInDraft(draftTracks, newHmsTracks);
|
|
4218
4180
|
Object.assign(draftStore.settings, newMediaSettings);
|
|
4219
4181
|
_this9.hmsSDKTracks = newHmsSDkTracks;
|
|
@@ -4260,9 +4222,11 @@ var HMSSDKActions = /*#__PURE__*/function () {
|
|
|
4260
4222
|
};
|
|
4261
4223
|
|
|
4262
4224
|
_proto.onPeerUpdate = function onPeerUpdate(type, sdkPeer) {
|
|
4263
|
-
if (
|
|
4225
|
+
if ([HMSPeerUpdate.BECAME_DOMINANT_SPEAKER, HMSPeerUpdate.RESIGNED_DOMINANT_SPEAKER].includes(type)) {
|
|
4264
4226
|
return; // ignore, high frequency update so no point of syncing peers
|
|
4265
|
-
}
|
|
4227
|
+
}
|
|
4228
|
+
|
|
4229
|
+
if (Array.isArray(sdkPeer)) {
|
|
4266
4230
|
this.syncRoomState('peersJoined');
|
|
4267
4231
|
var hmsPeers = [];
|
|
4268
4232
|
|
|
@@ -4276,9 +4240,10 @@ var HMSSDKActions = /*#__PURE__*/function () {
|
|
|
4276
4240
|
}
|
|
4277
4241
|
|
|
4278
4242
|
this.hmsNotifications.sendPeerList(hmsPeers);
|
|
4279
|
-
|
|
4280
|
-
this.peerUpdateInternal(type, sdkPeer);
|
|
4243
|
+
return;
|
|
4281
4244
|
}
|
|
4245
|
+
|
|
4246
|
+
this.sendPeerUpdateNotification(type, sdkPeer);
|
|
4282
4247
|
};
|
|
4283
4248
|
|
|
4284
4249
|
_proto.onTrackUpdate = function onTrackUpdate(type, track, peer) {
|
|
@@ -4289,7 +4254,7 @@ var HMSSDKActions = /*#__PURE__*/function () {
|
|
|
4289
4254
|
this.handleTrackRemove(track, peer);
|
|
4290
4255
|
} else {
|
|
4291
4256
|
var actionName = type === HMSTrackUpdate.TRACK_ADDED ? 'trackAdded' : 'trackUpdate';
|
|
4292
|
-
this.
|
|
4257
|
+
this.syncRoomState(actionName);
|
|
4293
4258
|
this.hmsNotifications.sendTrackUpdate(type, track.trackId);
|
|
4294
4259
|
}
|
|
4295
4260
|
};
|
|
@@ -4471,22 +4436,23 @@ var HMSSDKActions = /*#__PURE__*/function () {
|
|
|
4471
4436
|
|
|
4472
4437
|
this.setState(function (draftStore) {
|
|
4473
4438
|
var hmsPeer = draftStore.peers[sdkPeer.peerId];
|
|
4474
|
-
var draftTracks = draftStore.tracks;
|
|
4439
|
+
var draftTracks = draftStore.tracks;
|
|
4440
|
+
var trackId = sdkTrack.trackId; // find and remove the exact track from hmsPeer
|
|
4475
4441
|
|
|
4476
|
-
if (_this12.isSameStoreSDKTrack(
|
|
4442
|
+
if (_this12.isSameStoreSDKTrack(trackId, hmsPeer == null ? void 0 : hmsPeer.audioTrack)) {
|
|
4477
4443
|
hmsPeer == null ? true : delete hmsPeer.audioTrack;
|
|
4478
|
-
} else if (_this12.isSameStoreSDKTrack(
|
|
4444
|
+
} else if (_this12.isSameStoreSDKTrack(trackId, hmsPeer == null ? void 0 : hmsPeer.videoTrack)) {
|
|
4479
4445
|
hmsPeer == null ? true : delete hmsPeer.videoTrack;
|
|
4480
4446
|
} else {
|
|
4481
|
-
var auxiliaryIndex = hmsPeer == null ? void 0 : hmsPeer.auxiliaryTracks.indexOf(
|
|
4447
|
+
var auxiliaryIndex = hmsPeer == null ? void 0 : hmsPeer.auxiliaryTracks.indexOf(trackId);
|
|
4482
4448
|
|
|
4483
|
-
if (auxiliaryIndex > -1 && _this12.isSameStoreSDKTrack(
|
|
4449
|
+
if (auxiliaryIndex > -1 && _this12.isSameStoreSDKTrack(trackId, hmsPeer == null ? void 0 : hmsPeer.auxiliaryTracks[auxiliaryIndex])) {
|
|
4484
4450
|
hmsPeer == null ? void 0 : hmsPeer.auxiliaryTracks.splice(auxiliaryIndex, 1);
|
|
4485
4451
|
}
|
|
4486
4452
|
}
|
|
4487
4453
|
|
|
4488
|
-
delete draftTracks[
|
|
4489
|
-
delete _this12.hmsSDKTracks[
|
|
4454
|
+
delete draftTracks[trackId];
|
|
4455
|
+
delete _this12.hmsSDKTracks[trackId];
|
|
4490
4456
|
}, 'trackRemoved');
|
|
4491
4457
|
};
|
|
4492
4458
|
|
|
@@ -4863,64 +4829,6 @@ var HMSSDKActions = /*#__PURE__*/function () {
|
|
|
4863
4829
|
});
|
|
4864
4830
|
};
|
|
4865
4831
|
|
|
4866
|
-
_proto.peerUpdateInternal = function peerUpdateInternal(type, sdkPeer) {
|
|
4867
|
-
var _this14 = this;
|
|
4868
|
-
|
|
4869
|
-
// store peer in case it doesn't exist later(will happen if event is peer leave)
|
|
4870
|
-
var peer = this.store.getState(selectPeerByID(sdkPeer.peerId));
|
|
4871
|
-
var actionName = 'peerUpdate';
|
|
4872
|
-
|
|
4873
|
-
if (type === HMSPeerUpdate.PEER_JOINED) {
|
|
4874
|
-
actionName = 'peerJoined';
|
|
4875
|
-
} else if (type === HMSPeerUpdate.PEER_LEFT) {
|
|
4876
|
-
actionName = 'peerLeft';
|
|
4877
|
-
}
|
|
4878
|
-
|
|
4879
|
-
HMSLogger.time(actionName + "-" + sdkPeer.peerId);
|
|
4880
|
-
this.setState(function (draftStore) {
|
|
4881
|
-
if (actionName === 'peerLeft') {
|
|
4882
|
-
var index = draftStore.room.peers.indexOf(sdkPeer.peerId);
|
|
4883
|
-
|
|
4884
|
-
if (index > -1) {
|
|
4885
|
-
draftStore.room.peers.splice(index, 1);
|
|
4886
|
-
}
|
|
4887
|
-
|
|
4888
|
-
delete draftStore.peers[sdkPeer.peerId];
|
|
4889
|
-
delete _this14.hmsSDKPeers[sdkPeer.peerId];
|
|
4890
|
-
} else {
|
|
4891
|
-
var hmsPeer = SDKToHMS.convertPeer(sdkPeer);
|
|
4892
|
-
|
|
4893
|
-
if (draftStore.peers[hmsPeer.id]) {
|
|
4894
|
-
Object.assign(draftStore.peers[hmsPeer.id], hmsPeer);
|
|
4895
|
-
} else {
|
|
4896
|
-
draftStore.peers[hmsPeer.id] = hmsPeer;
|
|
4897
|
-
draftStore.room.peers.push(hmsPeer.id);
|
|
4898
|
-
}
|
|
4899
|
-
|
|
4900
|
-
_this14.hmsSDKPeers[sdkPeer.peerId] = sdkPeer;
|
|
4901
|
-
}
|
|
4902
|
-
}, actionName);
|
|
4903
|
-
HMSLogger.time(actionName + "-" + sdkPeer.peerId); // if peer wasn't available before sync(will happen if event is peer join)
|
|
4904
|
-
|
|
4905
|
-
if (!peer) {
|
|
4906
|
-
peer = this.store.getState(selectPeerByID(sdkPeer.peerId));
|
|
4907
|
-
}
|
|
4908
|
-
|
|
4909
|
-
this.hmsNotifications.sendPeerUpdate(type, peer);
|
|
4910
|
-
};
|
|
4911
|
-
|
|
4912
|
-
_proto.updateTracksInPeer = function updateTracksInPeer(peer, draftPeer, hmsTrack) {
|
|
4913
|
-
var _peer$audioTrack, _peer$videoTrack;
|
|
4914
|
-
|
|
4915
|
-
if (((_peer$audioTrack = peer.audioTrack) == null ? void 0 : _peer$audioTrack.trackId) === hmsTrack.id) {
|
|
4916
|
-
draftPeer.audioTrack = hmsTrack.id;
|
|
4917
|
-
} else if (((_peer$videoTrack = peer.videoTrack) == null ? void 0 : _peer$videoTrack.trackId) === hmsTrack.id) {
|
|
4918
|
-
draftPeer.videoTrack = hmsTrack.id;
|
|
4919
|
-
} else if (!draftPeer.auxiliaryTracks.includes(hmsTrack.id)) {
|
|
4920
|
-
draftPeer.auxiliaryTracks.push(hmsTrack.id);
|
|
4921
|
-
}
|
|
4922
|
-
};
|
|
4923
|
-
|
|
4924
4832
|
return HMSSDKActions;
|
|
4925
4833
|
}();
|
|
4926
4834
|
|