livekit-client 0.12.2 → 0.13.3
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/.eslintrc.js +1 -0
- package/.github/workflows/publish.yaml +1 -3
- package/README.md +76 -45
- package/dist/api/SignalClient.d.ts +3 -1
- package/dist/api/SignalClient.js +8 -0
- package/dist/api/SignalClient.js.map +1 -1
- package/dist/connect.d.ts +21 -0
- package/dist/connect.js +83 -0
- package/dist/connect.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/options.d.ts +19 -13
- package/dist/options.js.map +1 -1
- package/dist/proto/livekit_models.d.ts +15 -0
- package/dist/proto/livekit_models.js +129 -1
- package/dist/proto/livekit_models.js.map +1 -1
- package/dist/proto/livekit_rtc.d.ts +16 -1
- package/dist/proto/livekit_rtc.js +116 -1
- package/dist/proto/livekit_rtc.js.map +1 -1
- package/dist/room/DeviceManager.d.ts +7 -0
- package/dist/room/DeviceManager.js +62 -0
- package/dist/room/DeviceManager.js.map +1 -0
- package/dist/room/RTCEngine.d.ts +1 -1
- package/dist/room/RTCEngine.js +8 -7
- package/dist/room/RTCEngine.js.map +1 -1
- package/dist/room/Room.d.ts +34 -2
- package/dist/room/Room.js +92 -2
- package/dist/room/Room.js.map +1 -1
- package/dist/room/defaults.d.ts +5 -0
- package/dist/room/defaults.js +29 -0
- package/dist/room/defaults.js.map +1 -0
- package/dist/room/events.d.ts +33 -4
- package/dist/room/events.js +32 -3
- package/dist/room/events.js.map +1 -1
- package/dist/room/participant/LocalParticipant.d.ts +25 -0
- package/dist/room/participant/LocalParticipant.js +162 -45
- package/dist/room/participant/LocalParticipant.js.map +1 -1
- package/dist/room/participant/Participant.d.ts +17 -0
- package/dist/room/participant/Participant.js +53 -0
- package/dist/room/participant/Participant.js.map +1 -1
- package/dist/room/participant/RemoteParticipant.d.ts +2 -0
- package/dist/room/participant/RemoteParticipant.js +23 -3
- package/dist/room/participant/RemoteParticipant.js.map +1 -1
- package/dist/room/track/LocalAudioTrack.d.ts +3 -0
- package/dist/room/track/LocalAudioTrack.js +37 -0
- package/dist/room/track/LocalAudioTrack.js.map +1 -1
- package/dist/room/track/LocalTrack.d.ts +6 -2
- package/dist/room/track/LocalTrack.js +39 -8
- package/dist/room/track/LocalTrack.js.map +1 -1
- package/dist/room/track/LocalTrackPublication.d.ts +6 -3
- package/dist/room/track/LocalTrackPublication.js +21 -2
- package/dist/room/track/LocalTrackPublication.js.map +1 -1
- package/dist/room/track/LocalVideoTrack.d.ts +3 -2
- package/dist/room/track/LocalVideoTrack.js +48 -16
- package/dist/room/track/LocalVideoTrack.js.map +1 -1
- package/dist/room/track/RemoteAudioTrack.d.ts +2 -0
- package/dist/room/track/RemoteAudioTrack.js +8 -0
- package/dist/room/track/RemoteAudioTrack.js.map +1 -1
- package/dist/room/track/RemoteVideoTrack.d.ts +1 -0
- package/dist/room/track/RemoteVideoTrack.js +6 -1
- package/dist/room/track/RemoteVideoTrack.js.map +1 -1
- package/dist/room/track/Track.d.ts +14 -2
- package/dist/room/track/Track.js +42 -0
- package/dist/room/track/Track.js.map +1 -1
- package/dist/room/track/TrackPublication.d.ts +1 -0
- package/dist/room/track/TrackPublication.js +2 -0
- package/dist/room/track/TrackPublication.js.map +1 -1
- package/dist/room/track/create.d.ts +23 -0
- package/dist/{livekit.js → room/track/create.js} +75 -110
- package/dist/room/track/create.js.map +1 -0
- package/dist/room/track/options.d.ts +76 -20
- package/dist/room/track/options.js +11 -6
- package/dist/room/track/options.js.map +1 -1
- package/dist/version.d.ts +2 -2
- package/dist/version.js +2 -2
- package/example/index.html +51 -20
- package/example/sample.ts +200 -87
- package/example/webpack.config.js +8 -2
- package/package.json +2 -2
- package/dist/livekit.d.ts +0 -44
- package/dist/livekit.js.map +0 -1
@@ -13,9 +13,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
13
13
|
};
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
15
15
|
const loglevel_1 = __importDefault(require("loglevel"));
|
16
|
+
const defaults_1 = require("../defaults");
|
17
|
+
const DeviceManager_1 = __importDefault(require("../DeviceManager"));
|
16
18
|
const errors_1 = require("../errors");
|
17
19
|
const events_1 = require("../events");
|
18
|
-
const options_1 = require("./options");
|
19
20
|
const Track_1 = require("./Track");
|
20
21
|
class LocalTrack extends Track_1.Track {
|
21
22
|
constructor(mediaTrack, kind, name, constraints) {
|
@@ -41,7 +42,15 @@ class LocalTrack extends Track_1.Track {
|
|
41
42
|
static constraintsForOptions(options) {
|
42
43
|
const constraints = {};
|
43
44
|
// default video options
|
44
|
-
const
|
45
|
+
const defaults = defaults_1.getTrackCaptureDefaults();
|
46
|
+
const videoOptions = {
|
47
|
+
deviceId: defaults.videoDeviceId,
|
48
|
+
};
|
49
|
+
if (defaults.videoResolution) {
|
50
|
+
videoOptions.width = defaults.videoResolution.width;
|
51
|
+
videoOptions.height = defaults.videoResolution.height;
|
52
|
+
videoOptions.frameRate = defaults.videoResolution.frameRate;
|
53
|
+
}
|
45
54
|
if (typeof options.video === 'object' && options.video) {
|
46
55
|
Object.assign(videoOptions, options.video);
|
47
56
|
if (options.video.resolution) {
|
@@ -57,9 +66,13 @@ class LocalTrack extends Track_1.Track {
|
|
57
66
|
}
|
58
67
|
// default audio options
|
59
68
|
const audioOptions = {
|
60
|
-
|
69
|
+
deviceId: defaults.audioDeviceId,
|
70
|
+
echoCancellation: defaults.echoCancellation,
|
61
71
|
/* @ts-ignore */
|
62
|
-
|
72
|
+
autoGainControl: defaults.autoGainControl,
|
73
|
+
/* @ts-ignore */
|
74
|
+
noiseSuppression: defaults.noiseSuppression,
|
75
|
+
channelCount: defaults.channelCount,
|
63
76
|
};
|
64
77
|
if (typeof options.audio === 'object' && options.audio) {
|
65
78
|
Object.assign(audioOptions, options.audio);
|
@@ -72,13 +85,31 @@ class LocalTrack extends Track_1.Track {
|
|
72
85
|
}
|
73
86
|
return constraints;
|
74
87
|
}
|
88
|
+
/**
|
89
|
+
* @returns DeviceID of the device that is currently being used for this track
|
90
|
+
*/
|
91
|
+
getDeviceId() {
|
92
|
+
return __awaiter(this, void 0, void 0, function* () {
|
93
|
+
// screen share doesn't have a usable device id
|
94
|
+
if (this.source === Track_1.Track.Source.ScreenShare) {
|
95
|
+
return;
|
96
|
+
}
|
97
|
+
const { deviceId, groupId } = this.mediaStreamTrack.getSettings();
|
98
|
+
const kind = this.kind === Track_1.Track.Kind.Audio ? 'audioinput' : 'videoinput';
|
99
|
+
return DeviceManager_1.default.getInstance().normalizeDeviceId(kind, deviceId, groupId);
|
100
|
+
});
|
101
|
+
}
|
75
102
|
mute() {
|
76
|
-
this
|
77
|
-
|
103
|
+
return __awaiter(this, void 0, void 0, function* () {
|
104
|
+
this.setTrackMuted(true);
|
105
|
+
return this;
|
106
|
+
});
|
78
107
|
}
|
79
108
|
unmute() {
|
80
|
-
this
|
81
|
-
|
109
|
+
return __awaiter(this, void 0, void 0, function* () {
|
110
|
+
this.setTrackMuted(false);
|
111
|
+
return this;
|
112
|
+
});
|
82
113
|
}
|
83
114
|
restart(constraints) {
|
84
115
|
return __awaiter(this, void 0, void 0, function* () {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LocalTrack.js","sourceRoot":"","sources":["../../../src/room/track/LocalTrack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,wDAA2B;AAC3B,sCAA8C;AAC9C,sCAAuC;
|
1
|
+
{"version":3,"file":"LocalTrack.js","sourceRoot":"","sources":["../../../src/room/track/LocalTrack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,wDAA2B;AAC3B,0CAAsD;AACtD,qEAA6C;AAC7C,sCAA8C;AAC9C,sCAAuC;AAEvC,mCAA8D;AAE9D,MAAqB,UAAW,SAAQ,aAAK;IAM3C,YAAsB,UAA4B,EAAE,IAAgB,EAClE,IAAa,EAAE,WAAmC;QAClD,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,UAAU,CAAC,cAAc,EAAE,CAAC;IAChE,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAClC,CAAC;IAED,IAAI,UAAU;QACZ,IAAI,IAAI,CAAC,IAAI,KAAK,aAAK,CAAC,IAAI,CAAC,KAAK,EAAE;YAClC,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAC9D,IAAI,KAAK,IAAI,MAAM,EAAE;YACnB,OAAO;gBACL,KAAK;gBACL,MAAM;aACP,CAAC;SACH;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,OAAiC;QAC5D,MAAM,WAAW,GAA2B,EAAE,CAAC;QAE/C,wBAAwB;QACxB,MAAM,QAAQ,GAAG,kCAAuB,EAAE,CAAC;QAC3C,MAAM,YAAY,GAA0B;YAC1C,QAAQ,EAAE,QAAQ,CAAC,aAAa;SACjC,CAAC;QACF,IAAI,QAAQ,CAAC,eAAe,EAAE;YAC5B,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC;YACpD,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC;YACtD,YAAY,CAAC,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC;SAC7D;QACD,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE;YACtD,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE;gBAC5B,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;aACvD;SACF;QAED,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;YAC3B,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;SAC3B;aAAM;YACP,eAAe;YACb,WAAW,CAAC,KAAK,GAAG,YAAY,CAAC;SAClC;QAED,wBAAwB;QACxB,MAAM,YAAY,GAA0B;YAC1C,QAAQ,EAAE,QAAQ,CAAC,aAAa;YAChC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;YAC3C,gBAAgB;YAChB,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,gBAAgB;YAChB,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;YAC3C,YAAY,EAAE,QAAQ,CAAC,YAAY;SACpC,CAAC;QACF,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE;YACtD,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;SAC5C;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;YAC3B,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;SAC3B;aAAM;YACL,WAAW,CAAC,KAAK,GAAG,YAAY,CAAC;SAClC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACG,WAAW;;YACf,+CAA+C;YAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,aAAK,CAAC,MAAM,CAAC,WAAW,EAAE;gBAC5C,OAAO;aACR;YACD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;YAClE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;YAE1E,OAAO,uBAAa,CAAC,WAAW,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChF,CAAC;KAAA;IAEK,IAAI;;YACR,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,MAAM;;YACV,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEe,OAAO,CAAC,WAAmC;;YACzD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChB,MAAM,IAAI,0BAAiB,CAAC,wCAAwC,CAAC,CAAC;aACvE;YACD,IAAI,CAAC,WAAW,EAAE;gBAChB,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;aAChC;YACD,kBAAG,CAAC,KAAK,CAAC,mCAAmC,EAAE,WAAW,CAAC,CAAC;YAE5D,MAAM,iBAAiB,GAA2B;gBAChD,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK;aACb,CAAC;YAEF,IAAI,IAAI,CAAC,IAAI,KAAK,aAAK,CAAC,IAAI,CAAC,KAAK,EAAE;gBAClC,iBAAiB,CAAC,KAAK,GAAG,WAAW,CAAC;aACvC;iBAAM;gBACL,iBAAiB,CAAC,KAAK,GAAG,WAAW,CAAC;aACvC;YAED,qEAAqE;YACrE,8BAA8B;YAC9B,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;YACjF,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5C,kBAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAEzC,sBAAsB;YACtB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBACnC,mBAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACjD,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;YAEjC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBACnC,uBAAe,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAES,aAAa,CAAC,KAAc;QACpC,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;YAC1B,OAAO;SACR;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAU,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;CACF;AA5JD,6BA4JC"}
|
@@ -1,18 +1,21 @@
|
|
1
1
|
import { TrackInfo } from '../../proto/livekit_models';
|
2
|
+
import LocalAudioTrack from './LocalAudioTrack';
|
2
3
|
import LocalTrack from './LocalTrack';
|
4
|
+
import LocalVideoTrack from './LocalVideoTrack';
|
3
5
|
import { Track } from './Track';
|
4
6
|
import TrackPublication from './TrackPublication';
|
5
7
|
export default class LocalTrackPublication extends TrackPublication {
|
6
|
-
priority?: Track.Priority;
|
7
8
|
track?: LocalTrack;
|
8
9
|
constructor(kind: Track.Kind, ti: TrackInfo, track?: LocalTrack);
|
9
10
|
get isMuted(): boolean;
|
11
|
+
get audioTrack(): LocalAudioTrack | undefined;
|
12
|
+
get videoTrack(): LocalVideoTrack | undefined;
|
10
13
|
/**
|
11
14
|
* Mute the track associated with this publication
|
12
15
|
*/
|
13
|
-
mute():
|
16
|
+
mute(): Promise<LocalTrack | undefined>;
|
14
17
|
/**
|
15
18
|
* Unmute track associated with this publication
|
16
19
|
*/
|
17
|
-
unmute():
|
20
|
+
unmute(): Promise<LocalTrack | undefined>;
|
18
21
|
}
|
@@ -1,4 +1,13 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
2
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
13
|
};
|
@@ -16,19 +25,29 @@ class LocalTrackPublication extends TrackPublication_1.default {
|
|
16
25
|
}
|
17
26
|
return super.isMuted;
|
18
27
|
}
|
28
|
+
get audioTrack() {
|
29
|
+
return super.audioTrack;
|
30
|
+
}
|
31
|
+
get videoTrack() {
|
32
|
+
return super.videoTrack;
|
33
|
+
}
|
19
34
|
/**
|
20
35
|
* Mute the track associated with this publication
|
21
36
|
*/
|
22
37
|
mute() {
|
23
38
|
var _a;
|
24
|
-
(
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
40
|
+
return (_a = this.track) === null || _a === void 0 ? void 0 : _a.mute();
|
41
|
+
});
|
25
42
|
}
|
26
43
|
/**
|
27
44
|
* Unmute track associated with this publication
|
28
45
|
*/
|
29
46
|
unmute() {
|
30
47
|
var _a;
|
31
|
-
(
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
49
|
+
return (_a = this.track) === null || _a === void 0 ? void 0 : _a.unmute();
|
50
|
+
});
|
32
51
|
}
|
33
52
|
}
|
34
53
|
exports.default = LocalTrackPublication;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LocalTrackPublication.js","sourceRoot":"","sources":["../../../src/room/track/LocalTrackPublication.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"LocalTrackPublication.js","sourceRoot":"","sources":["../../../src/room/track/LocalTrackPublication.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,0EAAkD;AAElD,MAAqB,qBAAsB,SAAQ,0BAAgB;IAGjE,YAAY,IAAgB,EAAE,EAAa,EAAE,KAAkB;QAC7D,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAE7B,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,OAAO;QACT,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;SAC3B;QACD,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,KAAK,CAAC,UAAyC,CAAC;IACzD,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,KAAK,CAAC,UAAyC,CAAC;IACzD,CAAC;IAED;;OAEG;IACG,IAAI;;;YACR,OAAO,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,EAAE,CAAC;;KAC3B;IAED;;OAEG;IACG,MAAM;;;YACV,OAAO,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,EAAE,CAAC;;KAC7B;CACF;AAtCD,wCAsCC"}
|
@@ -13,10 +13,11 @@ export default class LocalVideoTrack extends LocalTrack {
|
|
13
13
|
get isSimulcast(): boolean;
|
14
14
|
startMonitor(signalClient: SignalClient): void;
|
15
15
|
stop(): void;
|
16
|
-
mute():
|
17
|
-
unmute():
|
16
|
+
mute(): Promise<LocalVideoTrack>;
|
17
|
+
unmute(): Promise<LocalVideoTrack>;
|
18
18
|
getSenderStats(): Promise<VideoSenderStats[]>;
|
19
19
|
setPublishingQuality(maxQuality: VideoQuality): void;
|
20
|
+
setDeviceId(deviceId: string): Promise<void>;
|
20
21
|
restartTrack(options?: CreateVideoTrackOptions): Promise<void>;
|
21
22
|
private monitorSender;
|
22
23
|
private checkAndUpdateSimulcast;
|
@@ -21,7 +21,7 @@ const Track_1 = require("./Track");
|
|
21
21
|
const QUALITY_UPGRADE_DELAY = 60 * 1000;
|
22
22
|
// avoid downgrading too quickly
|
23
23
|
const QUALITY_DOWNGRADE_DELAY = 5 * 1000;
|
24
|
-
const ridOrder = ['
|
24
|
+
const ridOrder = ['q', 'h', 'f'];
|
25
25
|
class LocalVideoTrack extends LocalTrack_1.default {
|
26
26
|
constructor(mediaTrack, name, constraints) {
|
27
27
|
super(mediaTrack, Track_1.Track.Kind.Video, name, constraints);
|
@@ -63,13 +63,29 @@ class LocalVideoTrack extends LocalTrack_1.default {
|
|
63
63
|
super.stop();
|
64
64
|
}
|
65
65
|
mute() {
|
66
|
-
|
67
|
-
|
68
|
-
|
66
|
+
const _super = Object.create(null, {
|
67
|
+
mute: { get: () => super.mute }
|
68
|
+
});
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
70
|
+
if (this.source === Track_1.Track.Source.Camera) {
|
71
|
+
// also stop the track, so that camera indicator is turned off
|
72
|
+
this.mediaStreamTrack.stop();
|
73
|
+
}
|
74
|
+
yield _super.mute.call(this);
|
75
|
+
return this;
|
76
|
+
});
|
69
77
|
}
|
70
78
|
unmute() {
|
71
|
-
|
72
|
-
|
79
|
+
const _super = Object.create(null, {
|
80
|
+
unmute: { get: () => super.unmute }
|
81
|
+
});
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
83
|
+
if (this.source === Track_1.Track.Source.Camera) {
|
84
|
+
yield this.restartTrack();
|
85
|
+
}
|
86
|
+
yield _super.unmute.call(this);
|
87
|
+
return this;
|
88
|
+
});
|
73
89
|
}
|
74
90
|
getSenderStats() {
|
75
91
|
return __awaiter(this, void 0, void 0, function* () {
|
@@ -117,15 +133,6 @@ class LocalVideoTrack extends LocalTrack_1.default {
|
|
117
133
|
items.push(vs);
|
118
134
|
}
|
119
135
|
});
|
120
|
-
// sort by rid, so that f, h, q is the ordering
|
121
|
-
items.sort((a, b) => {
|
122
|
-
const ai = ridOrder.indexOf(a.rid);
|
123
|
-
const bi = ridOrder.indexOf(b.rid);
|
124
|
-
if (ai === bi) {
|
125
|
-
return 0;
|
126
|
-
}
|
127
|
-
return ai < bi ? -1 : 1;
|
128
|
-
});
|
129
136
|
return items;
|
130
137
|
});
|
131
138
|
}
|
@@ -159,6 +166,19 @@ class LocalVideoTrack extends LocalTrack_1.default {
|
|
159
166
|
loglevel_1.default.debug('setting publishing quality. max quality', maxQuality);
|
160
167
|
this.sender.setParameters(params);
|
161
168
|
}
|
169
|
+
setDeviceId(deviceId) {
|
170
|
+
return __awaiter(this, void 0, void 0, function* () {
|
171
|
+
if (this.constraints.deviceId === deviceId) {
|
172
|
+
return;
|
173
|
+
}
|
174
|
+
this.constraints.deviceId = deviceId;
|
175
|
+
// when video is muted, underlying media stream track is stopped and
|
176
|
+
// will be restarted later
|
177
|
+
if (!this.isMuted) {
|
178
|
+
yield this.restartTrack();
|
179
|
+
}
|
180
|
+
});
|
181
|
+
}
|
162
182
|
restartTrack(options) {
|
163
183
|
return __awaiter(this, void 0, void 0, function* () {
|
164
184
|
let constraints;
|
@@ -181,7 +201,19 @@ class LocalVideoTrack extends LocalTrack_1.default {
|
|
181
201
|
let bestEncoding;
|
182
202
|
this.encodings.forEach((encoding) => {
|
183
203
|
// skip inactive encodings
|
184
|
-
if (
|
204
|
+
if (!encoding.active)
|
205
|
+
return;
|
206
|
+
if (bestEncoding === undefined) {
|
207
|
+
bestEncoding = encoding;
|
208
|
+
}
|
209
|
+
else if (bestEncoding.rid
|
210
|
+
&& encoding.rid
|
211
|
+
&& ridOrder.indexOf(bestEncoding.rid) < ridOrder.indexOf(encoding.rid)) {
|
212
|
+
bestEncoding = encoding;
|
213
|
+
}
|
214
|
+
else if (bestEncoding.maxBitrate !== undefined
|
215
|
+
&& encoding.maxBitrate !== undefined
|
216
|
+
&& bestEncoding.maxBitrate < encoding.maxBitrate) {
|
185
217
|
bestEncoding = encoding;
|
186
218
|
}
|
187
219
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LocalVideoTrack.js","sourceRoot":"","sources":["../../../src/room/track/LocalVideoTrack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,wDAA2B;AAE3B,yDAAuD;AACvD,oCAA8D;AAC9D,8DAAsC;AAEtC,mCAAgC;AAEhC,qCAAqC;AACrC,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAC;AAExC,gCAAgC;AAChC,MAAM,uBAAuB,GAAG,CAAC,GAAG,IAAI,CAAC;AAEzC,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEjC,MAAqB,eAAgB,SAAQ,oBAAU;IAcrD,YACE,UAA4B,EAC5B,IAAa,EACb,WAAmC;QAEnC,KAAK,CAAC,UAAU,EAAE,aAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"LocalVideoTrack.js","sourceRoot":"","sources":["../../../src/room/track/LocalVideoTrack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,wDAA2B;AAE3B,yDAAuD;AACvD,oCAA8D;AAC9D,8DAAsC;AAEtC,mCAAgC;AAEhC,qCAAqC;AACrC,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAC;AAExC,gCAAgC;AAChC,MAAM,uBAAuB,GAAG,CAAC,GAAG,IAAI,CAAC;AAEzC,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEjC,MAAqB,eAAgB,SAAQ,oBAAU;IAcrD,YACE,UAA4B,EAC5B,IAAa,EACb,WAAmC;QAEnC,KAAK,CAAC,UAAU,EAAE,aAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAiKjD,kBAAa,GAAG,GAAS,EAAE;YACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChB,OAAO;aACR;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAA2B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAEjF,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE;gBACtC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;aACxC;YAED,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC,EAAE,wBAAgB,CAAC,CAAC;QACvB,CAAC,CAAA,CAAC;IA/KF,CAAC;IAED,IAAI,WAAW;QACb,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACnE,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,cAAc;IACd,YAAY,CAAC,YAA0B;QACrC,iCAAiC;QACjC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO;SACR;QACD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,EAAE,wBAAgB,CAAC,CAAC;IACvB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;IAEK,IAAI;;;;;YACR,IAAI,IAAI,CAAC,MAAM,KAAK,aAAK,CAAC,MAAM,CAAC,MAAM,EAAE;gBACvC,8DAA8D;gBAC9D,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;aAC9B;YACD,MAAM,OAAM,IAAI,WAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,MAAM;;;;;YACV,IAAI,IAAI,CAAC,MAAM,KAAK,aAAK,CAAC,MAAM,CAAC,MAAM,EAAE;gBACvC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;aAC3B;YACD,MAAM,OAAM,MAAM,WAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,cAAc;;YAClB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChB,OAAO,EAAE,CAAC;aACX;YAED,MAAM,KAAK,GAAuB,EAAE,CAAC;YAErC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC3C,IAAI,MAAW,CAAC;YAChB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClB,IACE,CAAC,CAAC,IAAI,KAAK,OAAO;uBACf,CAAC,CAAC,eAAe,KAAK,IAAI,CAAC,gBAAgB,CAAC,EAAE,EACjD;oBACA,MAAM,GAAG,CAAC,CAAC;iBACZ;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,KAAK,CAAC;aACd;YAED,+BAA+B;YAC/B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClB,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,EAAE,EAAE;oBACxD,MAAM,EAAE,GAAqB;wBAC3B,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,CAAC,CAAC,EAAE;wBACd,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,UAAU,EAAE,CAAC,CAAC,UAAU;wBACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,UAAU,EAAE,CAAC,CAAC,UAAU;wBACxB,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,wBAAwB,EAAE,CAAC,CAAC,wBAAwB;wBACpD,uBAAuB,EAAE,CAAC,CAAC,uBAAuB;wBAClD,kCAAkC,EAChC,CAAC,CAAC,kCAAkC;qBACvC,CAAC;oBAEF,iDAAiD;oBACjD,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAChC,IAAI,CAAC,EAAE;wBACL,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;wBACrB,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;wBAC/B,EAAE,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;qBACpC;oBAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBAChB;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;IAED,oBAAoB,CAAC,UAAwB;;QAC3C,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACxC,OAAO;SACR;QAED,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;;YAClC,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAA,QAAQ,CAAC,GAAG,mCAAI,EAAE,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,OAAO,IAAI,UAAU,CAAC;YACrC,IAAI,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE;gBAC9B,UAAU,GAAG,IAAI,CAAC;gBAClB,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;aAC1B;YACD,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YAC5C,OAAO;SACR;QAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAC9C,IAAI,CAAC,yBAAyB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAEtD,MAAA,IAAI,CAAC,YAAY,0CAAE,sBAAsB,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC3C,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,kBAAG,CAAC,KAAK,CAAC,yCAAyC,EAAE,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAEK,WAAW,CAAC,QAAgB;;YAChC,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAC1C,OAAO;aACR;YACD,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACrC,oEAAoE;YACpE,0BAA0B;YAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;aAC3B;QACH,CAAC;KAAA;IAEK,YAAY,CAAC,OAAiC;;YAClD,IAAI,WAA8C,CAAC;YACnD,IAAI,OAAO,EAAE;gBACX,MAAM,iBAAiB,GAAG,oBAAU,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/E,IAAI,OAAO,iBAAiB,CAAC,KAAK,KAAK,SAAS,EAAE;oBAChD,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC;iBACvC;aACF;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;KAAA;IAmBO,uBAAuB,CAAC,QAAuC;;QACrE,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YAChC,OAAO;SACR;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAElC,IAAI,YAAkD,CAAC;QACvD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAClC,0BAA0B;YAC1B,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAAE,OAAO;YAE7B,IAAI,YAAY,KAAK,SAAS,EAAE;gBAC9B,YAAY,GAAG,QAAQ,CAAC;aACzB;iBAAM,IACL,YAAY,CAAC,GAAG;mBACb,QAAQ,CAAC,GAAG;mBACZ,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EACtE;gBACA,YAAY,GAAG,QAAQ,CAAC;aACzB;iBAAM,IACL,YAAY,CAAC,UAAU,KAAK,SAAS;mBAClC,QAAQ,CAAC,UAAU,KAAK,SAAS;mBACjC,YAAY,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,EAChD;gBACA,YAAY,GAAG,QAAQ,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO;SACR;QACD,MAAM,GAAG,GAAW,MAAA,YAAY,CAAC,GAAG,mCAAI,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE;YAC5B,OAAO;SACR;QACD,MAAM,cAAc,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE/C,iDAAiD;QACjD,yEAAyE;QACzE,2EAA2E;QAC3E,+DAA+D;QAC/D,EAAE;QACF,4EAA4E;QAC5E,uEAAuE;QACvE,sEAAsE;QACtE,EAAE;QACF,4EAA4E;QAC5E,qFAAqF;QACrF,IAAI,SAAS,CAAC,kCAAkC;cAC1C,SAAS,CAAC,kCAAkC,GAAG,CAAC,EAAE;YACtD,IAAI,CAAC,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;SAC/C;QAED,iFAAiF;QACjF,2DAA2D;QAC3D,IAAI,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,GAAG,CAAC,EAAE;YACnD,0DAA0D;YAC1D,IAAI,cAAc,KAAK,0BAAY,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB;gBAAE,OAAO;YAE5E,MAAM,WAAW,GAAG,cAAc,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,EAAE;gBAC3E,OAAO;aACR;YAED,kBAAG,CAAC,KAAK,CAAC,4BAA4B,EAAE,WAAW,CAAC,CAAC;YACrD,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACvC,OAAO;SACR;QAED,yEAAyE;QACzE,oBAAoB;QACpB,IAAI,IAAI,CAAC,yBAAyB;eAC7B,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,uBAAuB,EAAE;YACxF,OAAO;SACR;QAED,IAAI,cAAc,KAAK,0BAAY,CAAC,YAAY,EAAE;YAChD,OAAO;SACR;QAED,IAAI,cAAc,KAAK,0BAAY,CAAC,GAAG,EAAE;YACvC,gDAAgD;YAChD,OAAO;SACR;QAED,kBAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,oBAAoB,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;CACF;AAhSD,kCAgSC;AAED,SAAS,kBAAkB,CAAC,GAAW;IACrC,QAAQ,GAAG,EAAE;QACX,KAAK,GAAG;YACN,OAAO,0BAAY,CAAC,IAAI,CAAC;QAC3B,KAAK,GAAG;YACN,OAAO,0BAAY,CAAC,MAAM,CAAC;QAC7B,KAAK,GAAG;YACN,OAAO,0BAAY,CAAC,GAAG,CAAC;QAC1B;YACE,OAAO,0BAAY,CAAC,YAAY,CAAC;KACpC;AACH,CAAC"}
|
@@ -15,6 +15,14 @@ class RemoteAudioTrack extends Track_1.Track {
|
|
15
15
|
this.emit(muted ? events_1.TrackEvent.Muted : events_1.TrackEvent.Unmuted, this);
|
16
16
|
}
|
17
17
|
}
|
18
|
+
start() {
|
19
|
+
// use `enabled` of track to enable re-use of transceiver
|
20
|
+
super.enable();
|
21
|
+
}
|
22
|
+
stop() {
|
23
|
+
// use `enabled` of track to enable re-use of transceiver
|
24
|
+
super.disable();
|
25
|
+
}
|
18
26
|
}
|
19
27
|
exports.default = RemoteAudioTrack;
|
20
28
|
//# sourceMappingURL=RemoteAudioTrack.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RemoteAudioTrack.js","sourceRoot":"","sources":["../../../src/room/track/RemoteAudioTrack.ts"],"names":[],"mappings":";;AAAA,sCAAuC;AACvC,mCAAgC;AAEhC,MAAqB,gBAAiB,SAAQ,aAAK;IAIjD,YACE,UAA4B,EAC5B,GAAW,EACX,QAAyB;QAEzB,KAAK,CAAC,UAAU,EAAE,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,gBAAgB;IAChB,QAAQ,CAAC,KAAc;QACrB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;YAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAU,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SAChE;IACH,CAAC;CACF;
|
1
|
+
{"version":3,"file":"RemoteAudioTrack.js","sourceRoot":"","sources":["../../../src/room/track/RemoteAudioTrack.ts"],"names":[],"mappings":";;AAAA,sCAAuC;AACvC,mCAAgC;AAEhC,MAAqB,gBAAiB,SAAQ,aAAK;IAIjD,YACE,UAA4B,EAC5B,GAAW,EACX,QAAyB;QAEzB,KAAK,CAAC,UAAU,EAAE,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,gBAAgB;IAChB,QAAQ,CAAC,KAAc;QACrB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;YAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAU,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SAChE;IACH,CAAC;IAED,KAAK;QACH,yDAAyD;QACzD,KAAK,CAAC,MAAM,EAAE,CAAC;IACjB,CAAC;IAED,IAAI;QACF,yDAAyD;QACzD,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;CACF;AA/BD,mCA+BC"}
|
@@ -25,8 +25,13 @@ class RemoteVideoTrack extends Track_1.Track {
|
|
25
25
|
}
|
26
26
|
});
|
27
27
|
}
|
28
|
+
start() {
|
29
|
+
// use `enabled` of track to enable re-use of transceiver
|
30
|
+
super.enable();
|
31
|
+
}
|
28
32
|
stop() {
|
29
|
-
|
33
|
+
// use `enabled` of track to enable re-use of transceiver
|
34
|
+
super.disable();
|
30
35
|
}
|
31
36
|
}
|
32
37
|
exports.default = RemoteVideoTrack;
|
@@ -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":";;AAAA,sCAAuC;AAEvC,mCAA8D;AAE9D,MAAqB,gBAAiB,SAAQ,aAAK;IAOjD,YACE,UAA4B,EAC5B,GAAW,EACX,QAAyB;QAEzB,KAAK,CAAC,UAAU,EAAE,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,2BAA2B;QAC3B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,gBAAgB;IAChB,QAAQ,CAAC,KAAc;QACrB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;YAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAU,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SAChE;QAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACxC,mBAAmB;YACnB,IAAI,KAAK,EAAE;gBACT,mBAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;aAC7C;iBAAM;gBACL,uBAAe,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,yDAAyD;QACzD,KAAK,CAAC,MAAM,EAAE,CAAC;IACjB,CAAC;IAED,IAAI;QACF,yDAAyD;QACzD,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;CACF;AA5CD,mCA4CC"}
|
@@ -1,12 +1,13 @@
|
|
1
1
|
/// <reference types="node" />
|
2
2
|
import { EventEmitter } from 'events';
|
3
|
-
import { TrackType } from '../../proto/livekit_models';
|
3
|
+
import { TrackSource, TrackType } from '../../proto/livekit_models';
|
4
4
|
export declare class Track extends EventEmitter {
|
5
5
|
kind: Track.Kind;
|
6
6
|
name: string;
|
7
7
|
mediaStreamTrack: MediaStreamTrack;
|
8
8
|
attachedElements: HTMLMediaElement[];
|
9
9
|
isMuted: boolean;
|
10
|
+
source: Track.Source;
|
10
11
|
/**
|
11
12
|
* sid is set after track is published to server, or if it's a remote track
|
12
13
|
*/
|
@@ -17,6 +18,8 @@ export declare class Track extends EventEmitter {
|
|
17
18
|
detach(): HTMLMediaElement[];
|
18
19
|
detach(element: HTMLMediaElement): HTMLMediaElement;
|
19
20
|
stop(): void;
|
21
|
+
protected enable(): void;
|
22
|
+
protected disable(): void;
|
20
23
|
private recycleElement;
|
21
24
|
}
|
22
25
|
/** @internal */
|
@@ -30,7 +33,12 @@ export declare namespace Track {
|
|
30
33
|
Unknown = "unknown"
|
31
34
|
}
|
32
35
|
type SID = string;
|
33
|
-
|
36
|
+
enum Source {
|
37
|
+
Camera = "camera",
|
38
|
+
Microphone = "microphone",
|
39
|
+
ScreenShare = "screen_share",
|
40
|
+
Unknown = "unknown"
|
41
|
+
}
|
34
42
|
interface Dimensions {
|
35
43
|
width: number;
|
36
44
|
height: number;
|
@@ -39,4 +47,8 @@ export declare namespace Track {
|
|
39
47
|
function kindToProto(k: Kind): TrackType;
|
40
48
|
/** @internal */
|
41
49
|
function kindFromProto(t: TrackType): Kind | undefined;
|
50
|
+
/** @internal */
|
51
|
+
function sourceToProto(s: Source): TrackSource;
|
52
|
+
/** @internal */
|
53
|
+
function sourceFromProto(s: TrackSource): Source;
|
42
54
|
}
|
package/dist/room/track/Track.js
CHANGED
@@ -15,6 +15,7 @@ class Track extends events_1.EventEmitter {
|
|
15
15
|
this.kind = kind;
|
16
16
|
this.mediaStreamTrack = mediaTrack;
|
17
17
|
this.name = name || '';
|
18
|
+
this.source = Track.Source.Unknown;
|
18
19
|
}
|
19
20
|
attach(element) {
|
20
21
|
let elementType = 'audio';
|
@@ -83,6 +84,12 @@ class Track extends events_1.EventEmitter {
|
|
83
84
|
stop() {
|
84
85
|
this.mediaStreamTrack.stop();
|
85
86
|
}
|
87
|
+
enable() {
|
88
|
+
this.mediaStreamTrack.enabled = true;
|
89
|
+
}
|
90
|
+
disable() {
|
91
|
+
this.mediaStreamTrack.enabled = false;
|
92
|
+
}
|
86
93
|
recycleElement(element) {
|
87
94
|
if (element instanceof HTMLAudioElement) {
|
88
95
|
// we only need to re-use a single element
|
@@ -140,6 +147,13 @@ exports.detachTrack = detachTrack;
|
|
140
147
|
Kind["Video"] = "video";
|
141
148
|
Kind["Unknown"] = "unknown";
|
142
149
|
})(Kind = Track.Kind || (Track.Kind = {}));
|
150
|
+
let Source;
|
151
|
+
(function (Source) {
|
152
|
+
Source["Camera"] = "camera";
|
153
|
+
Source["Microphone"] = "microphone";
|
154
|
+
Source["ScreenShare"] = "screen_share";
|
155
|
+
Source["Unknown"] = "unknown";
|
156
|
+
})(Source = Track.Source || (Track.Source = {}));
|
143
157
|
/** @internal */
|
144
158
|
function kindToProto(k) {
|
145
159
|
switch (k) {
|
@@ -164,5 +178,33 @@ exports.detachTrack = detachTrack;
|
|
164
178
|
}
|
165
179
|
}
|
166
180
|
Track.kindFromProto = kindFromProto;
|
181
|
+
/** @internal */
|
182
|
+
function sourceToProto(s) {
|
183
|
+
switch (s) {
|
184
|
+
case Source.Camera:
|
185
|
+
return livekit_models_1.TrackSource.CAMERA;
|
186
|
+
case Source.Microphone:
|
187
|
+
return livekit_models_1.TrackSource.MICROPHONE;
|
188
|
+
case Source.ScreenShare:
|
189
|
+
return livekit_models_1.TrackSource.SCREEN_SHARE;
|
190
|
+
default:
|
191
|
+
return livekit_models_1.TrackSource.UNRECOGNIZED;
|
192
|
+
}
|
193
|
+
}
|
194
|
+
Track.sourceToProto = sourceToProto;
|
195
|
+
/** @internal */
|
196
|
+
function sourceFromProto(s) {
|
197
|
+
switch (s) {
|
198
|
+
case livekit_models_1.TrackSource.CAMERA:
|
199
|
+
return Source.Camera;
|
200
|
+
case livekit_models_1.TrackSource.MICROPHONE:
|
201
|
+
return Source.Microphone;
|
202
|
+
case livekit_models_1.TrackSource.SCREEN_SHARE:
|
203
|
+
return Source.ScreenShare;
|
204
|
+
default:
|
205
|
+
return Source.Unknown;
|
206
|
+
}
|
207
|
+
}
|
208
|
+
Track.sourceFromProto = sourceFromProto;
|
167
209
|
})(Track = exports.Track || (exports.Track = {}));
|
168
210
|
//# sourceMappingURL=Track.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Track.js","sourceRoot":"","sources":["../../../src/room/track/Track.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AACtC,+
|
1
|
+
{"version":3,"file":"Track.js","sourceRoot":"","sources":["../../../src/room/track/Track.ts"],"names":[],"mappings":"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"}
|
@@ -11,6 +11,7 @@ export default class TrackPublication extends EventEmitter {
|
|
11
11
|
trackName: string;
|
12
12
|
trackSid: Track.SID;
|
13
13
|
track?: Track;
|
14
|
+
source: Track.Source;
|
14
15
|
/** dimension of the original published stream, video-only */
|
15
16
|
dimensions?: Track.Dimensions;
|
16
17
|
/** true if track was simulcasted to server, video-only */
|
@@ -17,6 +17,7 @@ class TrackPublication extends events_1.EventEmitter {
|
|
17
17
|
this.kind = kind;
|
18
18
|
this.trackSid = id;
|
19
19
|
this.trackName = name;
|
20
|
+
this.source = Track_1.Track.Source.Unknown;
|
20
21
|
}
|
21
22
|
/** @internal */
|
22
23
|
setTrack(track) {
|
@@ -60,6 +61,7 @@ class TrackPublication extends events_1.EventEmitter {
|
|
60
61
|
updateInfo(info) {
|
61
62
|
this.trackSid = info.sid;
|
62
63
|
this.trackName = info.name;
|
64
|
+
this.source = Track_1.Track.sourceFromProto(info.source);
|
63
65
|
if (this.kind === Track_1.Track.Kind.Video && info.width > 0) {
|
64
66
|
this.dimensions = {
|
65
67
|
width: info.width,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TrackPublication.js","sourceRoot":"","sources":["../../../src/room/track/TrackPublication.ts"],"names":[],"mappings":";;;;;AAAA,mCAAsC;AAEtC,sCAAuC;AACvC,wEAAgD;AAChD,wEAAgD;AAChD,0EAAkD;AAClD,0EAAkD;AAClD,mCAAgC;AAEhC,MAAqB,gBAAiB,SAAQ,qBAAY;
|
1
|
+
{"version":3,"file":"TrackPublication.js","sourceRoot":"","sources":["../../../src/room/track/TrackPublication.ts"],"names":[],"mappings":";;;;;AAAA,mCAAsC;AAEtC,sCAAuC;AACvC,wEAAgD;AAChD,wEAAgD;AAChD,0EAAkD;AAClD,0EAAkD;AAClD,mCAAgC;AAEhC,MAAqB,gBAAiB,SAAQ,qBAAY;IAmBxD,YAAY,IAAgB,EAAE,EAAU,EAAE,IAAY;QACpD,KAAK,EAAE,CAAC;QAHA,kBAAa,GAAY,KAAK,CAAC;QAIvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,aAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IACrC,CAAC;IAED,gBAAgB;IAChB,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,KAAK,EAAE;YACT,iBAAiB;YACjB,KAAK,CAAC,EAAE,CAAC,mBAAU,CAAC,KAAK,EAAE,GAAG,EAAE;gBAC9B,IAAI,CAAC,IAAI,CAAC,mBAAU,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,mBAAU,CAAC,OAAO,EAAE,GAAG,EAAE;gBAChC,IAAI,CAAC,IAAI,CAAC,mBAAU,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,IAAI,IAAI,CAAC,KAAK,YAAY,yBAAe,IAAI,IAAI,CAAC,KAAK,YAAY,0BAAgB,EAAE;YACnF,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;IACH,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,IAAI,IAAI,CAAC,KAAK,YAAY,yBAAe,IAAI,IAAI,CAAC,KAAK,YAAY,0BAAgB,EAAE;YACnF,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;IACH,CAAC;IAED,gBAAgB;IAChB,UAAU,CAAC,IAAe;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,aAAK,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,IAAI,CAAC,IAAI,KAAK,aAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE;YACpD,IAAI,CAAC,UAAU,GAAG;gBAChB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC;YACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;SACnC;IACH,CAAC;CACF;AAtFD,mCAsFC"}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import LocalAudioTrack from './LocalAudioTrack';
|
2
|
+
import LocalTrack from './LocalTrack';
|
3
|
+
import LocalVideoTrack from './LocalVideoTrack';
|
4
|
+
import { CreateAudioTrackOptions, CreateLocalTracksOptions, CreateScreenTrackOptions, CreateVideoTrackOptions } from './options';
|
5
|
+
export declare function isAudioCaptureAllowed(): boolean | undefined;
|
6
|
+
export declare function isVideoCaptureAllowed(): boolean | undefined;
|
7
|
+
/**
|
8
|
+
* creates a local video and audio track at the same time
|
9
|
+
* @param options
|
10
|
+
*/
|
11
|
+
export declare function createLocalTracks(options?: CreateLocalTracksOptions): Promise<Array<LocalTrack>>;
|
12
|
+
/**
|
13
|
+
* Creates a [[LocalVideoTrack]] with getUserMedia()
|
14
|
+
* @param options
|
15
|
+
*/
|
16
|
+
export declare function createLocalVideoTrack(options?: CreateVideoTrackOptions): Promise<LocalVideoTrack>;
|
17
|
+
export declare function createLocalAudioTrack(options?: CreateAudioTrackOptions): Promise<LocalAudioTrack>;
|
18
|
+
/**
|
19
|
+
* Creates a screen capture tracks with getDisplayMedia().
|
20
|
+
* A LocalVideoTrack is always created and returned.
|
21
|
+
* If { audio: true }, and the browser supports audio capture, a LocalAudioTrack is also created.
|
22
|
+
*/
|
23
|
+
export declare function createLocalScreenTracks(options?: CreateScreenTrackOptions): Promise<Array<LocalTrack>>;
|