livekit-client 0.18.4-RC6 → 0.18.4

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 (127) hide show
  1. package/README.md +2 -5
  2. package/dist/api/RequestQueue.d.ts +13 -12
  3. package/dist/api/RequestQueue.d.ts.map +1 -0
  4. package/dist/api/SignalClient.d.ts +67 -66
  5. package/dist/api/SignalClient.d.ts.map +1 -0
  6. package/dist/connect.d.ts +24 -23
  7. package/dist/connect.d.ts.map +1 -0
  8. package/dist/index.d.ts +27 -26
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/livekit-client.esm.mjs +546 -486
  11. package/dist/livekit-client.esm.mjs.map +1 -1
  12. package/dist/livekit-client.umd.js +1 -1
  13. package/dist/livekit-client.umd.js.map +1 -1
  14. package/dist/logger.d.ts +26 -25
  15. package/dist/logger.d.ts.map +1 -0
  16. package/dist/options.d.ts +128 -127
  17. package/dist/options.d.ts.map +1 -0
  18. package/dist/proto/google/protobuf/timestamp.d.ts +133 -132
  19. package/dist/proto/google/protobuf/timestamp.d.ts.map +1 -0
  20. package/dist/proto/livekit_models.d.ts +876 -868
  21. package/dist/proto/livekit_models.d.ts.map +1 -0
  22. package/dist/proto/livekit_rtc.d.ts +3904 -3859
  23. package/dist/proto/livekit_rtc.d.ts.map +1 -0
  24. package/dist/room/DeviceManager.d.ts +8 -7
  25. package/dist/room/DeviceManager.d.ts.map +1 -0
  26. package/dist/room/PCTransport.d.ts +16 -15
  27. package/dist/room/PCTransport.d.ts.map +1 -0
  28. package/dist/room/RTCEngine.d.ts +67 -66
  29. package/dist/room/RTCEngine.d.ts.map +1 -0
  30. package/dist/room/Room.d.ts +166 -165
  31. package/dist/room/Room.d.ts.map +1 -0
  32. package/dist/room/errors.d.ts +29 -28
  33. package/dist/room/errors.d.ts.map +1 -0
  34. package/dist/room/events.d.ts +391 -390
  35. package/dist/room/events.d.ts.map +1 -0
  36. package/dist/room/participant/LocalParticipant.d.ts +126 -125
  37. package/dist/room/participant/LocalParticipant.d.ts.map +1 -0
  38. package/dist/room/participant/Participant.d.ts +94 -93
  39. package/dist/room/participant/Participant.d.ts.map +1 -0
  40. package/dist/room/participant/ParticipantTrackPermission.d.ts +26 -19
  41. package/dist/room/participant/ParticipantTrackPermission.d.ts.map +1 -0
  42. package/dist/room/participant/RemoteParticipant.d.ts +40 -39
  43. package/dist/room/participant/RemoteParticipant.d.ts.map +1 -0
  44. package/dist/room/participant/publishUtils.d.ts +18 -17
  45. package/dist/room/participant/publishUtils.d.ts.map +1 -0
  46. package/dist/room/stats.d.ts +66 -65
  47. package/dist/room/stats.d.ts.map +1 -0
  48. package/dist/room/track/LocalAudioTrack.d.ts +20 -19
  49. package/dist/room/track/LocalAudioTrack.d.ts.map +1 -0
  50. package/dist/room/track/LocalTrack.d.ts +28 -27
  51. package/dist/room/track/LocalTrack.d.ts.map +1 -0
  52. package/dist/room/track/LocalTrackPublication.d.ts +38 -37
  53. package/dist/room/track/LocalTrackPublication.d.ts.map +1 -0
  54. package/dist/room/track/LocalVideoTrack.d.ts +31 -30
  55. package/dist/room/track/LocalVideoTrack.d.ts.map +1 -0
  56. package/dist/room/track/RemoteAudioTrack.d.ts +20 -19
  57. package/dist/room/track/RemoteAudioTrack.d.ts.map +1 -0
  58. package/dist/room/track/RemoteTrack.d.ts +16 -15
  59. package/dist/room/track/RemoteTrack.d.ts.map +1 -0
  60. package/dist/room/track/RemoteTrackPublication.d.ts +51 -50
  61. package/dist/room/track/RemoteTrackPublication.d.ts.map +1 -0
  62. package/dist/room/track/RemoteVideoTrack.d.ts +28 -27
  63. package/dist/room/track/RemoteVideoTrack.d.ts.map +1 -0
  64. package/dist/room/track/Track.d.ts +101 -100
  65. package/dist/room/track/Track.d.ts.map +1 -0
  66. package/dist/room/track/TrackPublication.d.ts +50 -49
  67. package/dist/room/track/TrackPublication.d.ts.map +1 -0
  68. package/dist/room/track/create.d.ts +24 -23
  69. package/dist/room/track/create.d.ts.map +1 -0
  70. package/dist/room/track/defaults.d.ts +5 -4
  71. package/dist/room/track/defaults.d.ts.map +1 -0
  72. package/dist/room/track/options.d.ts +223 -222
  73. package/dist/room/track/options.d.ts.map +1 -0
  74. package/dist/room/track/types.d.ts +19 -18
  75. package/dist/room/track/types.d.ts.map +1 -0
  76. package/dist/room/track/utils.d.ts +14 -13
  77. package/dist/room/track/utils.d.ts.map +1 -0
  78. package/dist/room/utils.d.ts +17 -15
  79. package/dist/room/utils.d.ts.map +1 -0
  80. package/dist/test/mocks.d.ts +12 -11
  81. package/dist/test/mocks.d.ts.map +1 -0
  82. package/dist/version.d.ts +3 -2
  83. package/dist/version.d.ts.map +1 -0
  84. package/package.json +4 -5
  85. package/src/api/RequestQueue.ts +53 -0
  86. package/src/api/SignalClient.ts +497 -0
  87. package/src/connect.ts +98 -0
  88. package/src/index.ts +49 -0
  89. package/src/logger.ts +56 -0
  90. package/src/options.ts +156 -0
  91. package/src/proto/google/protobuf/timestamp.ts +216 -0
  92. package/src/proto/livekit_models.ts +2456 -0
  93. package/src/proto/livekit_rtc.ts +2859 -0
  94. package/src/room/DeviceManager.ts +80 -0
  95. package/src/room/PCTransport.ts +88 -0
  96. package/src/room/RTCEngine.ts +695 -0
  97. package/src/room/Room.ts +970 -0
  98. package/src/room/errors.ts +65 -0
  99. package/src/room/events.ts +438 -0
  100. package/src/room/participant/LocalParticipant.ts +755 -0
  101. package/src/room/participant/Participant.ts +287 -0
  102. package/src/room/participant/ParticipantTrackPermission.ts +42 -0
  103. package/src/room/participant/RemoteParticipant.ts +263 -0
  104. package/src/room/participant/publishUtils.test.ts +144 -0
  105. package/src/room/participant/publishUtils.ts +229 -0
  106. package/src/room/stats.ts +134 -0
  107. package/src/room/track/LocalAudioTrack.ts +134 -0
  108. package/src/room/track/LocalTrack.ts +229 -0
  109. package/src/room/track/LocalTrackPublication.ts +87 -0
  110. package/src/room/track/LocalVideoTrack.test.ts +72 -0
  111. package/src/room/track/LocalVideoTrack.ts +295 -0
  112. package/src/room/track/RemoteAudioTrack.ts +86 -0
  113. package/src/room/track/RemoteTrack.ts +62 -0
  114. package/src/room/track/RemoteTrackPublication.ts +207 -0
  115. package/src/room/track/RemoteVideoTrack.ts +240 -0
  116. package/src/room/track/Track.ts +358 -0
  117. package/src/room/track/TrackPublication.ts +120 -0
  118. package/src/room/track/create.ts +122 -0
  119. package/src/room/track/defaults.ts +27 -0
  120. package/src/room/track/options.ts +281 -0
  121. package/src/room/track/types.ts +20 -0
  122. package/src/room/track/utils.test.ts +110 -0
  123. package/src/room/track/utils.ts +113 -0
  124. package/src/room/utils.ts +115 -0
  125. package/src/test/mocks.ts +17 -0
  126. package/src/version.ts +2 -0
  127. package/CHANGELOG.md +0 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/room/events.ts"],"names":[],"mappings":"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"}
@@ -1,125 +1,126 @@
1
- import { RoomOptions } from '../../options';
2
- import { DataPacket_Kind, ParticipantPermission } from '../../proto/livekit_models';
3
- import { DataChannelInfo, TrackPublishedResponse } from '../../proto/livekit_rtc';
4
- import RTCEngine from '../RTCEngine';
5
- import LocalTrack from '../track/LocalTrack';
6
- import LocalTrackPublication from '../track/LocalTrackPublication';
7
- import { CreateLocalTracksOptions, ScreenShareCaptureOptions, TrackPublishOptions } from '../track/options';
8
- import { Track } from '../track/Track';
9
- import Participant from './Participant';
10
- import { ParticipantTrackPermission } from './ParticipantTrackPermission';
11
- import RemoteParticipant from './RemoteParticipant';
12
- export default class LocalParticipant extends Participant {
13
- audioTracks: Map<string, LocalTrackPublication>;
14
- videoTracks: Map<string, LocalTrackPublication>;
15
- /** map of track sid => all published tracks */
16
- tracks: Map<string, LocalTrackPublication>;
17
- private pendingPublishing;
18
- private cameraError;
19
- private microphoneError;
20
- private engine;
21
- private roomOptions?;
22
- /** @internal */
23
- constructor(sid: string, identity: string, engine: RTCEngine, options: RoomOptions);
24
- get lastCameraError(): Error | undefined;
25
- get lastMicrophoneError(): Error | undefined;
26
- getTrack(source: Track.Source): LocalTrackPublication | undefined;
27
- getTrackByName(name: string): LocalTrackPublication | undefined;
28
- /**
29
- * Enable or disable a participant's camera track.
30
- *
31
- * If a track has already published, it'll mute or unmute the track.
32
- * Resolves with a `LocalTrackPublication` instance if successful and `undefined` otherwise
33
- */
34
- setCameraEnabled(enabled: boolean): Promise<LocalTrackPublication | undefined>;
35
- /**
36
- * Enable or disable a participant's microphone track.
37
- *
38
- * If a track has already published, it'll mute or unmute the track.
39
- * Resolves with a `LocalTrackPublication` instance if successful and `undefined` otherwise
40
- */
41
- setMicrophoneEnabled(enabled: boolean): Promise<LocalTrackPublication | undefined>;
42
- /**
43
- * Start or stop sharing a participant's screen
44
- * Resolves with a `LocalTrackPublication` instance if successful and `undefined` otherwise
45
- */
46
- setScreenShareEnabled(enabled: boolean): Promise<LocalTrackPublication | undefined>;
47
- /** @internal */
48
- setPermissions(permissions: ParticipantPermission): boolean;
49
- /**
50
- * Enable or disable publishing for a track by source. This serves as a simple
51
- * way to manage the common tracks (camera, mic, or screen share).
52
- * Resolves with LocalTrackPublication if successful and void otherwise
53
- */
54
- private setTrackEnabled;
55
- /**
56
- * Publish both camera and microphone at the same time. This is useful for
57
- * displaying a single Permission Dialog box to the end user.
58
- */
59
- enableCameraAndMicrophone(): Promise<void>;
60
- /**
61
- * Create local camera and/or microphone tracks
62
- * @param options
63
- * @returns
64
- */
65
- createTracks(options?: CreateLocalTracksOptions): Promise<LocalTrack[]>;
66
- /**
67
- * Creates a screen capture tracks with getDisplayMedia().
68
- * A LocalVideoTrack is always created and returned.
69
- * If { audio: true }, and the browser supports audio capture, a LocalAudioTrack is also created.
70
- */
71
- createScreenTracks(options?: ScreenShareCaptureOptions): Promise<Array<LocalTrack>>;
72
- /**
73
- * Publish a new track to the room
74
- * @param track
75
- * @param options
76
- */
77
- publishTrack(track: LocalTrack | MediaStreamTrack, options?: TrackPublishOptions): Promise<LocalTrackPublication>;
78
- unpublishTrack(track: LocalTrack | MediaStreamTrack, stopOnUnpublish?: boolean): LocalTrackPublication | undefined;
79
- unpublishTracks(tracks: LocalTrack[] | MediaStreamTrack[]): LocalTrackPublication[];
80
- /**
81
- * Publish a new data payload to the room. Data will be forwarded to each
82
- * participant in the room if the destination argument is empty
83
- *
84
- * @param data Uint8Array of the payload. To send string data, use TextEncoder.encode
85
- * @param kind whether to send this as reliable or lossy.
86
- * For data that you need delivery guarantee (such as chat messages), use Reliable.
87
- * For data that should arrive as quickly as possible, but you are ok with dropped
88
- * packets, use Lossy.
89
- * @param destination the participants who will receive the message
90
- */
91
- publishData(data: Uint8Array, kind: DataPacket_Kind, destination?: RemoteParticipant[] | string[]): Promise<void>;
92
- /**
93
- * Control who can subscribe to LocalParticipant's published tracks.
94
- *
95
- * By default, all participants can subscribe. This allows fine-grained control over
96
- * who is able to subscribe at a participant and track level.
97
- *
98
- * Note: if access is given at a track-level (i.e. both [allParticipantsAllowed] and
99
- * [ParticipantTrackPermission.allTracksAllowed] are false), any newer published tracks
100
- * will not grant permissions to any participants and will require a subsequent
101
- * permissions update to allow subscription.
102
- *
103
- * @param allParticipantsAllowed Allows all participants to subscribe all tracks.
104
- * Takes precedence over [[participantTrackPermissions]] if set to true.
105
- * By default this is set to true.
106
- * @param participantTrackPermissions Full list of individual permissions per
107
- * participant/track. Any omitted participants will not receive any permissions.
108
- */
109
- setTrackSubscriptionPermissions(allParticipantsAllowed: boolean, participantTrackPermissions?: ParticipantTrackPermission[]): void;
110
- /** @internal */
111
- private onTrackUnmuted;
112
- /** @internal */
113
- private onTrackMuted;
114
- private onTrackUpstreamPaused;
115
- private onTrackUpstreamResumed;
116
- private handleSubscribedQualityUpdate;
117
- private handleLocalTrackUnpublished;
118
- private onTrackUnpublish;
119
- private getPublicationForTrack;
120
- private setPreferredCodec;
121
- /** @internal */
122
- publishedTracksInfo(): TrackPublishedResponse[];
123
- /** @internal */
124
- dataChannelsInfo(): DataChannelInfo[];
125
- }
1
+ import { RoomOptions } from '../../options';
2
+ import { DataPacket_Kind, ParticipantPermission } from '../../proto/livekit_models';
3
+ import { DataChannelInfo, TrackPublishedResponse } from '../../proto/livekit_rtc';
4
+ import RTCEngine from '../RTCEngine';
5
+ import LocalTrack from '../track/LocalTrack';
6
+ import LocalTrackPublication from '../track/LocalTrackPublication';
7
+ import { CreateLocalTracksOptions, ScreenShareCaptureOptions, TrackPublishOptions } from '../track/options';
8
+ import { Track } from '../track/Track';
9
+ import Participant from './Participant';
10
+ import { ParticipantTrackPermission } from './ParticipantTrackPermission';
11
+ import RemoteParticipant from './RemoteParticipant';
12
+ export default class LocalParticipant extends Participant {
13
+ audioTracks: Map<string, LocalTrackPublication>;
14
+ videoTracks: Map<string, LocalTrackPublication>;
15
+ /** map of track sid => all published tracks */
16
+ tracks: Map<string, LocalTrackPublication>;
17
+ private pendingPublishing;
18
+ private cameraError;
19
+ private microphoneError;
20
+ private engine;
21
+ private roomOptions?;
22
+ /** @internal */
23
+ constructor(sid: string, identity: string, engine: RTCEngine, options: RoomOptions);
24
+ get lastCameraError(): Error | undefined;
25
+ get lastMicrophoneError(): Error | undefined;
26
+ getTrack(source: Track.Source): LocalTrackPublication | undefined;
27
+ getTrackByName(name: string): LocalTrackPublication | undefined;
28
+ /**
29
+ * Enable or disable a participant's camera track.
30
+ *
31
+ * If a track has already published, it'll mute or unmute the track.
32
+ * Resolves with a `LocalTrackPublication` instance if successful and `undefined` otherwise
33
+ */
34
+ setCameraEnabled(enabled: boolean): Promise<LocalTrackPublication | undefined>;
35
+ /**
36
+ * Enable or disable a participant's microphone track.
37
+ *
38
+ * If a track has already published, it'll mute or unmute the track.
39
+ * Resolves with a `LocalTrackPublication` instance if successful and `undefined` otherwise
40
+ */
41
+ setMicrophoneEnabled(enabled: boolean): Promise<LocalTrackPublication | undefined>;
42
+ /**
43
+ * Start or stop sharing a participant's screen
44
+ * Resolves with a `LocalTrackPublication` instance if successful and `undefined` otherwise
45
+ */
46
+ setScreenShareEnabled(enabled: boolean): Promise<LocalTrackPublication | undefined>;
47
+ /** @internal */
48
+ setPermissions(permissions: ParticipantPermission): boolean;
49
+ /**
50
+ * Enable or disable publishing for a track by source. This serves as a simple
51
+ * way to manage the common tracks (camera, mic, or screen share).
52
+ * Resolves with LocalTrackPublication if successful and void otherwise
53
+ */
54
+ private setTrackEnabled;
55
+ /**
56
+ * Publish both camera and microphone at the same time. This is useful for
57
+ * displaying a single Permission Dialog box to the end user.
58
+ */
59
+ enableCameraAndMicrophone(): Promise<void>;
60
+ /**
61
+ * Create local camera and/or microphone tracks
62
+ * @param options
63
+ * @returns
64
+ */
65
+ createTracks(options?: CreateLocalTracksOptions): Promise<LocalTrack[]>;
66
+ /**
67
+ * Creates a screen capture tracks with getDisplayMedia().
68
+ * A LocalVideoTrack is always created and returned.
69
+ * If { audio: true }, and the browser supports audio capture, a LocalAudioTrack is also created.
70
+ */
71
+ createScreenTracks(options?: ScreenShareCaptureOptions): Promise<Array<LocalTrack>>;
72
+ /**
73
+ * Publish a new track to the room
74
+ * @param track
75
+ * @param options
76
+ */
77
+ publishTrack(track: LocalTrack | MediaStreamTrack, options?: TrackPublishOptions): Promise<LocalTrackPublication>;
78
+ unpublishTrack(track: LocalTrack | MediaStreamTrack, stopOnUnpublish?: boolean): LocalTrackPublication | undefined;
79
+ unpublishTracks(tracks: LocalTrack[] | MediaStreamTrack[]): LocalTrackPublication[];
80
+ /**
81
+ * Publish a new data payload to the room. Data will be forwarded to each
82
+ * participant in the room if the destination argument is empty
83
+ *
84
+ * @param data Uint8Array of the payload. To send string data, use TextEncoder.encode
85
+ * @param kind whether to send this as reliable or lossy.
86
+ * For data that you need delivery guarantee (such as chat messages), use Reliable.
87
+ * For data that should arrive as quickly as possible, but you are ok with dropped
88
+ * packets, use Lossy.
89
+ * @param destination the participants who will receive the message
90
+ */
91
+ publishData(data: Uint8Array, kind: DataPacket_Kind, destination?: RemoteParticipant[] | string[]): Promise<void>;
92
+ /**
93
+ * Control who can subscribe to LocalParticipant's published tracks.
94
+ *
95
+ * By default, all participants can subscribe. This allows fine-grained control over
96
+ * who is able to subscribe at a participant and track level.
97
+ *
98
+ * Note: if access is given at a track-level (i.e. both [allParticipantsAllowed] and
99
+ * [ParticipantTrackPermission.allTracksAllowed] are false), any newer published tracks
100
+ * will not grant permissions to any participants and will require a subsequent
101
+ * permissions update to allow subscription.
102
+ *
103
+ * @param allParticipantsAllowed Allows all participants to subscribe all tracks.
104
+ * Takes precedence over [[participantTrackPermissions]] if set to true.
105
+ * By default this is set to true.
106
+ * @param participantTrackPermissions Full list of individual permissions per
107
+ * participant/track. Any omitted participants will not receive any permissions.
108
+ */
109
+ setTrackSubscriptionPermissions(allParticipantsAllowed: boolean, participantTrackPermissions?: ParticipantTrackPermission[]): void;
110
+ /** @internal */
111
+ private onTrackUnmuted;
112
+ /** @internal */
113
+ private onTrackMuted;
114
+ private onTrackUpstreamPaused;
115
+ private onTrackUpstreamResumed;
116
+ private handleSubscribedQualityUpdate;
117
+ private handleLocalTrackUnpublished;
118
+ private onTrackUnpublish;
119
+ private getPublicationForTrack;
120
+ private setPreferredCodec;
121
+ /** @internal */
122
+ publishedTracksInfo(): TrackPublishedResponse[];
123
+ /** @internal */
124
+ dataChannelsInfo(): DataChannelInfo[];
125
+ }
126
+ //# sourceMappingURL=LocalParticipant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalParticipant.d.ts","sourceRoot":"","sources":["../../../src/room/participant/LocalParticipant.ts"],"names":[],"mappings":"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"}
@@ -1,93 +1,94 @@
1
- import type TypedEmitter from 'typed-emitter';
2
- import { ConnectionQuality as ProtoQuality, DataPacket_Kind, ParticipantInfo, ParticipantPermission } from '../../proto/livekit_models';
3
- import LocalTrackPublication from '../track/LocalTrackPublication';
4
- import RemoteTrackPublication from '../track/RemoteTrackPublication';
5
- import { Track } from '../track/Track';
6
- import { TrackPublication } from '../track/TrackPublication';
7
- import { RemoteTrack } from '../track/types';
8
- export declare enum ConnectionQuality {
9
- Excellent = "excellent",
10
- Good = "good",
11
- Poor = "poor",
12
- Unknown = "unknown"
13
- }
14
- declare const Participant_base: new () => TypedEmitter<ParticipantEventCallbacks>;
15
- export default class Participant extends Participant_base {
16
- protected participantInfo?: ParticipantInfo;
17
- audioTracks: Map<string, TrackPublication>;
18
- videoTracks: Map<string, TrackPublication>;
19
- /** map of track sid => all published tracks */
20
- tracks: Map<string, TrackPublication>;
21
- /** audio level between 0-1.0, 1 being loudest, 0 being softest */
22
- audioLevel: number;
23
- /** if participant is currently speaking */
24
- isSpeaking: boolean;
25
- /** server assigned unique id */
26
- sid: string;
27
- /** client assigned identity, encoded in JWT token */
28
- identity: string;
29
- /** client assigned display name, encoded in JWT token */
30
- name?: string;
31
- /** client metadata, opaque to livekit */
32
- metadata?: string;
33
- lastSpokeAt?: Date | undefined;
34
- permissions?: ParticipantPermission;
35
- private _connectionQuality;
36
- /** @internal */
37
- constructor(sid: string, identity: string);
38
- getTracks(): TrackPublication[];
39
- /**
40
- * Finds the first track that matches the source filter, for example, getting
41
- * the user's camera track with getTrackBySource(Track.Source.Camera).
42
- * @param source
43
- * @returns
44
- */
45
- getTrack(source: Track.Source): TrackPublication | undefined;
46
- /**
47
- * Finds the first track that matches the track's name.
48
- * @param name
49
- * @returns
50
- */
51
- getTrackByName(name: string): TrackPublication | undefined;
52
- get connectionQuality(): ConnectionQuality;
53
- get isCameraEnabled(): boolean;
54
- get isMicrophoneEnabled(): boolean;
55
- get isScreenShareEnabled(): boolean;
56
- /** when participant joined the room */
57
- get joinedAt(): Date | undefined;
58
- /** @internal */
59
- updateInfo(info: ParticipantInfo): void;
60
- /** @internal */
61
- setMetadata(md: string): void;
62
- /** @internal */
63
- setPermissions(permissions: ParticipantPermission): boolean;
64
- /** @internal */
65
- setIsSpeaking(speaking: boolean): void;
66
- /** @internal */
67
- setConnectionQuality(q: ProtoQuality): void;
68
- protected addTrackPublication(publication: TrackPublication): void;
69
- }
70
- export declare type ParticipantEventCallbacks = {
71
- trackPublished: (publication: RemoteTrackPublication) => void;
72
- trackSubscribed: (track: RemoteTrack, publication: RemoteTrackPublication) => void;
73
- trackSubscriptionFailed: (trackSid: string) => void;
74
- trackUnpublished: (publication: RemoteTrackPublication) => void;
75
- trackUnsubscribed: (track: RemoteTrack, publication: RemoteTrackPublication) => void;
76
- trackMuted: (publication: TrackPublication) => void;
77
- trackUnmuted: (publication: TrackPublication) => void;
78
- localTrackPublished: (publication: LocalTrackPublication) => void;
79
- localTrackUnpublished: (publication: LocalTrackPublication) => void;
80
- /**
81
- * @deprecated use [[participantMetadataChanged]] instead
82
- */
83
- metadataChanged: (prevMetadata: string | undefined, participant?: any) => void;
84
- participantMetadataChanged: (prevMetadata: string | undefined, participant?: any) => void;
85
- dataReceived: (payload: Uint8Array, kind: DataPacket_Kind) => void;
86
- isSpeakingChanged: (speaking: boolean) => void;
87
- connectionQualityChanged: (connectionQuality: ConnectionQuality) => void;
88
- trackStreamStateChanged: (publication: RemoteTrackPublication, streamState: Track.StreamState) => void;
89
- trackSubscriptionPermissionChanged: (publication: RemoteTrackPublication, status: TrackPublication.SubscriptionStatus) => void;
90
- mediaDevicesError: (error: Error) => void;
91
- participantPermissionsChanged: (prevPermissions: ParticipantPermission) => void;
92
- };
93
- export {};
1
+ import type TypedEmitter from 'typed-emitter';
2
+ import { ConnectionQuality as ProtoQuality, DataPacket_Kind, ParticipantInfo, ParticipantPermission } from '../../proto/livekit_models';
3
+ import LocalTrackPublication from '../track/LocalTrackPublication';
4
+ import RemoteTrackPublication from '../track/RemoteTrackPublication';
5
+ import { Track } from '../track/Track';
6
+ import { TrackPublication } from '../track/TrackPublication';
7
+ import { RemoteTrack } from '../track/types';
8
+ export declare enum ConnectionQuality {
9
+ Excellent = "excellent",
10
+ Good = "good",
11
+ Poor = "poor",
12
+ Unknown = "unknown"
13
+ }
14
+ declare const Participant_base: new () => TypedEmitter<ParticipantEventCallbacks>;
15
+ export default class Participant extends Participant_base {
16
+ protected participantInfo?: ParticipantInfo;
17
+ audioTracks: Map<string, TrackPublication>;
18
+ videoTracks: Map<string, TrackPublication>;
19
+ /** map of track sid => all published tracks */
20
+ tracks: Map<string, TrackPublication>;
21
+ /** audio level between 0-1.0, 1 being loudest, 0 being softest */
22
+ audioLevel: number;
23
+ /** if participant is currently speaking */
24
+ isSpeaking: boolean;
25
+ /** server assigned unique id */
26
+ sid: string;
27
+ /** client assigned identity, encoded in JWT token */
28
+ identity: string;
29
+ /** client assigned display name, encoded in JWT token */
30
+ name?: string;
31
+ /** client metadata, opaque to livekit */
32
+ metadata?: string;
33
+ lastSpokeAt?: Date | undefined;
34
+ permissions?: ParticipantPermission;
35
+ private _connectionQuality;
36
+ /** @internal */
37
+ constructor(sid: string, identity: string);
38
+ getTracks(): TrackPublication[];
39
+ /**
40
+ * Finds the first track that matches the source filter, for example, getting
41
+ * the user's camera track with getTrackBySource(Track.Source.Camera).
42
+ * @param source
43
+ * @returns
44
+ */
45
+ getTrack(source: Track.Source): TrackPublication | undefined;
46
+ /**
47
+ * Finds the first track that matches the track's name.
48
+ * @param name
49
+ * @returns
50
+ */
51
+ getTrackByName(name: string): TrackPublication | undefined;
52
+ get connectionQuality(): ConnectionQuality;
53
+ get isCameraEnabled(): boolean;
54
+ get isMicrophoneEnabled(): boolean;
55
+ get isScreenShareEnabled(): boolean;
56
+ /** when participant joined the room */
57
+ get joinedAt(): Date | undefined;
58
+ /** @internal */
59
+ updateInfo(info: ParticipantInfo): void;
60
+ /** @internal */
61
+ setMetadata(md: string): void;
62
+ /** @internal */
63
+ setPermissions(permissions: ParticipantPermission): boolean;
64
+ /** @internal */
65
+ setIsSpeaking(speaking: boolean): void;
66
+ /** @internal */
67
+ setConnectionQuality(q: ProtoQuality): void;
68
+ protected addTrackPublication(publication: TrackPublication): void;
69
+ }
70
+ export declare type ParticipantEventCallbacks = {
71
+ trackPublished: (publication: RemoteTrackPublication) => void;
72
+ trackSubscribed: (track: RemoteTrack, publication: RemoteTrackPublication) => void;
73
+ trackSubscriptionFailed: (trackSid: string) => void;
74
+ trackUnpublished: (publication: RemoteTrackPublication) => void;
75
+ trackUnsubscribed: (track: RemoteTrack, publication: RemoteTrackPublication) => void;
76
+ trackMuted: (publication: TrackPublication) => void;
77
+ trackUnmuted: (publication: TrackPublication) => void;
78
+ localTrackPublished: (publication: LocalTrackPublication) => void;
79
+ localTrackUnpublished: (publication: LocalTrackPublication) => void;
80
+ /**
81
+ * @deprecated use [[participantMetadataChanged]] instead
82
+ */
83
+ metadataChanged: (prevMetadata: string | undefined, participant?: any) => void;
84
+ participantMetadataChanged: (prevMetadata: string | undefined, participant?: any) => void;
85
+ dataReceived: (payload: Uint8Array, kind: DataPacket_Kind) => void;
86
+ isSpeakingChanged: (speaking: boolean) => void;
87
+ connectionQualityChanged: (connectionQuality: ConnectionQuality) => void;
88
+ trackStreamStateChanged: (publication: RemoteTrackPublication, streamState: Track.StreamState) => void;
89
+ trackSubscriptionPermissionChanged: (publication: RemoteTrackPublication, status: TrackPublication.SubscriptionStatus) => void;
90
+ mediaDevicesError: (error: Error) => void;
91
+ participantPermissionsChanged: (prevPermissions: ParticipantPermission) => void;
92
+ };
93
+ export {};
94
+ //# sourceMappingURL=Participant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Participant.d.ts","sourceRoot":"","sources":["../../../src/room/participant/Participant.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,26 @@
1
- import { TrackPermission } from '../../proto/livekit_rtc';
2
- export interface ParticipantTrackPermission {
3
- /**
4
- * The participant id this permission applies to.
5
- */
6
- participantSid: string;
7
- /**
8
- * Grant permission to all all tracks. Takes precedence over allowedTrackSids.
9
- * false if unset.
10
- */
11
- allowAll?: boolean;
12
- /**
13
- * The list of track ids that the target participant can subscribe to.
14
- * When unset, it'll allow all tracks to be subscribed by the participant.
15
- * When empty, this participant is disallowed from subscribing to any tracks.
16
- */
17
- allowedTrackSids?: string[];
18
- }
19
- export declare function trackPermissionToProto(perms: ParticipantTrackPermission): TrackPermission;
1
+ import { TrackPermission } from '../../proto/livekit_rtc';
2
+ export interface ParticipantTrackPermission {
3
+ /**
4
+ * The participant identity this permission applies to.
5
+ * You can either provide this or `participantSid`
6
+ */
7
+ participantIdentity?: string;
8
+ /**
9
+ * The participant server id this permission applies to.
10
+ * You can either provide this or `participantIdentity`
11
+ */
12
+ participantSid?: string;
13
+ /**
14
+ * Grant permission to all all tracks. Takes precedence over allowedTrackSids.
15
+ * false if unset.
16
+ */
17
+ allowAll?: boolean;
18
+ /**
19
+ * The list of track ids that the target participant can subscribe to.
20
+ * When unset, it'll allow all tracks to be subscribed by the participant.
21
+ * When empty, this participant is disallowed from subscribing to any tracks.
22
+ */
23
+ allowedTrackSids?: string[];
24
+ }
25
+ export declare function trackPermissionToProto(perms: ParticipantTrackPermission): TrackPermission;
26
+ //# sourceMappingURL=ParticipantTrackPermission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParticipantTrackPermission.d.ts","sourceRoot":"","sources":["../../../src/room/participant/ParticipantTrackPermission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,0BAA0B,GAAG,eAAe,CAYzF"}
@@ -1,39 +1,40 @@
1
- import { SignalClient } from '../../api/SignalClient';
2
- import { ParticipantInfo } from '../../proto/livekit_models';
3
- import RemoteTrackPublication from '../track/RemoteTrackPublication';
4
- import { Track } from '../track/Track';
5
- import { AdaptiveStreamSettings } from '../track/types';
6
- import Participant, { ParticipantEventCallbacks } from './Participant';
7
- export default class RemoteParticipant extends Participant {
8
- audioTracks: Map<string, RemoteTrackPublication>;
9
- videoTracks: Map<string, RemoteTrackPublication>;
10
- tracks: Map<string, RemoteTrackPublication>;
11
- signalClient: SignalClient;
12
- /** @internal */
13
- static fromParticipantInfo(signalClient: SignalClient, pi: ParticipantInfo): RemoteParticipant;
14
- /** @internal */
15
- constructor(signalClient: SignalClient, id: string, name?: string);
16
- protected addTrackPublication(publication: RemoteTrackPublication): void;
17
- getTrack(source: Track.Source): RemoteTrackPublication | undefined;
18
- getTrackByName(name: string): RemoteTrackPublication | undefined;
19
- /**
20
- * sets the volume on the participant's microphone track if it exists.
21
- */
22
- setVolume(volume: number): void;
23
- /**
24
- * gets the volume on the participant's microphone track
25
- * returns undefined if no microphone track exists
26
- */
27
- getVolume(): number | undefined;
28
- /** @internal */
29
- addSubscribedMediaTrack(mediaTrack: MediaStreamTrack, sid: Track.SID, mediaStream: MediaStream, receiver?: RTCRtpReceiver, adaptiveStreamSettings?: AdaptiveStreamSettings, triesLeft?: number): RemoteTrackPublication | undefined;
30
- /** @internal */
31
- get hasMetadata(): boolean;
32
- getTrackPublication(sid: Track.SID): RemoteTrackPublication | undefined;
33
- /** @internal */
34
- updateInfo(info: ParticipantInfo): void;
35
- /** @internal */
36
- unpublishTrack(sid: Track.SID, sendUnpublish?: boolean): void;
37
- /** @internal */
38
- emit<E extends keyof ParticipantEventCallbacks>(event: E, ...args: Parameters<ParticipantEventCallbacks[E]>): boolean;
39
- }
1
+ import { SignalClient } from '../../api/SignalClient';
2
+ import { ParticipantInfo } from '../../proto/livekit_models';
3
+ import RemoteTrackPublication from '../track/RemoteTrackPublication';
4
+ import { Track } from '../track/Track';
5
+ import { AdaptiveStreamSettings } from '../track/types';
6
+ import Participant, { ParticipantEventCallbacks } from './Participant';
7
+ export default class RemoteParticipant extends Participant {
8
+ audioTracks: Map<string, RemoteTrackPublication>;
9
+ videoTracks: Map<string, RemoteTrackPublication>;
10
+ tracks: Map<string, RemoteTrackPublication>;
11
+ signalClient: SignalClient;
12
+ /** @internal */
13
+ static fromParticipantInfo(signalClient: SignalClient, pi: ParticipantInfo): RemoteParticipant;
14
+ /** @internal */
15
+ constructor(signalClient: SignalClient, id: string, name?: string);
16
+ protected addTrackPublication(publication: RemoteTrackPublication): void;
17
+ getTrack(source: Track.Source): RemoteTrackPublication | undefined;
18
+ getTrackByName(name: string): RemoteTrackPublication | undefined;
19
+ /**
20
+ * sets the volume on the participant's microphone track if it exists.
21
+ */
22
+ setVolume(volume: number): void;
23
+ /**
24
+ * gets the volume on the participant's microphone track
25
+ * returns undefined if no microphone track exists
26
+ */
27
+ getVolume(): number | undefined;
28
+ /** @internal */
29
+ addSubscribedMediaTrack(mediaTrack: MediaStreamTrack, sid: Track.SID, mediaStream: MediaStream, receiver?: RTCRtpReceiver, adaptiveStreamSettings?: AdaptiveStreamSettings, triesLeft?: number): RemoteTrackPublication | undefined;
30
+ /** @internal */
31
+ get hasMetadata(): boolean;
32
+ getTrackPublication(sid: Track.SID): RemoteTrackPublication | undefined;
33
+ /** @internal */
34
+ updateInfo(info: ParticipantInfo): void;
35
+ /** @internal */
36
+ unpublishTrack(sid: Track.SID, sendUnpublish?: boolean): void;
37
+ /** @internal */
38
+ emit<E extends keyof ParticipantEventCallbacks>(event: E, ...args: Parameters<ParticipantEventCallbacks[E]>): boolean;
39
+ }
40
+ //# sourceMappingURL=RemoteParticipant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoteParticipant.d.ts","sourceRoot":"","sources":["../../../src/room/participant/RemoteParticipant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAI7D,OAAO,sBAAsB,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAe,MAAM,gBAAgB,CAAC;AACrE,OAAO,WAAW,EAAE,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAEvE,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,WAAW;IACxD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAEjD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAEjD,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAE5C,YAAY,EAAE,YAAY,CAAC;IAE3B,gBAAgB;IAChB,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,GAAG,iBAAiB;IAM9F,gBAAgB;gBACJ,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAQjE,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,sBAAsB;IAkBjE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAOlE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAOhE;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM;IAOxB;;;OAGG;IACH,SAAS;IAOT,gBAAgB;IAChB,uBAAuB,CACrB,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,WAAW,EAAE,WAAW,EACxB,QAAQ,CAAC,EAAE,cAAc,EACzB,sBAAsB,CAAC,EAAE,sBAAsB,EAC/C,SAAS,CAAC,EAAE,MAAM;IAgEpB,gBAAgB;IAChB,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,sBAAsB,GAAG,SAAS;IAIvE,gBAAgB;IAChB,UAAU,CAAC,IAAI,EAAE,eAAe;IA8ChC,gBAAgB;IAChB,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,OAAO;IAoCtD,gBAAgB;IAChB,IAAI,CAAC,CAAC,SAAS,MAAM,yBAAyB,EAC5C,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,GAChD,OAAO;CAIX"}