@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.
@@ -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 and type to pause');
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(id) {
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
- if (id) {
2438
- _context2.next = 3;
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('Please pass id and type to pause');
2482
+ HMSLogger.w('No item is currently playing to pause');
2443
2483
  return _context2.abrupt("return");
2444
2484
 
2445
- case 3:
2446
- _context2.next = 5;
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 5:
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(_x2) {
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.syncRoomState('setPreferredLayer');
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 = 6;
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
- _context17.next = 7;
3362
+ this.updateVideoLayer(trackID, 'detachVideo');
3363
+ _context17.next = 8;
3323
3364
  break;
3324
3365
 
3325
- case 6:
3366
+ case 7:
3326
3367
  this.logPossibleInconsistency('no video track found to remove sink');
3327
3368
 
3328
- case 7:
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
- // Update layer as it is updated in addSink
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
- } // then merge them carefully with our store so if something hasn't changed
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