@100mslive/hms-video-store 0.2.63 → 0.2.65
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/adapter.d.ts +3 -3
- package/dist/core/schema/error.d.ts +1 -0
- package/dist/hms-video-store.cjs.development.js +22 -7
- 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 +22 -7
- package/dist/hms-video-store.esm.js.map +1 -1
- package/package.json +3 -3
- package/src/core/hmsSDKStore/HMSSDKActions.ts +2 -3
- package/src/core/hmsSDKStore/adapter.ts +17 -12
- package/src/core/hmsSDKStore/sdkUtils/storeMergeUtils.ts +17 -1
- package/src/core/schema/error.ts +1 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { HMSRoleChangeRequest as SDKHMSRoleChangeRequest, HMSTrack as SDKHMSTrack } from '@100mslive/hms-video';
|
|
2
|
+
import { HMSDeviceChangeEvent, HMSException, HMSMessage, HMSPeer, HMSPeerID, HMSPlaylistItem, HMSRole, HMSRoleChangeStoreRequest, HMSRoleName, HMSRoom, HMSTrack } from '../schema';
|
|
3
3
|
import * as sdkTypes from './sdkTypes';
|
|
4
|
-
import { HMSRole, HMSRoleName } from '../schema';
|
|
5
4
|
export declare class SDKToHMS {
|
|
6
5
|
static convertPeer(sdkPeer: sdkTypes.HMSPeer): Partial<HMSPeer> & Pick<HMSPeer, 'id'>;
|
|
7
6
|
static convertTrack(sdkTrack: SDKHMSTrack, peerId?: HMSPeerID): HMSTrack;
|
|
8
7
|
static enrichTrack(track: HMSTrack, sdkTrack: SDKHMSTrack): void;
|
|
9
8
|
static enrichVideoTrack(track: HMSTrack, sdkTrack: SDKHMSTrack): void;
|
|
9
|
+
static enrichPluginsDetails(track: HMSTrack, sdkTrack: SDKHMSTrack): void;
|
|
10
10
|
static convertRoom(sdkRoom: sdkTypes.HMSRoom): Partial<HMSRoom>;
|
|
11
11
|
static convertMessage(sdkMessage: sdkTypes.HMSMessage): Partial<HMSMessage> & Pick<HMSMessage, 'sender'>;
|
|
12
12
|
static convertRoles(sdkRoles: HMSRole[]): Record<HMSRoleName, HMSRole>;
|
|
@@ -1026,6 +1026,7 @@ var mergeNewTracksInDraft = function mergeNewTracksInDraft(draftTracks, newTrack
|
|
|
1026
1026
|
var newTrack = newTracks[trackID];
|
|
1027
1027
|
|
|
1028
1028
|
if (isEntityUpdated(oldTrack, newTrack)) {
|
|
1029
|
+
mergeTrackArrayFields(oldTrack, newTrack);
|
|
1029
1030
|
Object.assign(oldTrack, newTrack);
|
|
1030
1031
|
} else if (isEntityRemoved(oldTrack, newTrack)) {
|
|
1031
1032
|
delete draftTracks[trackID];
|
|
@@ -1034,6 +1035,19 @@ var mergeNewTracksInDraft = function mergeNewTracksInDraft(draftTracks, newTrack
|
|
|
1034
1035
|
}
|
|
1035
1036
|
}
|
|
1036
1037
|
};
|
|
1038
|
+
/**
|
|
1039
|
+
* array's are usually created with new reference, avoid that update if both arrays are same
|
|
1040
|
+
*/
|
|
1041
|
+
|
|
1042
|
+
var mergeTrackArrayFields = function mergeTrackArrayFields(oldTrack, newTrack) {
|
|
1043
|
+
if (oldTrack.plugins && areArraysEqual(oldTrack.plugins, newTrack.plugins)) {
|
|
1044
|
+
newTrack.plugins = oldTrack.plugins;
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
if (oldTrack.layerDefinitions && areArraysEqual(oldTrack.layerDefinitions, newTrack.layerDefinitions)) {
|
|
1048
|
+
newTrack.layerDefinitions = oldTrack.layerDefinitions;
|
|
1049
|
+
}
|
|
1050
|
+
};
|
|
1037
1051
|
|
|
1038
1052
|
var isEntityUpdated = function isEntityUpdated(oldItem, newItem) {
|
|
1039
1053
|
return oldItem && newItem;
|
|
@@ -1049,7 +1063,7 @@ var isEntityAdded = function isEntityAdded(oldItem, newItem) {
|
|
|
1049
1063
|
|
|
1050
1064
|
|
|
1051
1065
|
var areArraysEqual = function areArraysEqual(arr1, arr2) {
|
|
1052
|
-
if (arr1 === arr2) {
|
|
1066
|
+
if (arr1 === arr2 || arr1.length === 0 && (arr2 == null ? void 0 : arr2.length) === 0) {
|
|
1053
1067
|
// reference check
|
|
1054
1068
|
return true;
|
|
1055
1069
|
}
|
|
@@ -1147,11 +1161,11 @@ var SDKToHMS = /*#__PURE__*/function () {
|
|
|
1147
1161
|
track.deviceID = mediaSettings.deviceId;
|
|
1148
1162
|
|
|
1149
1163
|
if (sdkTrack instanceof sdkTypes.HMSRemoteAudioTrack) {
|
|
1150
|
-
|
|
1151
|
-
track.volume = volume;
|
|
1164
|
+
track.volume = sdkTrack.getVolume() || 0;
|
|
1152
1165
|
}
|
|
1153
1166
|
|
|
1154
1167
|
SDKToHMS.enrichVideoTrack(track, sdkTrack);
|
|
1168
|
+
SDKToHMS.enrichPluginsDetails(track, sdkTrack);
|
|
1155
1169
|
};
|
|
1156
1170
|
|
|
1157
1171
|
SDKToHMS.enrichVideoTrack = function enrichVideoTrack(track, sdkTrack) {
|
|
@@ -1163,7 +1177,9 @@ var SDKToHMS = /*#__PURE__*/function () {
|
|
|
1163
1177
|
track.layerDefinitions = sdkTrack.getSimulcastDefinitions();
|
|
1164
1178
|
}
|
|
1165
1179
|
}
|
|
1180
|
+
};
|
|
1166
1181
|
|
|
1182
|
+
SDKToHMS.enrichPluginsDetails = function enrichPluginsDetails(track, sdkTrack) {
|
|
1167
1183
|
if (sdkTrack instanceof sdkTypes.HMSLocalVideoTrack || sdkTrack instanceof sdkTypes.HMSLocalAudioTrack) {
|
|
1168
1184
|
if (!areArraysEqual(sdkTrack.getPlugins(), track.plugins)) {
|
|
1169
1185
|
track.plugins = sdkTrack.getPlugins();
|
|
@@ -1240,6 +1256,7 @@ var SDKToHMS = /*#__PURE__*/function () {
|
|
|
1240
1256
|
message: sdkException.message,
|
|
1241
1257
|
description: sdkException.description,
|
|
1242
1258
|
isTerminal: sdkException.isTerminal,
|
|
1259
|
+
nativeError: sdkException.nativeError,
|
|
1243
1260
|
timestamp: new Date()
|
|
1244
1261
|
};
|
|
1245
1262
|
};
|
|
@@ -2669,8 +2686,6 @@ var HMSSDKActions = /*#__PURE__*/function () {
|
|
|
2669
2686
|
|
|
2670
2687
|
|
|
2671
2688
|
this.syncRemoteTrackState = function (action, track, peer) {
|
|
2672
|
-
console.time('trackUpdate');
|
|
2673
|
-
|
|
2674
2689
|
_this.setState(function (draftStore) {
|
|
2675
2690
|
var draftPeer = draftStore.peers[peer.peerId];
|
|
2676
2691
|
/**
|
|
@@ -4214,8 +4229,8 @@ var HMSSDKActions = /*#__PURE__*/function () {
|
|
|
4214
4229
|
};
|
|
4215
4230
|
|
|
4216
4231
|
_proto.onTrackUpdate = function onTrackUpdate(type, track, peer) {
|
|
4217
|
-
// this check is needed because for track removed case, the
|
|
4218
|
-
// the track
|
|
4232
|
+
// this check is needed because for track removed case, the notification needs to
|
|
4233
|
+
// be send before the track is removed from store
|
|
4219
4234
|
if (type === sdkTypes.HMSTrackUpdate.TRACK_REMOVED) {
|
|
4220
4235
|
this.hmsNotifications.sendTrackUpdate(type, track.trackId);
|
|
4221
4236
|
this.handleTrackRemove(track, peer);
|