livekit-client 0.14.0 → 0.15.0
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/.github/workflows/{lint.yaml → test.yaml} +7 -4
- package/README.md +27 -12
- package/dist/api/SignalClient.d.ts +4 -31
- package/dist/api/SignalClient.js +25 -7
- package/dist/api/SignalClient.js.map +1 -1
- package/dist/connect.d.ts +1 -1
- package/dist/connect.js +70 -56
- package/dist/connect.js.map +1 -1
- package/dist/index.d.ts +3 -4
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +10 -0
- package/dist/logger.js +14 -0
- package/dist/logger.js.map +1 -1
- package/dist/options.d.ts +77 -12
- package/dist/options.js +0 -10
- package/dist/options.js.map +1 -1
- package/dist/proto/livekit_models.d.ts +28 -1
- package/dist/proto/livekit_models.js +194 -3
- package/dist/proto/livekit_models.js.map +1 -1
- package/dist/proto/livekit_rtc.d.ts +49 -7
- package/dist/proto/livekit_rtc.js +303 -28
- package/dist/proto/livekit_rtc.js.map +1 -1
- package/dist/room/RTCEngine.d.ts +2 -2
- package/dist/room/RTCEngine.js +6 -4
- package/dist/room/RTCEngine.js.map +1 -1
- package/dist/room/Room.d.ts +12 -14
- package/dist/room/Room.js +78 -45
- package/dist/room/Room.js.map +1 -1
- package/dist/room/events.d.ts +98 -1
- package/dist/room/events.js +97 -0
- package/dist/room/events.js.map +1 -1
- package/dist/room/participant/LocalParticipant.d.ts +27 -9
- package/dist/room/participant/LocalParticipant.js +194 -155
- package/dist/room/participant/LocalParticipant.js.map +1 -1
- package/dist/room/participant/Participant.js +6 -2
- package/dist/room/participant/Participant.js.map +1 -1
- package/dist/room/participant/RemoteParticipant.d.ts +1 -1
- package/dist/room/participant/RemoteParticipant.js +6 -5
- package/dist/room/participant/RemoteParticipant.js.map +1 -1
- package/dist/room/participant/publishUtils.d.ts +11 -0
- package/dist/room/participant/publishUtils.js +148 -0
- package/dist/room/participant/publishUtils.js.map +1 -0
- package/dist/room/participant/publishUtils.test.d.ts +1 -0
- package/dist/room/participant/publishUtils.test.js +79 -0
- package/dist/room/participant/publishUtils.test.js.map +1 -0
- package/dist/room/track/LocalAudioTrack.d.ts +4 -3
- package/dist/room/track/LocalAudioTrack.js +5 -3
- package/dist/room/track/LocalAudioTrack.js.map +1 -1
- package/dist/room/track/LocalTrack.d.ts +1 -3
- package/dist/room/track/LocalTrack.js +2 -49
- package/dist/room/track/LocalTrack.js.map +1 -1
- package/dist/room/track/LocalVideoTrack.d.ts +6 -4
- package/dist/room/track/LocalVideoTrack.js +41 -12
- package/dist/room/track/LocalVideoTrack.js.map +1 -1
- package/dist/room/track/LocalVideoTrack.test.d.ts +1 -0
- package/dist/room/track/LocalVideoTrack.test.js +68 -0
- package/dist/room/track/LocalVideoTrack.test.js.map +1 -0
- package/dist/room/track/RemoteTrackPublication.d.ts +10 -4
- package/dist/room/track/RemoteTrackPublication.js +60 -4
- package/dist/room/track/RemoteTrackPublication.js.map +1 -1
- package/dist/room/track/RemoteVideoTrack.d.ts +15 -1
- package/dist/room/track/RemoteVideoTrack.js +98 -1
- package/dist/room/track/RemoteVideoTrack.js.map +1 -1
- package/dist/room/track/Track.d.ts +15 -2
- package/dist/room/track/Track.js +6 -2
- package/dist/room/track/Track.js.map +1 -1
- package/dist/room/track/options.d.ts +15 -65
- package/dist/room/track/options.js +14 -13
- package/dist/room/track/options.js.map +1 -1
- package/dist/room/track/utils.d.ts +3 -0
- package/dist/room/track/utils.js +68 -0
- package/dist/room/track/utils.js.map +1 -0
- package/dist/room/track/utils.test.d.ts +1 -0
- package/dist/room/track/utils.test.js +85 -0
- package/dist/room/track/utils.test.js.map +1 -0
- package/dist/room/utils.d.ts +6 -0
- package/dist/room/utils.js +25 -1
- package/dist/room/utils.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/example/index.html +183 -178
- package/example/sample.ts +410 -326
- package/example/styles.css +144 -0
- package/example/webpack.config.js +1 -1
- package/jest.config.js +6 -0
- package/package.json +9 -6
- package/tsconfig.eslint.json +8 -1
- package/dist/room/defaults.d.ts +0 -5
- package/dist/room/defaults.js +0 -32
- package/dist/room/defaults.js.map +0 -1
- package/dist/room/track/create.d.ts +0 -25
- package/dist/room/track/create.js +0 -170
- package/dist/room/track/create.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LocalVideoTrack.js","sourceRoot":"","sources":["../../../src/room/track/LocalVideoTrack.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"LocalVideoTrack.js","sourceRoot":"","sources":["../../../src/room/track/LocalVideoTrack.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,68 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const livekit_models_1 = require("../../proto/livekit_models");
|
4
|
+
const LocalVideoTrack_1 = require("./LocalVideoTrack");
|
5
|
+
describe('videoLayersFromEncodings', () => {
|
6
|
+
it('returns single layer for no encoding', () => {
|
7
|
+
const layers = LocalVideoTrack_1.videoLayersFromEncodings(640, 360);
|
8
|
+
expect(layers).toHaveLength(1);
|
9
|
+
expect(layers[0].quality).toBe(livekit_models_1.VideoQuality.HIGH);
|
10
|
+
expect(layers[0].width).toBe(640);
|
11
|
+
expect(layers[0].height).toBe(360);
|
12
|
+
});
|
13
|
+
it('returns single layer for explicit encoding', () => {
|
14
|
+
const layers = LocalVideoTrack_1.videoLayersFromEncodings(640, 360, [{
|
15
|
+
maxBitrate: 200000,
|
16
|
+
}]);
|
17
|
+
expect(layers).toHaveLength(1);
|
18
|
+
expect(layers[0].quality).toBe(livekit_models_1.VideoQuality.HIGH);
|
19
|
+
expect(layers[0].bitrate).toBe(200000);
|
20
|
+
});
|
21
|
+
it('returns three layers for simulcast', () => {
|
22
|
+
const layers = LocalVideoTrack_1.videoLayersFromEncodings(1280, 720, [
|
23
|
+
{
|
24
|
+
scaleResolutionDownBy: 4,
|
25
|
+
rid: 'q',
|
26
|
+
maxBitrate: 125000,
|
27
|
+
},
|
28
|
+
{
|
29
|
+
scaleResolutionDownBy: 2,
|
30
|
+
rid: 'h',
|
31
|
+
maxBitrate: 500000,
|
32
|
+
},
|
33
|
+
{
|
34
|
+
rid: 'f',
|
35
|
+
maxBitrate: 1200000,
|
36
|
+
},
|
37
|
+
]);
|
38
|
+
expect(layers).toHaveLength(3);
|
39
|
+
expect(layers[0].quality).toBe(livekit_models_1.VideoQuality.LOW);
|
40
|
+
expect(layers[0].width).toBe(320);
|
41
|
+
expect(layers[2].quality).toBe(livekit_models_1.VideoQuality.HIGH);
|
42
|
+
expect(layers[2].height).toBe(720);
|
43
|
+
});
|
44
|
+
it('handles portrait', () => {
|
45
|
+
const layers = LocalVideoTrack_1.videoLayersFromEncodings(720, 1280, [
|
46
|
+
{
|
47
|
+
scaleResolutionDownBy: 4,
|
48
|
+
rid: 'q',
|
49
|
+
maxBitrate: 125000,
|
50
|
+
},
|
51
|
+
{
|
52
|
+
scaleResolutionDownBy: 2,
|
53
|
+
rid: 'h',
|
54
|
+
maxBitrate: 500000,
|
55
|
+
},
|
56
|
+
{
|
57
|
+
rid: 'f',
|
58
|
+
maxBitrate: 1200000,
|
59
|
+
},
|
60
|
+
]);
|
61
|
+
expect(layers).toHaveLength(3);
|
62
|
+
expect(layers[0].quality).toBe(livekit_models_1.VideoQuality.LOW);
|
63
|
+
expect(layers[0].height).toBe(320);
|
64
|
+
expect(layers[2].quality).toBe(livekit_models_1.VideoQuality.HIGH);
|
65
|
+
expect(layers[2].width).toBe(720);
|
66
|
+
});
|
67
|
+
});
|
68
|
+
//# sourceMappingURL=LocalVideoTrack.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"LocalVideoTrack.test.js","sourceRoot":"","sources":["../../../src/room/track/LocalVideoTrack.test.ts"],"names":[],"mappings":";;AAAA,+DAA0D;AAC1D,uDAA6D;AAE7D,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,MAAM,GAAG,0CAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,6BAAY,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAG,0CAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;gBACjD,UAAU,EAAE,MAAO;aACpB,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,6BAAY,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,MAAM,GAAG,0CAAwB,CAAC,IAAI,EAAE,GAAG,EAAE;YACjD;gBACE,qBAAqB,EAAE,CAAC;gBACxB,GAAG,EAAE,GAAG;gBACR,UAAU,EAAE,MAAO;aACpB;YACD;gBACE,qBAAqB,EAAE,CAAC;gBACxB,GAAG,EAAE,GAAG;gBACR,UAAU,EAAE,MAAO;aACpB;YACD;gBACE,GAAG,EAAE,GAAG;gBACR,UAAU,EAAE,OAAS;aACtB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,6BAAY,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,6BAAY,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,MAAM,GAAG,0CAAwB,CAAC,GAAG,EAAE,IAAI,EAAE;YACjD;gBACE,qBAAqB,EAAE,CAAC;gBACxB,GAAG,EAAE,GAAG;gBACR,UAAU,EAAE,MAAO;aACpB;YACD;gBACE,qBAAqB,EAAE,CAAC;gBACxB,GAAG,EAAE,GAAG;gBACR,UAAU,EAAE,MAAO;aACpB;YACD;gBACE,GAAG,EAAE,GAAG;gBACR,UAAU,EAAE,OAAS;aACtB;SACF,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,6BAAY,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,6BAAY,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -1,12 +1,13 @@
|
|
1
|
-
import { TrackInfo } from '../../proto/livekit_models';
|
2
|
-
import {
|
1
|
+
import { TrackInfo, VideoQuality } from '../../proto/livekit_models';
|
2
|
+
import { Track } from './Track';
|
3
3
|
import TrackPublication from './TrackPublication';
|
4
4
|
import { RemoteTrack } from './types';
|
5
5
|
export default class RemoteTrackPublication extends TrackPublication {
|
6
6
|
track?: RemoteTrack;
|
7
7
|
protected subscribed?: boolean;
|
8
8
|
protected disabled: boolean;
|
9
|
-
protected currentVideoQuality
|
9
|
+
protected currentVideoQuality?: VideoQuality;
|
10
|
+
protected videoDimensions?: Track.Dimensions;
|
10
11
|
/**
|
11
12
|
* Subscribe or unsubscribe to this remote track
|
12
13
|
* @param subscribed true to subscribe to a track, false to unsubscribe
|
@@ -29,8 +30,13 @@ export default class RemoteTrackPublication extends TrackPublication {
|
|
29
30
|
* optimize for uninterrupted video
|
30
31
|
*/
|
31
32
|
setVideoQuality(quality: VideoQuality): void;
|
32
|
-
|
33
|
+
setVideoDimensions(dimensions: Track.Dimensions): void;
|
34
|
+
get videoQuality(): VideoQuality | undefined;
|
35
|
+
setTrack(track?: Track): void;
|
33
36
|
/** @internal */
|
34
37
|
updateInfo(info: TrackInfo): void;
|
38
|
+
protected get isAutoManageVideo(): boolean;
|
39
|
+
protected handleVisibilityChange: (visible: boolean) => void;
|
40
|
+
protected handleVideoDimensionsChange: (dimensions: Track.Dimensions) => void;
|
35
41
|
protected emitTrackUpdate(): void;
|
36
42
|
}
|
@@ -3,14 +3,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const logger_1 = __importDefault(require("../../logger"));
|
7
|
+
const livekit_models_1 = require("../../proto/livekit_models");
|
6
8
|
const livekit_rtc_1 = require("../../proto/livekit_rtc");
|
7
9
|
const events_1 = require("../events");
|
10
|
+
const RemoteVideoTrack_1 = __importDefault(require("./RemoteVideoTrack"));
|
8
11
|
const TrackPublication_1 = __importDefault(require("./TrackPublication"));
|
9
12
|
class RemoteTrackPublication extends TrackPublication_1.default {
|
10
13
|
constructor() {
|
11
14
|
super(...arguments);
|
12
15
|
this.disabled = false;
|
13
|
-
this.currentVideoQuality =
|
16
|
+
this.currentVideoQuality = livekit_models_1.VideoQuality.HIGH;
|
17
|
+
this.handleVisibilityChange = (visible) => {
|
18
|
+
logger_1.default.debug('automanage video visibility', this.trackSid, `visible=${visible}`);
|
19
|
+
this.disabled = !visible;
|
20
|
+
this.emitTrackUpdate();
|
21
|
+
};
|
22
|
+
this.handleVideoDimensionsChange = (dimensions) => {
|
23
|
+
logger_1.default.debug('automanage video dimensions', this.trackSid, `${dimensions.width}x${dimensions.height}`);
|
24
|
+
this.videoDimensions = dimensions;
|
25
|
+
this.emitTrackUpdate();
|
26
|
+
};
|
14
27
|
}
|
15
28
|
/**
|
16
29
|
* Subscribe or unsubscribe to this remote track
|
@@ -40,7 +53,10 @@ class RemoteTrackPublication extends TrackPublication_1.default {
|
|
40
53
|
* @param enabled
|
41
54
|
*/
|
42
55
|
setEnabled(enabled) {
|
43
|
-
if (this.disabled === !enabled) {
|
56
|
+
if (this.isAutoManageVideo || !this.isSubscribed || this.disabled === !enabled) {
|
57
|
+
return;
|
58
|
+
}
|
59
|
+
if (this.track instanceof RemoteVideoTrack_1.default && this.track.isAutoManaged) {
|
44
60
|
return;
|
45
61
|
}
|
46
62
|
this.disabled = !enabled;
|
@@ -54,15 +70,42 @@ class RemoteTrackPublication extends TrackPublication_1.default {
|
|
54
70
|
* optimize for uninterrupted video
|
55
71
|
*/
|
56
72
|
setVideoQuality(quality) {
|
57
|
-
if (this.currentVideoQuality === quality) {
|
73
|
+
if (this.isAutoManageVideo || !this.isSubscribed || this.currentVideoQuality === quality) {
|
58
74
|
return;
|
59
75
|
}
|
60
76
|
this.currentVideoQuality = quality;
|
77
|
+
this.videoDimensions = undefined;
|
78
|
+
this.emitTrackUpdate();
|
79
|
+
}
|
80
|
+
setVideoDimensions(dimensions) {
|
81
|
+
var _a, _b;
|
82
|
+
if (!this.isSubscribed || this.isAutoManageVideo) {
|
83
|
+
return;
|
84
|
+
}
|
85
|
+
if (((_a = this.videoDimensions) === null || _a === void 0 ? void 0 : _a.width) === dimensions.width
|
86
|
+
&& ((_b = this.videoDimensions) === null || _b === void 0 ? void 0 : _b.height) === dimensions.height) {
|
87
|
+
return;
|
88
|
+
}
|
89
|
+
if (this.track instanceof RemoteVideoTrack_1.default) {
|
90
|
+
this.videoDimensions = dimensions;
|
91
|
+
}
|
92
|
+
this.currentVideoQuality = undefined;
|
61
93
|
this.emitTrackUpdate();
|
62
94
|
}
|
63
95
|
get videoQuality() {
|
64
96
|
return this.currentVideoQuality;
|
65
97
|
}
|
98
|
+
setTrack(track) {
|
99
|
+
var _a, _b;
|
100
|
+
if (this.track) {
|
101
|
+
// unregister listener
|
102
|
+
this.track.off(events_1.TrackEvent.VideoDimensionsChanged, this.handleVideoDimensionsChange);
|
103
|
+
this.track.off(events_1.TrackEvent.VisibilityChanged, this.handleVisibilityChange);
|
104
|
+
}
|
105
|
+
super.setTrack(track);
|
106
|
+
(_a = this.track) === null || _a === void 0 ? void 0 : _a.on(events_1.TrackEvent.VideoDimensionsChanged, this.handleVideoDimensionsChange);
|
107
|
+
(_b = this.track) === null || _b === void 0 ? void 0 : _b.on(events_1.TrackEvent.VisibilityChanged, this.handleVisibilityChange);
|
108
|
+
}
|
66
109
|
/** @internal */
|
67
110
|
updateInfo(info) {
|
68
111
|
var _a;
|
@@ -70,12 +113,25 @@ class RemoteTrackPublication extends TrackPublication_1.default {
|
|
70
113
|
this.metadataMuted = info.muted;
|
71
114
|
(_a = this.track) === null || _a === void 0 ? void 0 : _a.setMuted(info.muted);
|
72
115
|
}
|
116
|
+
get isAutoManageVideo() {
|
117
|
+
return this.track instanceof RemoteVideoTrack_1.default && this.track.isAutoManaged;
|
118
|
+
}
|
73
119
|
emitTrackUpdate() {
|
74
120
|
const settings = livekit_rtc_1.UpdateTrackSettings.fromPartial({
|
75
121
|
trackSids: [this.trackSid],
|
76
122
|
disabled: this.disabled,
|
77
|
-
quality: this.currentVideoQuality,
|
78
123
|
});
|
124
|
+
if (this.videoDimensions) {
|
125
|
+
settings.width = this.videoDimensions.width;
|
126
|
+
settings.height = this.videoDimensions.height;
|
127
|
+
}
|
128
|
+
else if (this.currentVideoQuality) {
|
129
|
+
settings.quality = this.currentVideoQuality;
|
130
|
+
}
|
131
|
+
else {
|
132
|
+
// defaults to high quality
|
133
|
+
settings.quality = livekit_models_1.VideoQuality.HIGH;
|
134
|
+
}
|
79
135
|
this.emit(events_1.TrackEvent.UpdateSettings, settings);
|
80
136
|
}
|
81
137
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RemoteTrackPublication.js","sourceRoot":"","sources":["../../../src/room/track/RemoteTrackPublication.ts"],"names":[],"mappings":";;;;;
|
1
|
+
{"version":3,"file":"RemoteTrackPublication.js","sourceRoot":"","sources":["../../../src/room/track/RemoteTrackPublication.ts"],"names":[],"mappings":"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"}
|
@@ -3,9 +3,23 @@ export default class RemoteVideoTrack extends Track {
|
|
3
3
|
/** @internal */
|
4
4
|
receiver?: RTCRtpReceiver;
|
5
5
|
private prevStats?;
|
6
|
-
|
6
|
+
private elementInfos;
|
7
|
+
private autoManaged?;
|
8
|
+
private lastVisible?;
|
9
|
+
private lastDimensions?;
|
10
|
+
constructor(mediaTrack: MediaStreamTrack, sid: string, receiver?: RTCRtpReceiver, autoManaged?: boolean);
|
11
|
+
get isAutoManaged(): boolean;
|
7
12
|
/** @internal */
|
8
13
|
setMuted(muted: boolean): void;
|
14
|
+
attach(): HTMLMediaElement;
|
15
|
+
attach(element: HTMLMediaElement): HTMLMediaElement;
|
16
|
+
detach(): HTMLMediaElement[];
|
17
|
+
detach(element: HTMLMediaElement): HTMLMediaElement;
|
9
18
|
start(): void;
|
10
19
|
stop(): void;
|
20
|
+
private stopObservingElement;
|
21
|
+
private handleVisibilityChanged;
|
22
|
+
private readonly debouncedHandleResize;
|
23
|
+
private updateVisibility;
|
24
|
+
private updateDimensions;
|
11
25
|
}
|
@@ -1,13 +1,34 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const ts_debounce_1 = require("ts-debounce");
|
3
4
|
const events_1 = require("../events");
|
5
|
+
const utils_1 = require("../utils");
|
4
6
|
const Track_1 = require("./Track");
|
7
|
+
const REACTION_DELAY = 100;
|
5
8
|
class RemoteVideoTrack extends Track_1.Track {
|
6
|
-
constructor(mediaTrack, sid, receiver) {
|
9
|
+
constructor(mediaTrack, sid, receiver, autoManaged) {
|
7
10
|
super(mediaTrack, Track_1.Track.Kind.Video);
|
11
|
+
this.elementInfos = [];
|
12
|
+
this.handleVisibilityChanged = (entry) => {
|
13
|
+
const { target, isIntersecting } = entry;
|
14
|
+
const elementInfo = this.elementInfos.find((info) => info.element === target);
|
15
|
+
if (elementInfo) {
|
16
|
+
elementInfo.visible = isIntersecting;
|
17
|
+
elementInfo.visibilityChangedAt = Date.now();
|
18
|
+
}
|
19
|
+
this.updateVisibility();
|
20
|
+
};
|
21
|
+
this.debouncedHandleResize = ts_debounce_1.debounce(() => {
|
22
|
+
this.updateDimensions();
|
23
|
+
}, REACTION_DELAY);
|
8
24
|
// override id to parsed ID
|
9
25
|
this.sid = sid;
|
10
26
|
this.receiver = receiver;
|
27
|
+
this.autoManaged = autoManaged;
|
28
|
+
}
|
29
|
+
get isAutoManaged() {
|
30
|
+
var _a;
|
31
|
+
return (_a = this.autoManaged) !== null && _a !== void 0 ? _a : false;
|
11
32
|
}
|
12
33
|
/** @internal */
|
13
34
|
setMuted(muted) {
|
@@ -25,6 +46,39 @@ class RemoteVideoTrack extends Track_1.Track {
|
|
25
46
|
}
|
26
47
|
});
|
27
48
|
}
|
49
|
+
attach(element) {
|
50
|
+
if (!element) {
|
51
|
+
element = super.attach();
|
52
|
+
}
|
53
|
+
else {
|
54
|
+
super.attach(element);
|
55
|
+
}
|
56
|
+
if (this.autoManaged) {
|
57
|
+
this.elementInfos.push({
|
58
|
+
element,
|
59
|
+
visible: true, // default visible
|
60
|
+
});
|
61
|
+
element
|
62
|
+
.handleResize = this.debouncedHandleResize;
|
63
|
+
element
|
64
|
+
.handleVisibilityChanged = this.handleVisibilityChanged;
|
65
|
+
utils_1.getIntersectionObserver().observe(element);
|
66
|
+
utils_1.getResizeObserver().observe(element);
|
67
|
+
}
|
68
|
+
return element;
|
69
|
+
}
|
70
|
+
detach(element) {
|
71
|
+
let detachedElements = [];
|
72
|
+
if (element) {
|
73
|
+
detachedElements.push(element);
|
74
|
+
return super.detach(element);
|
75
|
+
}
|
76
|
+
detachedElements = super.detach();
|
77
|
+
for (const e of detachedElements) {
|
78
|
+
this.stopObservingElement(e);
|
79
|
+
}
|
80
|
+
return detachedElements;
|
81
|
+
}
|
28
82
|
start() {
|
29
83
|
// use `enabled` of track to enable re-use of transceiver
|
30
84
|
super.enable();
|
@@ -33,6 +87,49 @@ class RemoteVideoTrack extends Track_1.Track {
|
|
33
87
|
// use `enabled` of track to enable re-use of transceiver
|
34
88
|
super.disable();
|
35
89
|
}
|
90
|
+
stopObservingElement(element) {
|
91
|
+
var _a, _b;
|
92
|
+
(_a = utils_1.getIntersectionObserver()) === null || _a === void 0 ? void 0 : _a.unobserve(element);
|
93
|
+
(_b = utils_1.getResizeObserver()) === null || _b === void 0 ? void 0 : _b.unobserve(element);
|
94
|
+
this.elementInfos = this.elementInfos.filter((info) => info.element !== element);
|
95
|
+
}
|
96
|
+
updateVisibility() {
|
97
|
+
const lastVisibilityChange = this.elementInfos.reduce((prev, info) => Math.max(prev, info.visibilityChangedAt || 0), 0);
|
98
|
+
const isVisible = this.elementInfos.some((info) => info.visible);
|
99
|
+
if (this.lastVisible === isVisible) {
|
100
|
+
return;
|
101
|
+
}
|
102
|
+
if (!isVisible && Date.now() - lastVisibilityChange < REACTION_DELAY) {
|
103
|
+
// delay hidden events
|
104
|
+
setTimeout(() => {
|
105
|
+
this.updateVisibility();
|
106
|
+
}, Date.now() - lastVisibilityChange);
|
107
|
+
return;
|
108
|
+
}
|
109
|
+
this.lastVisible = isVisible;
|
110
|
+
this.emit(events_1.TrackEvent.VisibilityChanged, isVisible, this);
|
111
|
+
}
|
112
|
+
updateDimensions() {
|
113
|
+
var _a, _b;
|
114
|
+
let maxWidth = 0;
|
115
|
+
let maxHeight = 0;
|
116
|
+
for (const info of this.elementInfos) {
|
117
|
+
if (info.visible) {
|
118
|
+
if (info.element.clientWidth + info.element.clientHeight > maxWidth + maxHeight) {
|
119
|
+
maxWidth = info.element.clientWidth;
|
120
|
+
maxHeight = info.element.clientHeight;
|
121
|
+
}
|
122
|
+
}
|
123
|
+
}
|
124
|
+
if (((_a = this.lastDimensions) === null || _a === void 0 ? void 0 : _a.width) === maxWidth && ((_b = this.lastDimensions) === null || _b === void 0 ? void 0 : _b.height) === maxHeight) {
|
125
|
+
return;
|
126
|
+
}
|
127
|
+
this.lastDimensions = {
|
128
|
+
width: maxWidth,
|
129
|
+
height: maxHeight,
|
130
|
+
};
|
131
|
+
this.emit(events_1.TrackEvent.VideoDimensionsChanged, this.lastDimensions, this);
|
132
|
+
}
|
36
133
|
}
|
37
134
|
exports.default = RemoteVideoTrack;
|
38
135
|
//# sourceMappingURL=RemoteVideoTrack.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RemoteVideoTrack.js","sourceRoot":"","sources":["../../../src/room/track/RemoteVideoTrack.ts"],"names":[],"mappings":";;AAAA,sCAAuC;AAEvC,mCAA8D;AAE9D,MAAqB,gBAAiB,SAAQ,aAAK;
|
1
|
+
{"version":3,"file":"RemoteVideoTrack.js","sourceRoot":"","sources":["../../../src/room/track/RemoteVideoTrack.ts"],"names":[],"mappings":"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"}
|
@@ -3,7 +3,6 @@ import { EventEmitter } from 'events';
|
|
3
3
|
import { TrackSource, TrackType } from '../../proto/livekit_models';
|
4
4
|
export declare class Track extends EventEmitter {
|
5
5
|
kind: Track.Kind;
|
6
|
-
name: string;
|
7
6
|
mediaStreamTrack: MediaStreamTrack;
|
8
7
|
attachedElements: HTMLMediaElement[];
|
9
8
|
isMuted: boolean;
|
@@ -12,10 +11,23 @@ export declare class Track extends EventEmitter {
|
|
12
11
|
* sid is set after track is published to server, or if it's a remote track
|
13
12
|
*/
|
14
13
|
sid?: Track.SID;
|
15
|
-
protected constructor(mediaTrack: MediaStreamTrack, kind: Track.Kind
|
14
|
+
protected constructor(mediaTrack: MediaStreamTrack, kind: Track.Kind);
|
15
|
+
/**
|
16
|
+
* creates a new HTMLAudioElement or HTMLVideoElement, attaches to it, and returns it
|
17
|
+
*/
|
16
18
|
attach(): HTMLMediaElement;
|
19
|
+
/**
|
20
|
+
* attaches track to an existing HTMLAudioElement or HTMLVideoElement
|
21
|
+
*/
|
17
22
|
attach(element: HTMLMediaElement): HTMLMediaElement;
|
23
|
+
/**
|
24
|
+
* Detaches from all attached elements
|
25
|
+
*/
|
18
26
|
detach(): HTMLMediaElement[];
|
27
|
+
/**
|
28
|
+
* Detach from a single element
|
29
|
+
* @param element
|
30
|
+
*/
|
19
31
|
detach(element: HTMLMediaElement): HTMLMediaElement;
|
20
32
|
stop(): void;
|
21
33
|
protected enable(): void;
|
@@ -37,6 +49,7 @@ export declare namespace Track {
|
|
37
49
|
Camera = "camera",
|
38
50
|
Microphone = "microphone",
|
39
51
|
ScreenShare = "screen_share",
|
52
|
+
ScreenShareAudio = "screen_share_audio",
|
40
53
|
Unknown = "unknown"
|
41
54
|
}
|
42
55
|
interface Dimensions {
|
package/dist/room/track/Track.js
CHANGED
@@ -8,13 +8,12 @@ const events_2 = require("../events");
|
|
8
8
|
// Safari tracks which audio elements have been "blessed" by the user.
|
9
9
|
const recycledElements = [];
|
10
10
|
class Track extends events_1.EventEmitter {
|
11
|
-
constructor(mediaTrack, kind
|
11
|
+
constructor(mediaTrack, kind) {
|
12
12
|
super();
|
13
13
|
this.attachedElements = [];
|
14
14
|
this.isMuted = false;
|
15
15
|
this.kind = kind;
|
16
16
|
this.mediaStreamTrack = mediaTrack;
|
17
|
-
this.name = name || '';
|
18
17
|
this.source = Track.Source.Unknown;
|
19
18
|
}
|
20
19
|
attach(element) {
|
@@ -152,6 +151,7 @@ exports.detachTrack = detachTrack;
|
|
152
151
|
Source["Camera"] = "camera";
|
153
152
|
Source["Microphone"] = "microphone";
|
154
153
|
Source["ScreenShare"] = "screen_share";
|
154
|
+
Source["ScreenShareAudio"] = "screen_share_audio";
|
155
155
|
Source["Unknown"] = "unknown";
|
156
156
|
})(Source = Track.Source || (Track.Source = {}));
|
157
157
|
/** @internal */
|
@@ -187,6 +187,8 @@ exports.detachTrack = detachTrack;
|
|
187
187
|
return livekit_models_1.TrackSource.MICROPHONE;
|
188
188
|
case Source.ScreenShare:
|
189
189
|
return livekit_models_1.TrackSource.SCREEN_SHARE;
|
190
|
+
case Source.ScreenShareAudio:
|
191
|
+
return livekit_models_1.TrackSource.SCREEN_SHARE_AUDIO;
|
190
192
|
default:
|
191
193
|
return livekit_models_1.TrackSource.UNRECOGNIZED;
|
192
194
|
}
|
@@ -201,6 +203,8 @@ exports.detachTrack = detachTrack;
|
|
201
203
|
return Source.Microphone;
|
202
204
|
case livekit_models_1.TrackSource.SCREEN_SHARE:
|
203
205
|
return Source.ScreenShare;
|
206
|
+
case livekit_models_1.TrackSource.SCREEN_SHARE_AUDIO:
|
207
|
+
return Source.ScreenShareAudio;
|
204
208
|
default:
|
205
209
|
return Source.Unknown;
|
206
210
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Track.js","sourceRoot":"","sources":["../../../src/room/track/Track.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AACtC,+DAAoE;AACpE,sCAAuC;AAEvC,2EAA2E;AAC3E,sEAAsE;AACtE,MAAM,gBAAgB,GAA4B,EAAE,CAAC;AAErD,MAAa,KAAM,SAAQ,qBAAY;
|
1
|
+
{"version":3,"file":"Track.js","sourceRoot":"","sources":["../../../src/room/track/Track.ts"],"names":[],"mappings":"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"}
|