@100mslive/hms-video-store 0.6.7-alpha.0 → 0.7.1

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.
Files changed (66) hide show
  1. package/dist/core/IHMSActions.d.ts +5 -9
  2. package/dist/core/IHMSStore.d.ts +2 -2
  3. package/dist/core/hmsSDKStore/HMSNotifications.d.ts +3 -3
  4. package/dist/core/hmsSDKStore/HMSPlaylist.d.ts +1 -1
  5. package/dist/core/hmsSDKStore/HMSReactiveStore.d.ts +2 -3
  6. package/dist/core/hmsSDKStore/HMSSDKActions.d.ts +6 -9
  7. package/dist/core/hmsSDKStore/adapter.d.ts +2 -1
  8. package/dist/core/hmsSDKStore/common/mapping.d.ts +1 -1
  9. package/dist/core/hmsSDKStore/sdkTypes.d.ts +2 -2
  10. package/dist/core/hmsSDKStore/sdkUtils/ActionBatcher.d.ts +1 -1
  11. package/dist/core/index.d.ts +1 -1
  12. package/dist/core/schema/device-change.d.ts +1 -1
  13. package/dist/core/schema/notification.d.ts +4 -4
  14. package/dist/core/schema/peer.d.ts +18 -7
  15. package/dist/core/schema/requests.d.ts +1 -1
  16. package/dist/core/schema/room.d.ts +1 -3
  17. package/dist/core/schema/schema.d.ts +6 -6
  18. package/dist/core/selectors/derivedSelectors.d.ts +1 -1
  19. package/dist/core/selectors/selectorUtils.d.ts +1 -3
  20. package/dist/core/selectors/selectors.d.ts +1 -1
  21. package/dist/core/selectors/selectorsByID.d.ts +1 -1
  22. package/dist/core/webrtc-stats/HMSStats.d.ts +2 -2
  23. package/dist/core/webrtc-stats/webrtc-stats-store.d.ts +1 -1
  24. package/dist/index.cjs.js +1 -1
  25. package/dist/index.cjs.js.map +3 -3
  26. package/dist/index.js +1 -1
  27. package/dist/index.js.map +3 -3
  28. package/dist/test/fakeStore/fakeHMSStatsStore.d.ts +1 -1
  29. package/dist/test/fixtures.d.ts +1 -1
  30. package/package.json +3 -3
  31. package/src/core/IHMSActions.ts +11 -14
  32. package/src/core/IHMSStore.ts +2 -2
  33. package/src/core/hmsSDKStore/HMSNotifications.ts +17 -17
  34. package/src/core/hmsSDKStore/HMSPlaylist.ts +2 -2
  35. package/src/core/hmsSDKStore/HMSReactiveStore.ts +10 -11
  36. package/src/core/hmsSDKStore/HMSSDKActions.ts +41 -44
  37. package/src/core/hmsSDKStore/adapter.ts +16 -6
  38. package/src/core/hmsSDKStore/common/mapping.ts +1 -1
  39. package/src/core/hmsSDKStore/sdkTypes.ts +35 -31
  40. package/src/core/hmsSDKStore/sdkUtils/ActionBatcher.ts +2 -2
  41. package/src/core/hmsSDKStore/sdkUtils/sdkUtils.ts +1 -1
  42. package/src/core/index.ts +2 -0
  43. package/src/core/schema/device-change.ts +1 -1
  44. package/src/core/schema/notification.ts +4 -4
  45. package/src/core/schema/peer.ts +18 -7
  46. package/src/core/schema/requests.ts +1 -1
  47. package/src/core/schema/room.ts +1 -3
  48. package/src/core/schema/schema.ts +6 -8
  49. package/src/core/selectors/derivedSelectors.ts +2 -2
  50. package/src/core/selectors/playlistselectors.ts +1 -1
  51. package/src/core/selectors/selectorUtils.ts +2 -8
  52. package/src/core/selectors/selectors.ts +10 -10
  53. package/src/core/selectors/selectorsByID.ts +13 -13
  54. package/src/core/selectors/selectorsByReference.ts +1 -1
  55. package/src/core/webrtc-stats/HMSStats.ts +4 -4
  56. package/src/core/webrtc-stats/selectors.ts +1 -1
  57. package/src/core/webrtc-stats/webrtc-stats-store.ts +4 -4
  58. package/src/test/fakeStore/fakeHMSStatsStore.ts +1 -1
  59. package/src/test/fakeStore/fakeHMSStore.ts +0 -2
  60. package/src/test/fixtures.ts +1 -1
  61. package/src/test/unit/HMSNotifications.test.ts +2 -2
  62. package/src/test/unit/reactiveStore.test.ts +1 -1
  63. package/src/test/unit/roleSelectors.test.ts +3 -3
  64. package/src/test/unit/selectors.test.ts +45 -45
  65. package/src/test/unit/selectorsByReference.test.ts +3 -3
  66. package/src/test/unit/webrtc-stats.test.ts +1 -1
@@ -1,7 +1,7 @@
1
- import { HMSConfig, HMSSimulcastLayer, HMSAudioTrackSettings, HMSVideoTrackSettings, HMSLogLevel, HMSVideoPlugin, HMSAudioPlugin, HMSPluginSupportResult, HLSTimedMetadata } from '@100mslive/hms-video';
2
- import { HMSMessageID, HMSPeerID, HMSRoleName, HMSTrackID, HMSTrackSource, IHMSPlaylistActions, HMSChangeMultiTrackStateParams } from './schema';
1
+ import { HLSTimedMetadata, HMSAudioPlugin, HMSAudioTrackSettings, HMSConfig, HMSLogLevel, HMSPluginSupportResult, HMSScreenShareConfig, HMSSimulcastLayer, HMSVideoPlugin, HMSVideoTrackSettings } from '@100mslive/hms-video';
2
+ import { HLSConfig, RTMPRecordingConfig } from './hmsSDKStore/sdkTypes';
3
+ import { HMSChangeMultiTrackStateParams, HMSMessageID, HMSPeerID, HMSRoleName, HMSTrackID, HMSTrackSource, IHMSPlaylistActions } from './schema';
3
4
  import { HMSRoleChangeRequest } from './selectors';
4
- import { RTMPRecordingConfig, HLSConfig } from './hmsSDKStore/sdkTypes';
5
5
  /**
6
6
  * The below interface defines our SDK API Surface for taking room related actions.
7
7
  * It talks to our 100ms backend and handles error reconnections, state managements
@@ -40,13 +40,9 @@ export interface IHMSActions {
40
40
  * The store will be populated with the incoming track, and the subscriber(or
41
41
  * react component if our hook is used) will be notified/rerendered
42
42
  * @param enabled boolean
43
- * @param config it can also be boolean to ensure backward compatibility where it stands
44
- * for audioOnly flag
43
+ * @param config check the config object for details about the fields
45
44
  */
46
- setScreenShareEnabled(enabled: boolean, config?: {
47
- audioOnly?: boolean;
48
- videoOnly?: boolean;
49
- } | boolean): Promise<void>;
45
+ setScreenShareEnabled(enabled: boolean, config?: HMSScreenShareConfig): Promise<void>;
50
46
  /**
51
47
  * You can use the addTrack method to add an auxiliary track(canvas capture, electron screen-share, etc...)
52
48
  * This method adds the track to the local peer's list of auxiliary tracks and publishes it to make it available to remote peers.
@@ -3,9 +3,9 @@
3
3
  * IHMSStore, IHMSStoreReadOnly, IHMSStatsStore, IHMSStatsStoreReadOnly
4
4
  * are exported as interfaces to include tsdoc comments with them.
5
5
  */
6
- import { HMSStore, HMSStatsStore } from './schema';
7
- import { StateSelector, StoreApi, Subscribe, State } from 'zustand/vanilla';
6
+ import { State, StateSelector, StoreApi, Subscribe } from 'zustand/vanilla';
8
7
  import { NamedSetState } from './hmsSDKStore/internalTypes';
8
+ import { HMSStatsStore, HMSStore } from './schema';
9
9
  /**
10
10
  * HMS Reactive store can be used to subscribe to different parts of the store using selectors
11
11
  * and get a callback when the value changes.
@@ -1,7 +1,7 @@
1
- import { HMSNotificationCallback, HMSNotificationTypeParam, IHMSNotifications } from '../schema/notification';
2
- import { IHMSStore } from '../IHMSStore';
3
1
  import * as sdkTypes from './sdkTypes';
4
- import { HMSPeer, HMSException, HMSMessage, HMSTrackID, HMSChangeTrackStateRequest, HMSChangeMultiTrackStateRequest, HMSLeaveRoomRequest, HMSDeviceChangeEvent, HMSPlaylistItem } from '../schema';
2
+ import { IHMSStore } from '../IHMSStore';
3
+ import { HMSChangeMultiTrackStateRequest, HMSChangeTrackStateRequest, HMSDeviceChangeEvent, HMSException, HMSLeaveRoomRequest, HMSMessage, HMSPeer, HMSPlaylistItem, HMSTrackID } from '../schema';
4
+ import { HMSNotificationCallback, HMSNotificationTypeParam, IHMSNotifications } from '../schema/notification';
5
5
  export declare class HMSNotifications implements IHMSNotifications {
6
6
  private id;
7
7
  private eventEmitter;
@@ -1,6 +1,6 @@
1
- import { HMSPlaylistItem, HMSPlaylistType, IHMSPlaylistActions } from '../schema';
2
1
  import { HMSPlaylistManager } from './sdkTypes';
3
2
  import { IHMSStore } from '../IHMSStore';
3
+ import { HMSPlaylistItem, HMSPlaylistType, IHMSPlaylistActions } from '../schema';
4
4
  export declare class HMSPlaylist implements IHMSPlaylistActions {
5
5
  private playlistManager;
6
6
  private syncPlaylistState;
@@ -1,8 +1,7 @@
1
1
  import { State } from 'zustand/vanilla';
2
- import { IHMSActions } from '../IHMSActions';
3
- import { IHMSStatsStoreReadOnly, IStore } from '../IHMSStore';
4
- import { IHMSStore, IHMSStoreReadOnly } from '../IHMSStore';
5
2
  import { HMSNotifications } from './HMSNotifications';
3
+ import { IHMSActions } from '../IHMSActions';
4
+ import { IHMSStatsStoreReadOnly, IHMSStore, IHMSStoreReadOnly, IStore } from '../IHMSStore';
6
5
  import { IHMSNotifications } from '../schema/notification';
7
6
  declare global {
8
7
  interface Window {
@@ -1,10 +1,10 @@
1
- import { HMSChangeMultiTrackStateParams, HMSMessage, HMSTrackID, HMSTrackSource, IHMSPlaylistActions } from '../schema';
2
- import { IHMSActions } from '../IHMSActions';
1
+ import { HMSAudioPlugin, HMSChangeMultiTrackStateRequest as SDKHMSChangeMultiTrackStateRequest, HMSChangeTrackStateRequest as SDKHMSChangeTrackStateRequest, HMSException as SDKHMSException, HMSLogLevel, HMSPluginSupportResult, HMSScreenShareConfig, HMSSdk, HMSSimulcastLayer, HMSTrack as SDKHMSTrack, HMSVideoPlugin } from '@100mslive/hms-video';
2
+ import { HMSNotifications } from './HMSNotifications';
3
3
  import * as sdkTypes from './sdkTypes';
4
- import { HMSRoleChangeRequest } from '../selectors';
5
- import { HMSAudioPlugin, HMSChangeMultiTrackStateRequest as SDKHMSChangeMultiTrackStateRequest, HMSChangeTrackStateRequest as SDKHMSChangeTrackStateRequest, HMSException as SDKHMSException, HMSLogLevel, HMSPluginSupportResult, HMSSdk, HMSSimulcastLayer, HMSTrack as SDKHMSTrack, HMSVideoPlugin } from '@100mslive/hms-video';
4
+ import { IHMSActions } from '../IHMSActions';
6
5
  import { IHMSStore } from '../IHMSStore';
7
- import { HMSNotifications } from './HMSNotifications';
6
+ import { HMSChangeMultiTrackStateParams, HMSMessage, HMSTrackID, HMSTrackSource, IHMSPlaylistActions } from '../schema';
7
+ import { HMSRoleChangeRequest } from '../selectors';
8
8
  /**
9
9
  * This class implements the IHMSActions interface for 100ms SDK. It connects with SDK
10
10
  * and takes control of data management by letting every action pass through it. The
@@ -44,10 +44,7 @@ export declare class HMSSDKActions implements IHMSActions {
44
44
  preview(config: sdkTypes.HMSConfig): Promise<void>;
45
45
  join(config: sdkTypes.HMSConfig): Promise<void>;
46
46
  leave(): Promise<void>;
47
- setScreenShareEnabled(enabled: boolean, config?: {
48
- audioOnly?: boolean;
49
- videoOnly?: boolean;
50
- } | boolean): Promise<void>;
47
+ setScreenShareEnabled(enabled: boolean, config?: HMSScreenShareConfig): Promise<void>;
51
48
  addTrack(track: MediaStreamTrack, type?: HMSTrackSource): Promise<void>;
52
49
  removeTrack(trackId: string): Promise<void>;
53
50
  setLocalAudioEnabled(enabled: boolean): Promise<void>;
@@ -1,6 +1,6 @@
1
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, HMSVideoTrack } from '../schema';
3
2
  import * as sdkTypes from './sdkTypes';
3
+ import { HMSDeviceChangeEvent, HMSException, HMSMessage, HMSPeer, HMSPeerID, HMSPlaylistItem, HMSRole, HMSRoleChangeStoreRequest, HMSRoleName, HMSRoom, HMSScreenVideoTrack, HMSTrack, HMSVideoTrack } from '../schema';
4
4
  /**
5
5
  * This file has conversion functions from schema defined in sdk to normalised schema defined in store.
6
6
  * A lot of conversions below involve deep clone as once the object goes into store it becomes unmodifiable
@@ -14,6 +14,7 @@ export declare class SDKToHMS {
14
14
  static enrichTrack(track: HMSTrack, sdkTrack: SDKHMSTrack): void;
15
15
  static updateDeviceID(track: HMSTrack, sdkTrack: SDKHMSTrack): void;
16
16
  static enrichVideoTrack(track: HMSVideoTrack, sdkTrack: SDKHMSTrack): void;
17
+ static enrichScreenTrack(track: HMSScreenVideoTrack, sdkTrack: SDKHMSTrack): void;
17
18
  static enrichPluginsDetails(track: HMSTrack, sdkTrack: SDKHMSTrack): void;
18
19
  static convertRoom(sdkRoom: sdkTypes.HMSRoom): Partial<HMSRoom>;
19
20
  static convertMessage(sdkMessage: sdkTypes.HMSMessage): Partial<HMSMessage> & Pick<HMSMessage, 'sender'>;
@@ -1,5 +1,5 @@
1
- import * as sdkTypes from '../sdkTypes';
2
1
  import { HMSNotificationTypes } from '../../schema';
2
+ import * as sdkTypes from '../sdkTypes';
3
3
  declare type PeerNotificationMap = {
4
4
  [key in sdkTypes.HMSPeerUpdate]?: HMSNotificationTypes;
5
5
  };
@@ -1,3 +1,3 @@
1
- import { HMSException, HMSSimulcastLayer, HMSPeerUpdate, HMSRoomUpdate, HMSTrackUpdate, HMSAudioTrackSettings, HMSVideoTrackSettings, HMSPeer, HMSRoom, HMSMessage, HMSConfig, HMSConfigInitialSettings, HMSSpeaker, HMSRole, HMSLocalPeer, HMSRemotePeer, SimulcastLayerDefinition, DeviceMap, HMSLogLevel, HMSDeviceChangeEvent, HMSPlaylistItem, HMSPlaylistManager, HMSPlaylistProgressEvent, RTMPRecordingConfig, HMSRecording, HMSRTMP, HMSWebrtcInternals, HMSWebrtcStats, HMSAudioPluginType, HMSVideoPluginType, HMSVideoPluginCanvasContextType, HMSVideoPlugin, HMSAudioPlugin, HLSConfig, HMSHLS, HLSTimedMetadata, HMSPeerStats, HMSTrackStats, HMSLocalTrackStats, HMSRemoteTrackStats, parsedUserAgent, HMSConnectionQuality, HLSMeetingURLVariant, HMSFrameworkInfo } from '@100mslive/hms-video';
1
+ import { DeviceMap, HLSConfig, HLSMeetingURLVariant, HLSTimedMetadata, HMSAudioPlugin, HMSAudioPluginType, HMSAudioTrackSettings, HMSConfig, HMSConfigInitialSettings, HMSConnectionQuality, HMSDeviceChangeEvent, HMSException, HMSFrameworkInfo, HMSHLS, HMSLocalPeer, HMSLocalTrackStats, HMSLogLevel, HMSMessage, HMSPeer, HMSPeerStats, HMSPeerUpdate, HMSPlaylistItem, HMSPlaylistManager, HMSPlaylistProgressEvent, HMSRecording, HMSRemotePeer, HMSRemoteTrackStats, HMSRole, HMSRoom, HMSRoomUpdate, HMSRTMP, HMSScreenShareConfig, HMSSimulcastLayer, HMSSpeaker, HMSTrackStats, HMSTrackUpdate, HMSVideoPlugin, HMSVideoPluginCanvasContextType, HMSVideoPluginType, HMSVideoTrackSettings, HMSWebrtcInternals, HMSWebrtcStats, parsedUserAgent, RTMPRecordingConfig, ScreenCaptureHandle, SimulcastLayerDefinition } from '@100mslive/hms-video';
2
2
  export { HMSException, HMSSimulcastLayer, HMSRoomUpdate, HMSPeerUpdate, HMSTrackUpdate, HMSLogLevel, HMSAudioPluginType, HMSVideoPluginType, HMSVideoPluginCanvasContextType, parsedUserAgent, };
3
- export type { DeviceMap, HMSPeer, HMSRoom, HMSMessage, HMSSpeaker, HMSConfig, HMSConfigInitialSettings, HMSAudioTrackSettings, HMSVideoTrackSettings, HMSRole, HMSLocalPeer, HMSRemotePeer, SimulcastLayerDefinition, HMSDeviceChangeEvent, HMSPlaylistItem, HMSPlaylistManager, HMSPlaylistProgressEvent, RTMPRecordingConfig, HMSRecording, HMSRTMP, HMSWebrtcInternals, HMSWebrtcStats, HMSVideoPlugin, HMSAudioPlugin, HLSConfig, HLSTimedMetadata, HLSMeetingURLVariant, HMSHLS, HMSPeerStats, HMSTrackStats, HMSLocalTrackStats, HMSRemoteTrackStats, HMSConnectionQuality, HMSFrameworkInfo, };
3
+ export type { DeviceMap, HMSPeer, HMSRoom, HMSMessage, HMSSpeaker, HMSConfig, HMSConfigInitialSettings, HMSAudioTrackSettings, HMSVideoTrackSettings, HMSRole, HMSLocalPeer, HMSRemotePeer, SimulcastLayerDefinition, HMSDeviceChangeEvent, HMSPlaylistItem, HMSPlaylistManager, HMSPlaylistProgressEvent, RTMPRecordingConfig, HMSRecording, HMSRTMP, HMSWebrtcInternals, HMSWebrtcStats, HMSVideoPlugin, HMSAudioPlugin, HLSConfig, HLSTimedMetadata, HLSMeetingURLVariant, HMSHLS, HMSPeerStats, HMSTrackStats, HMSLocalTrackStats, HMSRemoteTrackStats, HMSConnectionQuality, HMSScreenShareConfig, HMSFrameworkInfo, ScreenCaptureHandle, };
@@ -1,5 +1,5 @@
1
- import { HMSStore } from '../../schema';
2
1
  import { IHMSStore } from '../../IHMSStore';
2
+ import { HMSStore } from '../../schema';
3
3
  declare type ActionName = string;
4
4
  declare type SetState = (store: HMSStore) => void;
5
5
  /**
@@ -7,4 +7,4 @@ export * from './schema';
7
7
  export * from './selectors';
8
8
  export { HMSLogLevel, HMSAudioPluginType, HMSVideoPluginType, HMSVideoPluginCanvasContextType, parsedUserAgent, } from './hmsSDKStore/sdkTypes';
9
9
  export * from './webrtc-stats';
10
- export type { HMSConfig, HMSConfigInitialSettings, HMSAudioTrackSettings, HMSVideoTrackSettings, RTMPRecordingConfig, HMSPeerStats, HMSTrackStats, HMSLocalTrackStats, HMSRemoteTrackStats, HLSConfig, HLSMeetingURLVariant, } from './hmsSDKStore/sdkTypes';
10
+ export type { HMSConfig, HMSConfigInitialSettings, HMSAudioTrackSettings, HMSVideoTrackSettings, RTMPRecordingConfig, HMSPeerStats, HMSTrackStats, HMSLocalTrackStats, HMSRemoteTrackStats, HLSConfig, HLSMeetingURLVariant, HMSScreenShareConfig, ScreenCaptureHandle, } from './hmsSDKStore/sdkTypes';
@@ -1,5 +1,5 @@
1
- import { DeviceMap } from '../hmsSDKStore/sdkTypes';
2
1
  import { HMSException } from './error';
2
+ import { DeviceMap } from '../hmsSDKStore/sdkTypes';
3
3
  export type { DeviceMap };
4
4
  /**
5
5
  * Test fails when adding InputDeviceInfo[error TS2304: Cannot find name 'InputDeviceInfo'.]
@@ -1,9 +1,9 @@
1
- import { HMSPeer, HMSTrack } from './peer';
2
- import { HMSMessage } from './message';
3
- import { HMSChangeMultiTrackStateRequest, HMSChangeTrackStateRequest, HMSLeaveRoomRequest } from './requests';
4
1
  import { HMSDeviceChangeEvent } from './device-change';
5
- import { HMSPlaylistItem } from './playlist';
6
2
  import { HMSException } from './error';
3
+ import { HMSMessage } from './message';
4
+ import { HMSPeer, HMSTrack } from './peer';
5
+ import { HMSPlaylistItem } from './playlist';
6
+ import { HMSChangeMultiTrackStateRequest, HMSChangeTrackStateRequest, HMSLeaveRoomRequest } from './requests';
7
7
  interface BaseNotification {
8
8
  id: number;
9
9
  type: string;
@@ -1,11 +1,21 @@
1
- import { HMSSimulcastLayer, SimulcastLayerDefinition } from '../hmsSDKStore/sdkTypes';
2
1
  import { HMSRoleName } from './role';
2
+ import { HMSSimulcastLayer, ScreenCaptureHandle, SimulcastLayerDefinition } from '../hmsSDKStore/sdkTypes';
3
3
  export type { SimulcastLayerDefinition, HMSSimulcastLayer };
4
4
  export declare type HMSPeerID = string;
5
5
  export declare type HMSTrackID = string;
6
6
  export declare type HMSTrackSource = 'regular' | 'screen' | 'plugin' | 'audioplaylist' | 'videoplaylist' | string;
7
7
  export declare type HMSTrackType = 'audio' | 'video';
8
- export declare type HMSTrackDisplaySurface = 'application' | 'browser' | 'monitor' | 'window';
8
+ /**
9
+ * Use this to identify what is being screenshared, not all browsers will support
10
+ * everything.
11
+ *
12
+ * application - all windows of an application are shared
13
+ * window - a particular window is being shared
14
+ * monitor - full screen share of a monitor display
15
+ * browser - a browser tab is shared
16
+ * selfBrowser - the current browser tab is being shared
17
+ */
18
+ export declare type HMSTrackDisplaySurface = 'application' | 'browser' | 'selfBrowser' | 'monitor' | 'window';
9
19
  export declare type HMSTrackFacingMode = 'user' | 'environment' | 'left' | 'right';
10
20
  /**
11
21
  * HMSPeer stores the details of individual participants in the room
@@ -22,11 +32,6 @@ export interface HMSPeer {
22
32
  customerUserId?: string;
23
33
  metadata?: string;
24
34
  joinedAt?: Date;
25
- /**
26
- * @deprecated
27
- * Use metadata field instead.
28
- */
29
- customerDescription?: string;
30
35
  }
31
36
  /**
32
37
  * HMS Track stores details about individual tracks of the room. This object is
@@ -69,6 +74,12 @@ export interface HMSVideoTrack extends BaseTrack {
69
74
  export interface HMSScreenVideoTrack extends Omit<HMSVideoTrack, 'facingMode'> {
70
75
  source: 'screen';
71
76
  displaySurface?: HMSTrackDisplaySurface;
77
+ /**
78
+ * this can be used to identify the shared tab, if
79
+ * the shared tab has set a captureHandle on its end as well as communicate
80
+ * with the tab for e.g. using broadcast channel.
81
+ */
82
+ captureHandle?: ScreenCaptureHandle;
72
83
  }
73
84
  export declare type HMSTrack = HMSVideoTrack | HMSAudioTrack | HMSScreenVideoTrack | HMSScreenAudioTrack;
74
85
  /**
@@ -1,6 +1,6 @@
1
- import { HMSTrackSource } from '.';
2
1
  import { HMSPeer, HMSPeerID, HMSTrack } from './peer';
3
2
  import { HMSRoleName } from './role';
3
+ import { HMSTrackSource } from '.';
4
4
  export interface HMSRoleChangeStoreRequest {
5
5
  requestedBy?: HMSPeerID;
6
6
  roleName: HMSRoleName;
@@ -1,4 +1,4 @@
1
- import { HMSRecording, HMSRTMP, HMSHLS, HLSVariant } from '@100mslive/hms-video';
1
+ import { HLSVariant, HMSHLS, HMSRecording, HMSRTMP } from '@100mslive/hms-video';
2
2
  import { HMSPeerID } from './peer';
3
3
  export type { HMSRecording, HMSRTMP, HMSHLS, HLSVariant };
4
4
  export declare type HMSRoomID = string;
@@ -23,8 +23,6 @@ export interface HMSRoom {
23
23
  isConnected?: boolean;
24
24
  peers: HMSPeerID[];
25
25
  localPeer: HMSPeerID;
26
- shareableLink: string;
27
- hasWaitingRoom: boolean;
28
26
  roomState: HMSRoomState;
29
27
  recording: HMSRecording;
30
28
  rtmp: HMSRTMP;
@@ -1,12 +1,12 @@
1
- import { HMSPeer, HMSPeerID, HMSTrackID, HMSTrack, HMSSpeaker } from './peer';
1
+ import { HMSException } from './error';
2
2
  import { HMSMessage, HMSMessageID } from './message';
3
+ import { HMSPeer, HMSPeerID, HMSSpeaker, HMSTrack, HMSTrackID } from './peer';
4
+ import { HMSPlaylist } from './playlist';
5
+ import { HMSRoleChangeStoreRequest } from './requests';
6
+ import { HMSRole } from './role';
3
7
  import { HMSRoom } from './room';
4
8
  import { HMSMediaSettings } from './settings';
5
- import { DeviceMap, HMSPeerStats, HMSTrackStats, HMSConnectionQuality } from '../hmsSDKStore/sdkTypes';
6
- import { HMSRole } from './role';
7
- import { HMSRoleChangeStoreRequest } from './requests';
8
- import { HMSException } from './error';
9
- import { HMSPlaylist } from './playlist';
9
+ import { DeviceMap, HMSConnectionQuality, HMSPeerStats, HMSTrackStats } from '../hmsSDKStore/sdkTypes';
10
10
  export interface HMSStore {
11
11
  room: HMSRoom;
12
12
  peers: Record<HMSPeerID, HMSPeer>;
@@ -1,5 +1,5 @@
1
- import { HMSPeer, HMSStore } from '../schema';
2
1
  import { HMSRole } from '@100mslive/hms-video';
2
+ import { HMSPeer, HMSStore } from '../schema';
3
3
  export interface HMSPeerWithMuteStatus {
4
4
  peer: HMSPeer;
5
5
  isAudioEnabled?: boolean;
@@ -1,6 +1,5 @@
1
1
  import { HMSPeer, HMSScreenAudioTrack, HMSScreenVideoTrack, HMSStore, HMSTrack, HMSTrackID, HMSVideoTrack } from '../schema';
2
- declare type trackCheck = (track: HMSTrack | undefined) => boolean | undefined;
3
- export declare function getPeerTracksByCondition(tracks: Record<HMSTrackID, HMSTrack>, peer: HMSPeer | null, trackCheckFn?: trackCheck): {
2
+ export declare function getScreenSharesByPeer(tracks: Record<HMSTrackID, HMSTrack>, peer: HMSPeer | null): {
4
3
  video: HMSScreenVideoTrack;
5
4
  audio: HMSScreenAudioTrack;
6
5
  };
@@ -15,4 +14,3 @@ export declare function isTrackEnabled(store: HMSStore, trackID?: string): boole
15
14
  * Should UI show the video track as enabled
16
15
  */
17
16
  export declare function isTrackDisplayEnabled(store: HMSStore, trackID?: string): boolean | undefined;
18
- export {};
@@ -1,5 +1,5 @@
1
- import { HMSMessage, HMSPeer, HMSPeerID, HMSRoom, HMSRoomState, HMSStore, HMSVideoTrack } from '../schema';
2
1
  import { HMSRole } from '../hmsSDKStore/sdkTypes';
2
+ import { HMSMessage, HMSPeer, HMSPeerID, HMSRoom, HMSRoomState, HMSStore, HMSVideoTrack } from '../schema';
3
3
  /**
4
4
  * Select the current {@link HMSRoom} object to which you are connected.
5
5
  * @param store
@@ -1,4 +1,4 @@
1
- import { HMSPeerID, HMSRoleName, HMSStore, HMSTrack, HMSAudioTrack, HMSVideoTrack, HMSScreenVideoTrack } from '../schema';
1
+ import { HMSAudioTrack, HMSPeerID, HMSRoleName, HMSScreenVideoTrack, HMSStore, HMSTrack, HMSVideoTrack } from '../schema';
2
2
  /**
3
3
  * Select the {@link HMSPeer} object given a peer ID.
4
4
  */
@@ -1,7 +1,7 @@
1
- import { HMSSdk } from '@100mslive/hms-video';
2
1
  import { Subscribe } from 'zustand/vanilla';
2
+ import { HMSSdk } from '@100mslive/hms-video';
3
+ import { GetState, IHMSStatsStoreReadOnly, IHMSStore } from '../IHMSStore';
3
4
  import { HMSStatsStore } from '..';
4
- import { IHMSStore, IHMSStatsStoreReadOnly, GetState } from '../IHMSStore';
5
5
  /**
6
6
  * @internal
7
7
  */
@@ -1,3 +1,3 @@
1
1
  import { HMSSdk } from '@100mslive/hms-video';
2
- import { IHMSStore, IHMSStatsStore } from '../IHMSStore';
2
+ import { IHMSStatsStore, IHMSStore } from '../IHMSStore';
3
3
  export declare const subscribeToSdkWebrtcStats: (sdk: HMSSdk, webrtcStore: IHMSStatsStore, store: IHMSStore) => void;