livekit-client 0.17.3 → 0.17.6-rc1
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/CHANGELOG.md +1 -1
- package/README.md +26 -20
- package/dist/api/SignalClient.d.ts +1 -0
- package/dist/connect.d.ts +2 -0
- package/dist/index.d.ts +2 -2
- package/dist/livekit-client.esm.js +17344 -0
- package/dist/livekit-client.esm.js.map +1 -0
- package/dist/livekit-client.umd.js +17388 -0
- package/dist/livekit-client.umd.js.map +1 -0
- package/dist/logger.d.ts +22 -11
- package/dist/options.d.ts +4 -2
- package/dist/proto/google/protobuf/timestamp.d.ts +12 -2
- package/dist/proto/livekit_models.d.ts +524 -17
- package/dist/proto/livekit_rtc.d.ts +3449 -31
- package/dist/room/DeviceManager.d.ts +1 -1
- package/dist/room/RTCEngine.d.ts +1 -1
- package/dist/room/Room.d.ts +2 -2
- package/dist/room/events.d.ts +1 -1
- package/dist/room/participant/LocalParticipant.d.ts +9 -5
- package/dist/room/participant/RemoteParticipant.d.ts +9 -0
- package/dist/room/track/RemoteAudioTrack.d.ts +11 -0
- package/dist/room/track/options.d.ts +1 -1
- package/dist/test/mocks.d.ts +11 -0
- package/dist/version.d.ts +1 -1
- package/package.json +41 -16
- package/.eslintrc.js +0 -17
- package/.gitmodules +0 -3
- package/dist/api/RequestQueue.js +0 -61
- package/dist/api/RequestQueue.js.map +0 -1
- package/dist/api/SignalClient.js +0 -428
- package/dist/api/SignalClient.js.map +0 -1
- package/dist/connect.js +0 -130
- package/dist/connect.js.map +0 -1
- package/dist/index.js +0 -71
- package/dist/index.js.map +0 -1
- package/dist/logger.js +0 -24
- package/dist/logger.js.map +0 -1
- package/dist/options.js +0 -3
- package/dist/options.js.map +0 -1
- package/dist/proto/google/protobuf/timestamp.js +0 -93
- package/dist/proto/google/protobuf/timestamp.js.map +0 -1
- package/dist/proto/livekit_models.js +0 -2688
- package/dist/proto/livekit_models.js.map +0 -1
- package/dist/proto/livekit_rtc.js +0 -2995
- package/dist/proto/livekit_rtc.js.map +0 -1
- package/dist/room/DeviceManager.js +0 -62
- package/dist/room/DeviceManager.js.map +0 -1
- package/dist/room/PCTransport.js +0 -91
- package/dist/room/PCTransport.js.map +0 -1
- package/dist/room/RTCEngine.js +0 -562
- package/dist/room/RTCEngine.js.map +0 -1
- package/dist/room/Room.js +0 -759
- package/dist/room/Room.js.map +0 -1
- package/dist/room/errors.js +0 -68
- package/dist/room/errors.js.map +0 -1
- package/dist/room/events.js +0 -385
- package/dist/room/events.js.map +0 -1
- package/dist/room/participant/LocalParticipant.js +0 -647
- package/dist/room/participant/LocalParticipant.js.map +0 -1
- package/dist/room/participant/Participant.js +0 -189
- package/dist/room/participant/Participant.js.map +0 -1
- package/dist/room/participant/ParticipantTrackPermission.js +0 -16
- package/dist/room/participant/ParticipantTrackPermission.js.map +0 -1
- package/dist/room/participant/RemoteParticipant.js +0 -194
- package/dist/room/participant/RemoteParticipant.js.map +0 -1
- package/dist/room/participant/publishUtils.js +0 -189
- package/dist/room/participant/publishUtils.js.map +0 -1
- package/dist/room/participant/publishUtils.test.d.ts +0 -1
- package/dist/room/participant/publishUtils.test.js +0 -118
- package/dist/room/participant/publishUtils.test.js.map +0 -1
- package/dist/room/stats.js +0 -26
- package/dist/room/stats.js.map +0 -1
- package/dist/room/track/LocalAudioTrack.js +0 -153
- package/dist/room/track/LocalAudioTrack.js.map +0 -1
- package/dist/room/track/LocalTrack.js +0 -158
- package/dist/room/track/LocalTrack.js.map +0 -1
- package/dist/room/track/LocalTrackPublication.js +0 -64
- package/dist/room/track/LocalTrackPublication.js.map +0 -1
- package/dist/room/track/LocalVideoTrack.js +0 -297
- package/dist/room/track/LocalVideoTrack.js.map +0 -1
- package/dist/room/track/LocalVideoTrack.test.d.ts +0 -1
- package/dist/room/track/LocalVideoTrack.test.js +0 -68
- package/dist/room/track/LocalVideoTrack.test.js.map +0 -1
- package/dist/room/track/RemoteAudioTrack.js +0 -64
- package/dist/room/track/RemoteAudioTrack.js.map +0 -1
- package/dist/room/track/RemoteTrack.js +0 -49
- package/dist/room/track/RemoteTrack.js.map +0 -1
- package/dist/room/track/RemoteTrackPublication.js +0 -178
- package/dist/room/track/RemoteTrackPublication.js.map +0 -1
- package/dist/room/track/RemoteVideoTrack.js +0 -201
- package/dist/room/track/RemoteVideoTrack.js.map +0 -1
- package/dist/room/track/Track.js +0 -276
- package/dist/room/track/Track.js.map +0 -1
- package/dist/room/track/TrackPublication.js +0 -92
- package/dist/room/track/TrackPublication.js.map +0 -1
- package/dist/room/track/create.js +0 -131
- package/dist/room/track/create.js.map +0 -1
- package/dist/room/track/defaults.js +0 -21
- package/dist/room/track/defaults.js.map +0 -1
- package/dist/room/track/options.js +0 -100
- package/dist/room/track/options.js.map +0 -1
- package/dist/room/track/types.js +0 -3
- package/dist/room/track/types.js.map +0 -1
- package/dist/room/track/utils.js +0 -113
- package/dist/room/track/utils.js.map +0 -1
- package/dist/room/track/utils.test.d.ts +0 -1
- package/dist/room/track/utils.test.js +0 -85
- package/dist/room/track/utils.test.js.map +0 -1
- package/dist/room/utils.js +0 -79
- package/dist/room/utils.js.map +0 -1
- package/dist/version.js +0 -6
- package/dist/version.js.map +0 -1
- package/jest.config.js +0 -6
- package/src/api/RequestQueue.ts +0 -53
- package/src/api/SignalClient.ts +0 -499
- package/src/connect.ts +0 -100
- package/src/index.ts +0 -47
- package/src/logger.ts +0 -22
- package/src/options.ts +0 -149
- package/src/proto/google/protobuf/timestamp.ts +0 -222
- package/src/proto/livekit_models.ts +0 -3019
- package/src/proto/livekit_rtc.ts +0 -3677
- package/src/room/DeviceManager.ts +0 -57
- package/src/room/PCTransport.ts +0 -86
- package/src/room/RTCEngine.ts +0 -652
- package/src/room/Room.ts +0 -943
- package/src/room/errors.ts +0 -65
- package/src/room/events.ts +0 -424
- package/src/room/participant/LocalParticipant.ts +0 -734
- package/src/room/participant/Participant.ts +0 -269
- package/src/room/participant/ParticipantTrackPermission.ts +0 -32
- package/src/room/participant/RemoteParticipant.ts +0 -243
- package/src/room/participant/publishUtils.test.ts +0 -145
- package/src/room/participant/publishUtils.ts +0 -225
- package/src/room/stats.ts +0 -130
- package/src/room/track/LocalAudioTrack.ts +0 -137
- package/src/room/track/LocalTrack.ts +0 -161
- package/src/room/track/LocalTrackPublication.ts +0 -66
- package/src/room/track/LocalVideoTrack.test.ts +0 -70
- package/src/room/track/LocalVideoTrack.ts +0 -293
- package/src/room/track/RemoteAudioTrack.ts +0 -58
- package/src/room/track/RemoteTrack.ts +0 -62
- package/src/room/track/RemoteTrackPublication.ts +0 -198
- package/src/room/track/RemoteVideoTrack.ts +0 -235
- package/src/room/track/Track.ts +0 -337
- package/src/room/track/TrackPublication.ts +0 -120
- package/src/room/track/create.ts +0 -121
- package/src/room/track/defaults.ts +0 -23
- package/src/room/track/options.ts +0 -281
- package/src/room/track/types.ts +0 -20
- package/src/room/track/utils.test.ts +0 -93
- package/src/room/track/utils.ts +0 -115
- package/src/room/utils.ts +0 -70
- package/src/version.ts +0 -2
- package/tsconfig.eslint.json +0 -11
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
@@ -56,16 +56,16 @@ const room = new Room({
|
|
56
56
|
// default capture settings
|
57
57
|
videoCaptureDefaults: {
|
58
58
|
resolution: VideoPresets.hd.resolution,
|
59
|
-
}
|
59
|
+
},
|
60
60
|
});
|
61
61
|
|
62
62
|
// set up event listeners
|
63
63
|
room
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
64
|
+
.on(RoomEvent.TrackSubscribed, handleTrackSubscribed)
|
65
|
+
.on(RoomEvent.TrackUnsubscribed, handleTrackUnsubscribed)
|
66
|
+
.on(RoomEvent.ActiveSpeakersChanged, handleActiveSpeakerChange)
|
67
|
+
.on(RoomEvent.Disconnected, handleDisconnect)
|
68
|
+
.on(RoomEvent.LocalTrackUnpublished, handleLocalTrackUnpublished);
|
69
69
|
|
70
70
|
// connect to room
|
71
71
|
await room.connect('ws://localhost:7800', token, {
|
@@ -80,7 +80,7 @@ await room.localParticipant.enableCameraAndMicrophone();
|
|
80
80
|
function handleTrackSubscribed(
|
81
81
|
track: RemoteTrack,
|
82
82
|
publication: RemoteTrackPublication,
|
83
|
-
participant: RemoteParticipant
|
83
|
+
participant: RemoteParticipant,
|
84
84
|
) {
|
85
85
|
if (track.kind === Track.Kind.Video || track.kind === Track.Kind.Audio) {
|
86
86
|
// attach it to a new HTMLVideoElement or HTMLAudioElement
|
@@ -92,16 +92,13 @@ function handleTrackSubscribed(
|
|
92
92
|
function handleTrackUnsubscribed(
|
93
93
|
track: RemoteTrack,
|
94
94
|
publication: RemoteTrackPublication,
|
95
|
-
participant: RemoteParticipant
|
95
|
+
participant: RemoteParticipant,
|
96
96
|
) {
|
97
97
|
// remove tracks from all attached elements
|
98
98
|
track.detach();
|
99
99
|
}
|
100
100
|
|
101
|
-
function handleLocalTrackUnpublished(
|
102
|
-
track: LocalTrackPublication,
|
103
|
-
participant: LocalParticipant,
|
104
|
-
) {
|
101
|
+
function handleLocalTrackUnpublished(track: LocalTrackPublication, participant: LocalParticipant) {
|
105
102
|
// when local tracks are ended, update UI to remove them from rendering
|
106
103
|
track.detach();
|
107
104
|
}
|
@@ -148,7 +145,7 @@ if (p) {
|
|
148
145
|
if (p.isCameraEnabled) {
|
149
146
|
const track = p.getTrack(Track.Source.Camera);
|
150
147
|
if (track?.isSubscribed) {
|
151
|
-
const videoElement = track.videoTrack?.attach()
|
148
|
+
const videoElement = track.videoTrack?.attach();
|
152
149
|
// do something with the element
|
153
150
|
}
|
154
151
|
}
|
@@ -174,19 +171,18 @@ const tracks = await createLocalTracks({
|
|
174
171
|
LiveKit lets you publish any track as long as it can be represented by a MediaStreamTrack. You can specify a name on the track in order to identify it later.
|
175
172
|
|
176
173
|
```typescript
|
177
|
-
|
178
174
|
const pub = await room.localParticipant.publishTrack(mediaStreamTrack, {
|
179
175
|
name: 'mytrack',
|
180
176
|
simulcast: true,
|
181
177
|
// if this should be treated like a camera feed, tag it as such
|
182
178
|
// supported known sources are .Camera, .Microphone, .ScreenShare
|
183
179
|
source: Track.Source.Camera,
|
184
|
-
})
|
180
|
+
});
|
185
181
|
|
186
182
|
// you may mute or unpublish the track later
|
187
183
|
pub.setMuted(true);
|
188
184
|
|
189
|
-
room.localParticipant.unpublishTrack(mediaStreamTrack)
|
185
|
+
room.localParticipant.unpublishTrack(mediaStreamTrack);
|
190
186
|
```
|
191
187
|
|
192
188
|
### Device management APIs
|
@@ -202,7 +198,7 @@ We use the same deviceId as one returned by [MediaDevices.enumerateDevices()](ht
|
|
202
198
|
const devices = await Room.getLocalDevices('audioinput');
|
203
199
|
|
204
200
|
// select last device
|
205
|
-
const device = devices[devices.length-1];
|
201
|
+
const device = devices[devices.length - 1];
|
206
202
|
|
207
203
|
// in the current room, switch to the selected device and set
|
208
204
|
// it as default audioinput in the future.
|
@@ -223,9 +219,9 @@ When creating tracks using LiveKit APIs (`connect`, `createLocalTracks`, `setCam
|
|
223
219
|
|
224
220
|
You can use the helper `MediaDeviceFailure.getFailure(error)` to determine specific reason for the error.
|
225
221
|
|
226
|
-
|
227
|
-
|
228
|
-
|
222
|
+
- `PermissionDenied` - the user disallowed capturing devices
|
223
|
+
- `NotFound` - the particular device isn't available
|
224
|
+
- `DeviceInUse` - device is in use by another process (happens on Windows)
|
229
225
|
|
230
226
|
These distinctions enables you to provide more specific messaging to the user.
|
231
227
|
|
@@ -258,6 +254,16 @@ room.on(RoomEvent.AudioPlaybackStatusChanged, () => {
|
|
258
254
|
### Configuring logging
|
259
255
|
|
260
256
|
This library uses [loglevel](https://github.com/pimterry/loglevel) for its internal logs. You can change the effective log level with the `logLevel` field in `ConnectOptions`.
|
257
|
+
The method `setLogExtension` allows to hook into the livekit internal logs and send them to some third party logging service
|
258
|
+
|
259
|
+
```ts
|
260
|
+
setLogExtension((level: LogLevel, msg: string, context: object) => {
|
261
|
+
const enhancedContext = { ...context, timeStamp: Date.now() };
|
262
|
+
if (level >= LogLevel.debug) {
|
263
|
+
console.log(level, msg, enhancedContext);
|
264
|
+
}
|
265
|
+
});
|
266
|
+
```
|
261
267
|
|
262
268
|
## Examples
|
263
269
|
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { ParticipantInfo, Room, SpeakerInfo, VideoLayer } from '../proto/livekit_models';
|
2
2
|
import { AddTrackRequest, ConnectionQualityUpdate, JoinResponse, LeaveRequest, SessionDescription, SignalRequest, SignalTarget, SimulateScenario, StreamStateUpdate, SubscribedQualityUpdate, SubscriptionPermissionUpdate, SyncState, TrackPermission, TrackPublishedResponse, TrackUnpublishedResponse, UpdateSubscription, UpdateTrackSettings } from '../proto/livekit_rtc';
|
3
3
|
import Queue from './RequestQueue';
|
4
|
+
import 'webrtc-adapter';
|
4
5
|
interface ConnectOpts {
|
5
6
|
autoSubscribe?: boolean;
|
6
7
|
/** internal */
|
package/dist/connect.d.ts
CHANGED
@@ -2,6 +2,8 @@ import { ConnectOptions } from './options';
|
|
2
2
|
import Room from './room/Room';
|
3
3
|
export { version } from './version';
|
4
4
|
/**
|
5
|
+
* @deprecated Use room.connect() instead
|
6
|
+
*
|
5
7
|
* Connects to a LiveKit room, shorthand for `new Room()` and [[Room.connect]]
|
6
8
|
*
|
7
9
|
* ```typescript
|
package/dist/index.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { setLogLevel } from './logger';
|
1
|
+
import { setLogLevel, setLogExtension } from './logger';
|
2
2
|
import { DataPacket_Kind, VideoQuality } from './proto/livekit_models';
|
3
3
|
import LocalParticipant from './room/participant/LocalParticipant';
|
4
4
|
import Participant, { ConnectionQuality } from './room/participant/Participant';
|
@@ -23,4 +23,4 @@ export * from './room/track/options';
|
|
23
23
|
export * from './room/track/Track';
|
24
24
|
export * from './room/track/types';
|
25
25
|
export * from './version';
|
26
|
-
export { setLogLevel, Room, RoomState, DataPacket_Kind, Participant, RemoteParticipant, LocalParticipant, LocalAudioTrack, LocalVideoTrack, LocalTrack, LocalTrackPublication, RemoteTrack, RemoteAudioTrack, RemoteVideoTrack, RemoteTrackPublication, ParticipantTrackPermission, TrackPublication, VideoQuality, ConnectionQuality, };
|
26
|
+
export { setLogLevel, setLogExtension, Room, RoomState, DataPacket_Kind, Participant, RemoteParticipant, LocalParticipant, LocalAudioTrack, LocalVideoTrack, LocalTrack, LocalTrackPublication, RemoteTrack, RemoteAudioTrack, RemoteVideoTrack, RemoteTrackPublication, ParticipantTrackPermission, TrackPublication, VideoQuality, ConnectionQuality, };
|