livekit-client 0.15.2 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/api/SignalClient.d.ts +11 -3
  2. package/dist/api/SignalClient.js +92 -28
  3. package/dist/api/SignalClient.js.map +1 -1
  4. package/dist/index.d.ts +4 -2
  5. package/dist/index.js +5 -3
  6. package/dist/index.js.map +1 -1
  7. package/dist/options.d.ts +5 -0
  8. package/dist/proto/livekit_models.d.ts +33 -0
  9. package/dist/proto/livekit_models.js +263 -4
  10. package/dist/proto/livekit_models.js.map +1 -1
  11. package/dist/proto/livekit_rtc.d.ts +48 -10
  12. package/dist/proto/livekit_rtc.js +273 -22
  13. package/dist/proto/livekit_rtc.js.map +1 -1
  14. package/dist/room/PCTransport.js +4 -0
  15. package/dist/room/PCTransport.js.map +1 -1
  16. package/dist/room/RTCEngine.d.ts +10 -2
  17. package/dist/room/RTCEngine.js +182 -42
  18. package/dist/room/RTCEngine.js.map +1 -1
  19. package/dist/room/Room.d.ts +15 -0
  20. package/dist/room/Room.js +165 -20
  21. package/dist/room/Room.js.map +1 -1
  22. package/dist/room/events.d.ts +42 -20
  23. package/dist/room/events.js +41 -19
  24. package/dist/room/events.js.map +1 -1
  25. package/dist/room/participant/LocalParticipant.d.ts +25 -4
  26. package/dist/room/participant/LocalParticipant.js +47 -20
  27. package/dist/room/participant/LocalParticipant.js.map +1 -1
  28. package/dist/room/participant/Participant.d.ts +1 -1
  29. package/dist/room/participant/ParticipantTrackPermission.d.ts +19 -0
  30. package/dist/room/participant/ParticipantTrackPermission.js +16 -0
  31. package/dist/room/participant/ParticipantTrackPermission.js.map +1 -0
  32. package/dist/room/participant/RemoteParticipant.d.ts +2 -2
  33. package/dist/room/participant/RemoteParticipant.js +11 -14
  34. package/dist/room/participant/RemoteParticipant.js.map +1 -1
  35. package/dist/room/participant/publishUtils.js +1 -1
  36. package/dist/room/participant/publishUtils.js.map +1 -1
  37. package/dist/room/participant/publishUtils.test.js +9 -0
  38. package/dist/room/participant/publishUtils.test.js.map +1 -1
  39. package/dist/room/track/LocalTrack.d.ts +0 -3
  40. package/dist/room/track/LocalTrack.js +1 -6
  41. package/dist/room/track/LocalTrack.js.map +1 -1
  42. package/dist/room/track/LocalTrackPublication.d.ts +5 -1
  43. package/dist/room/track/LocalTrackPublication.js +15 -5
  44. package/dist/room/track/LocalTrackPublication.js.map +1 -1
  45. package/dist/room/track/LocalVideoTrack.js +2 -0
  46. package/dist/room/track/LocalVideoTrack.js.map +1 -1
  47. package/dist/room/track/RemoteAudioTrack.d.ts +5 -14
  48. package/dist/room/track/RemoteAudioTrack.js +7 -32
  49. package/dist/room/track/RemoteAudioTrack.js.map +1 -1
  50. package/dist/room/track/RemoteTrack.d.ts +14 -0
  51. package/dist/room/track/RemoteTrack.js +47 -0
  52. package/dist/room/track/RemoteTrack.js.map +1 -0
  53. package/dist/room/track/RemoteTrackPublication.d.ts +10 -2
  54. package/dist/room/track/RemoteTrackPublication.js +51 -13
  55. package/dist/room/track/RemoteTrackPublication.js.map +1 -1
  56. package/dist/room/track/RemoteVideoTrack.d.ts +3 -9
  57. package/dist/room/track/RemoteVideoTrack.js +16 -36
  58. package/dist/room/track/RemoteVideoTrack.js.map +1 -1
  59. package/dist/room/track/Track.d.ts +3 -0
  60. package/dist/room/track/Track.js +14 -5
  61. package/dist/room/track/Track.js.map +1 -1
  62. package/dist/room/track/TrackPublication.d.ts +12 -1
  63. package/dist/room/track/TrackPublication.js +23 -7
  64. package/dist/room/track/TrackPublication.js.map +1 -1
  65. package/dist/room/track/create.js +5 -0
  66. package/dist/room/track/create.js.map +1 -1
  67. package/dist/room/utils.d.ts +2 -0
  68. package/dist/room/utils.js +12 -1
  69. package/dist/room/utils.js.map +1 -1
  70. package/dist/version.d.ts +2 -2
  71. package/dist/version.js +2 -2
  72. package/package.json +3 -3
  73. package/src/api/SignalClient.ts +444 -0
  74. package/src/connect.ts +100 -0
  75. package/src/index.ts +47 -0
  76. package/src/logger.ts +22 -0
  77. package/src/options.ts +152 -0
  78. package/src/proto/livekit_models.ts +1863 -0
  79. package/src/proto/livekit_rtc.ts +3415 -0
  80. package/src/room/DeviceManager.ts +57 -0
  81. package/src/room/PCTransport.ts +86 -0
  82. package/src/room/RTCEngine.ts +582 -0
  83. package/src/room/Room.ts +840 -0
  84. package/src/room/errors.ts +65 -0
  85. package/src/room/events.ts +398 -0
  86. package/src/room/participant/LocalParticipant.ts +685 -0
  87. package/src/room/participant/Participant.ts +214 -0
  88. package/src/room/participant/ParticipantTrackPermission.ts +32 -0
  89. package/src/room/participant/RemoteParticipant.ts +241 -0
  90. package/src/room/participant/publishUtils.test.ts +105 -0
  91. package/src/room/participant/publishUtils.ts +180 -0
  92. package/src/room/stats.ts +130 -0
  93. package/src/room/track/LocalAudioTrack.ts +112 -0
  94. package/src/room/track/LocalTrack.ts +124 -0
  95. package/src/room/track/LocalTrackPublication.ts +66 -0
  96. package/src/room/track/LocalVideoTrack.test.ts +70 -0
  97. package/src/room/track/LocalVideoTrack.ts +416 -0
  98. package/src/room/track/RemoteAudioTrack.ts +58 -0
  99. package/src/room/track/RemoteTrack.ts +59 -0
  100. package/src/room/track/RemoteTrackPublication.ts +198 -0
  101. package/src/room/track/RemoteVideoTrack.ts +215 -0
  102. package/src/room/track/Track.ts +307 -0
  103. package/src/room/track/TrackPublication.ts +120 -0
  104. package/src/room/track/create.ts +120 -0
  105. package/src/room/track/defaults.ts +23 -0
  106. package/src/room/track/options.ts +229 -0
  107. package/src/room/track/types.ts +8 -0
  108. package/src/room/track/utils.test.ts +93 -0
  109. package/src/room/track/utils.ts +76 -0
  110. package/src/room/utils.ts +58 -0
  111. package/src/version.ts +2 -0
  112. package/.github/workflows/publish.yaml +0 -55
  113. package/.github/workflows/test.yaml +0 -36
  114. package/example/index.html +0 -248
  115. package/example/sample.ts +0 -621
  116. package/example/styles.css +0 -144
  117. package/example/webpack.config.js +0 -33
@@ -366,6 +366,7 @@ function videoLayersFromEncodings(width, height, encodings) {
366
366
  width,
367
367
  height,
368
368
  bitrate: 0,
369
+ ssrc: 0,
369
370
  }];
370
371
  }
371
372
  return encodings.map((encoding) => {
@@ -380,6 +381,7 @@ function videoLayersFromEncodings(width, height, encodings) {
380
381
  width: width / scale,
381
382
  height: height / scale,
382
383
  bitrate: (_c = encoding.maxBitrate) !== null && _c !== void 0 ? _c : 0,
384
+ ssrc: 0,
383
385
  };
384
386
  });
385
387
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LocalVideoTrack.js","sourceRoot":"","sources":["../../../src/room/track/LocalVideoTrack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalVideoTrack.js","sourceRoot":"","sources":["../../../src/room/track/LocalVideoTrack.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,8 @@
1
- import { Track } from './Track';
2
- export default class RemoteAudioTrack extends Track {
3
- /** @internal */
4
- receiver?: RTCRtpReceiver;
5
- private _currentBitrate;
1
+ import { AudioReceiverStats } from '../stats';
2
+ import RemoteTrack from './RemoteTrack';
3
+ export default class RemoteAudioTrack extends RemoteTrack {
6
4
  private prevStats?;
7
5
  constructor(mediaTrack: MediaStreamTrack, sid: string, receiver?: RTCRtpReceiver);
8
- /** current receive bits per second */
9
- get currentBitrate(): number;
10
- /** @internal */
11
- setMuted(muted: boolean): void;
12
- start(): void;
13
- stop(): void;
14
- startMonitor(): void;
15
- private monitorReceiver;
16
- private getReceiverStats;
6
+ protected monitorReceiver: () => Promise<void>;
7
+ protected getReceiverStats(): Promise<AudioReceiverStats | undefined>;
17
8
  }
@@ -8,21 +8,23 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
- const events_1 = require("../events");
13
15
  const stats_1 = require("../stats");
16
+ const RemoteTrack_1 = __importDefault(require("./RemoteTrack"));
14
17
  const Track_1 = require("./Track");
15
- class RemoteAudioTrack extends Track_1.Track {
18
+ class RemoteAudioTrack extends RemoteTrack_1.default {
16
19
  constructor(mediaTrack, sid, receiver) {
17
- super(mediaTrack, Track_1.Track.Kind.Audio);
18
- this._currentBitrate = 0;
20
+ super(mediaTrack, sid, Track_1.Track.Kind.Audio, receiver);
19
21
  this.monitorReceiver = () => __awaiter(this, void 0, void 0, function* () {
20
22
  if (!this.receiver) {
21
23
  this._currentBitrate = 0;
22
24
  return;
23
25
  }
24
26
  const stats = yield this.getReceiverStats();
25
- if (stats && this.prevStats) {
27
+ if (stats && this.prevStats && this.receiver) {
26
28
  this._currentBitrate = stats_1.computeBitrate(stats, this.prevStats);
27
29
  }
28
30
  this.prevStats = stats;
@@ -30,33 +32,6 @@ class RemoteAudioTrack extends Track_1.Track {
30
32
  this.monitorReceiver();
31
33
  }, stats_1.monitorFrequency);
32
34
  });
33
- this.sid = sid;
34
- this.receiver = receiver;
35
- }
36
- /** current receive bits per second */
37
- get currentBitrate() {
38
- return this._currentBitrate;
39
- }
40
- /** @internal */
41
- setMuted(muted) {
42
- if (this.isMuted !== muted) {
43
- this.isMuted = muted;
44
- this.emit(muted ? events_1.TrackEvent.Muted : events_1.TrackEvent.Unmuted, this);
45
- }
46
- }
47
- start() {
48
- // use `enabled` of track to enable re-use of transceiver
49
- super.enable();
50
- }
51
- stop() {
52
- // use `enabled` of track to enable re-use of transceiver
53
- super.disable();
54
- }
55
- /* @internal */
56
- startMonitor() {
57
- setTimeout(() => {
58
- this.monitorReceiver();
59
- }, stats_1.monitorFrequency);
60
35
  }
61
36
  getReceiverStats() {
62
37
  return __awaiter(this, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteAudioTrack.js","sourceRoot":"","sources":["../../../src/room/track/RemoteAudioTrack.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,sCAAuC;AACvC,oCAAgF;AAChF,mCAAgC;AAEhC,MAAqB,gBAAiB,SAAQ,aAAK;IAQjD,YACE,UAA4B,EAC5B,GAAW,EACX,QAAyB;QAEzB,KAAK,CAAC,UAAU,EAAE,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAT9B,oBAAe,GAAW,CAAC,CAAC;QA4C5B,oBAAe,GAAG,GAAS,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;gBACzB,OAAO;aACR;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAE5C,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;gBAC3B,IAAI,CAAC,eAAe,GAAG,sBAAc,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aAC9D;YAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC,EAAE,wBAAgB,CAAC,CAAC;QACvB,CAAC,CAAA,CAAC;QAjDA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,sCAAsC;IACtC,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,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;IAED,eAAe;IACf,YAAY;QACV,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,EAAE,wBAAgB,CAAC,CAAC;IACvB,CAAC;IAmBa,gBAAgB;;YAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,OAAO;aACR;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC7C,IAAI,aAA6C,CAAC;YAClD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClB,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE;oBAC5B,aAAa,GAAG;wBACd,IAAI,EAAE,OAAO;wBACb,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,aAAa,EAAE,CAAC,CAAC,aAAa;wBAC9B,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;wBACpC,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;wBACtC,sBAAsB,EAAE,CAAC,CAAC,sBAAsB;wBAChD,uBAAuB,EAAE,CAAC,CAAC,uBAAuB;wBAClD,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;wBACpC,oBAAoB,EAAE,CAAC,CAAC,oBAAoB;qBAC7C,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;YACH,OAAO,aAAa,CAAC;QACvB,CAAC;KAAA;CACF;AA1FD,mCA0FC"}
1
+ {"version":3,"file":"RemoteAudioTrack.js","sourceRoot":"","sources":["../../../src/room/track/RemoteAudioTrack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oCAAgF;AAChF,gEAAwC;AACxC,mCAAgC;AAEhC,MAAqB,gBAAiB,SAAQ,qBAAW;IAGvD,YACE,UAA4B,EAC5B,GAAW,EACX,QAAyB;QAEzB,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,aAAK,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAG3C,oBAAe,GAAG,GAAS,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;gBACzB,OAAO;aACR;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAE5C,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC5C,IAAI,CAAC,eAAe,GAAG,sBAAc,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aAC9D;YAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC,EAAE,wBAAgB,CAAC,CAAC;QACvB,CAAC,CAAA,CAAC;IAjBF,CAAC;IAmBe,gBAAgB;;YAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,OAAO;aACR;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC7C,IAAI,aAA6C,CAAC;YAClD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClB,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE;oBAC5B,aAAa,GAAG;wBACd,IAAI,EAAE,OAAO;wBACb,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,aAAa,EAAE,CAAC,CAAC,aAAa;wBAC9B,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;wBACpC,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;wBACtC,sBAAsB,EAAE,CAAC,CAAC,sBAAsB;wBAChD,uBAAuB,EAAE,CAAC,CAAC,uBAAuB;wBAClD,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;wBACpC,oBAAoB,EAAE,CAAC,CAAC,oBAAoB;qBAC7C,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;YACH,OAAO,aAAa,CAAC;QACvB,CAAC;KAAA;CACF;AArDD,mCAqDC"}
@@ -0,0 +1,14 @@
1
+ import { Track } from './Track';
2
+ export default abstract class RemoteTrack extends Track {
3
+ /** @internal */
4
+ receiver?: RTCRtpReceiver;
5
+ constructor(mediaTrack: MediaStreamTrack, sid: string, kind: Track.Kind, receiver?: RTCRtpReceiver);
6
+ /** @internal */
7
+ setMuted(muted: boolean): void;
8
+ /** @internal */
9
+ setMediaStream(stream: MediaStream): void;
10
+ start(): void;
11
+ stop(): void;
12
+ startMonitor(): void;
13
+ protected abstract monitorReceiver(): void;
14
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const events_1 = require("../events");
4
+ const stats_1 = require("../stats");
5
+ const Track_1 = require("./Track");
6
+ class RemoteTrack extends Track_1.Track {
7
+ constructor(mediaTrack, sid, kind, receiver) {
8
+ super(mediaTrack, kind);
9
+ this.sid = sid;
10
+ this.receiver = receiver;
11
+ }
12
+ /** @internal */
13
+ setMuted(muted) {
14
+ if (this.isMuted !== muted) {
15
+ this.isMuted = muted;
16
+ this.emit(muted ? events_1.TrackEvent.Muted : events_1.TrackEvent.Unmuted, this);
17
+ }
18
+ }
19
+ /** @internal */
20
+ setMediaStream(stream) {
21
+ // this is needed to determine when the track is finished
22
+ // we send each track down in its own MediaStream, so we can assume the
23
+ // current track is the only one that can be removed.
24
+ stream.onremovetrack = () => {
25
+ this.receiver = undefined;
26
+ this._currentBitrate = 0;
27
+ this.emit(events_1.TrackEvent.Ended, this);
28
+ };
29
+ }
30
+ start() {
31
+ this.startMonitor();
32
+ // use `enabled` of track to enable re-use of transceiver
33
+ super.enable();
34
+ }
35
+ stop() {
36
+ // use `enabled` of track to enable re-use of transceiver
37
+ super.disable();
38
+ }
39
+ /* @internal */
40
+ startMonitor() {
41
+ setTimeout(() => {
42
+ this.monitorReceiver();
43
+ }, stats_1.monitorFrequency);
44
+ }
45
+ }
46
+ exports.default = RemoteTrack;
47
+ //# sourceMappingURL=RemoteTrack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoteTrack.js","sourceRoot":"","sources":["../../../src/room/track/RemoteTrack.ts"],"names":[],"mappings":";;AAAA,sCAAuC;AACvC,oCAA4C;AAC5C,mCAAgC;AAEhC,MAA8B,WAAY,SAAQ,aAAK;IAIrD,YACE,UAA4B,EAC5B,GAAW,EACX,IAAgB,EAChB,QAAyB;QAEzB,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACxB,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,gBAAgB;IAChB,cAAc,CAAC,MAAmB;QAChC,yDAAyD;QACzD,uEAAuE;QACvE,qDAAqD;QACrD,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,mBAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,yDAAyD;QACzD,KAAK,CAAC,MAAM,EAAE,CAAC;IACjB,CAAC;IAED,IAAI;QACF,yDAAyD;QACzD,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAED,eAAe;IACf,YAAY;QACV,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,EAAE,wBAAgB,CAAC,CAAC;IACvB,CAAC;CAGF;AAtDD,8BAsDC"}
@@ -1,9 +1,11 @@
1
1
  import { TrackInfo, VideoQuality } from '../../proto/livekit_models';
2
2
  import { Track } from './Track';
3
- import TrackPublication from './TrackPublication';
3
+ import { TrackPublication } from './TrackPublication';
4
4
  import { RemoteTrack } from './types';
5
5
  export default class RemoteTrackPublication extends TrackPublication {
6
6
  track?: RemoteTrack;
7
+ /** @internal */
8
+ _allowed: boolean;
7
9
  protected subscribed?: boolean;
8
10
  protected disabled: boolean;
9
11
  protected currentVideoQuality?: VideoQuality;
@@ -13,6 +15,10 @@ export default class RemoteTrackPublication extends TrackPublication {
13
15
  * @param subscribed true to subscribe to a track, false to unsubscribe
14
16
  */
15
17
  setSubscribed(subscribed: boolean): void;
18
+ get subscriptionStatus(): TrackPublication.SubscriptionStatus;
19
+ /**
20
+ * Returns true if track is subscribed, and ready for playback
21
+ */
16
22
  get isSubscribed(): boolean;
17
23
  get isEnabled(): boolean;
18
24
  /**
@@ -35,8 +41,10 @@ export default class RemoteTrackPublication extends TrackPublication {
35
41
  setTrack(track?: Track): void;
36
42
  /** @internal */
37
43
  updateInfo(info: TrackInfo): void;
44
+ private isManualOperationAllowed;
45
+ protected handleEnded: (track: RemoteTrack) => void;
38
46
  protected get isAdaptiveStream(): boolean;
39
47
  protected handleVisibilityChange: (visible: boolean) => void;
40
48
  protected handleVideoDimensionsChange: (dimensions: Track.Dimensions) => void;
41
- protected emitTrackUpdate(): void;
49
+ emitTrackUpdate(): void;
42
50
  }
@@ -8,12 +8,17 @@ const livekit_models_1 = require("../../proto/livekit_models");
8
8
  const livekit_rtc_1 = require("../../proto/livekit_rtc");
9
9
  const events_1 = require("../events");
10
10
  const RemoteVideoTrack_1 = __importDefault(require("./RemoteVideoTrack"));
11
- const TrackPublication_1 = __importDefault(require("./TrackPublication"));
12
- class RemoteTrackPublication extends TrackPublication_1.default {
11
+ const TrackPublication_1 = require("./TrackPublication");
12
+ class RemoteTrackPublication extends TrackPublication_1.TrackPublication {
13
13
  constructor() {
14
14
  super(...arguments);
15
+ /** @internal */
16
+ this._allowed = true;
15
17
  this.disabled = false;
16
18
  this.currentVideoQuality = livekit_models_1.VideoQuality.HIGH;
19
+ this.handleEnded = (track) => {
20
+ this.emit(events_1.TrackEvent.Ended, track);
21
+ };
17
22
  this.handleVisibilityChange = (visible) => {
18
23
  logger_1.default.debug('adaptivestream video visibility', this.trackSid, `visible=${visible}`);
19
24
  this.disabled = !visible;
@@ -34,14 +39,34 @@ class RemoteTrackPublication extends TrackPublication_1.default {
34
39
  const sub = {
35
40
  trackSids: [this.trackSid],
36
41
  subscribe: this.subscribed,
37
- participantTracks: [],
42
+ participantTracks: [{
43
+ // sending an empty participant id since TrackPublication doesn't keep it
44
+ // this is filled in by the participant that receives this message
45
+ participantSid: '',
46
+ trackSids: [this.trackSid],
47
+ }],
38
48
  };
39
49
  this.emit(events_1.TrackEvent.UpdateSubscription, sub);
40
50
  }
51
+ get subscriptionStatus() {
52
+ if (this.subscribed === false || !super.isSubscribed) {
53
+ return TrackPublication_1.TrackPublication.SubscriptionStatus.Unsubscribed;
54
+ }
55
+ if (!this._allowed) {
56
+ return TrackPublication_1.TrackPublication.SubscriptionStatus.NotAllowed;
57
+ }
58
+ return TrackPublication_1.TrackPublication.SubscriptionStatus.Subscribed;
59
+ }
60
+ /**
61
+ * Returns true if track is subscribed, and ready for playback
62
+ */
41
63
  get isSubscribed() {
42
64
  if (this.subscribed === false) {
43
65
  return false;
44
66
  }
67
+ if (!this._allowed) {
68
+ return false;
69
+ }
45
70
  return super.isSubscribed;
46
71
  }
47
72
  get isEnabled() {
@@ -54,10 +79,7 @@ class RemoteTrackPublication extends TrackPublication_1.default {
54
79
  * @param enabled
55
80
  */
56
81
  setEnabled(enabled) {
57
- if (this.isAdaptiveStream || !this.isSubscribed || this.disabled === !enabled) {
58
- return;
59
- }
60
- if (this.track instanceof RemoteVideoTrack_1.default && this.track.isAdaptiveStream) {
82
+ if (!this.isManualOperationAllowed() || this.disabled === !enabled) {
61
83
  return;
62
84
  }
63
85
  this.disabled = !enabled;
@@ -71,7 +93,7 @@ class RemoteTrackPublication extends TrackPublication_1.default {
71
93
  * optimize for uninterrupted video
72
94
  */
73
95
  setVideoQuality(quality) {
74
- if (this.isAdaptiveStream || !this.isSubscribed || this.currentVideoQuality === quality) {
96
+ if (!this.isManualOperationAllowed() || this.currentVideoQuality === quality) {
75
97
  return;
76
98
  }
77
99
  this.currentVideoQuality = quality;
@@ -80,7 +102,7 @@ class RemoteTrackPublication extends TrackPublication_1.default {
80
102
  }
81
103
  setVideoDimensions(dimensions) {
82
104
  var _a, _b;
83
- if (!this.isSubscribed || this.isAdaptiveStream) {
105
+ if (!this.isManualOperationAllowed()) {
84
106
  return;
85
107
  }
86
108
  if (((_a = this.videoDimensions) === null || _a === void 0 ? void 0 : _a.width) === dimensions.width
@@ -97,15 +119,19 @@ class RemoteTrackPublication extends TrackPublication_1.default {
97
119
  return this.currentVideoQuality;
98
120
  }
99
121
  setTrack(track) {
100
- var _a, _b;
101
122
  if (this.track) {
102
123
  // unregister listener
103
124
  this.track.off(events_1.TrackEvent.VideoDimensionsChanged, this.handleVideoDimensionsChange);
104
125
  this.track.off(events_1.TrackEvent.VisibilityChanged, this.handleVisibilityChange);
126
+ this.track.off(events_1.TrackEvent.Ended, this.handleEnded);
105
127
  }
106
128
  super.setTrack(track);
107
- (_a = this.track) === null || _a === void 0 ? void 0 : _a.on(events_1.TrackEvent.VideoDimensionsChanged, this.handleVideoDimensionsChange);
108
- (_b = this.track) === null || _b === void 0 ? void 0 : _b.on(events_1.TrackEvent.VisibilityChanged, this.handleVisibilityChange);
129
+ if (track) {
130
+ track.sid = this.trackSid;
131
+ track.on(events_1.TrackEvent.VideoDimensionsChanged, this.handleVideoDimensionsChange);
132
+ track.on(events_1.TrackEvent.VisibilityChanged, this.handleVisibilityChange);
133
+ track.on(events_1.TrackEvent.Ended, this.handleEnded);
134
+ }
109
135
  }
110
136
  /** @internal */
111
137
  updateInfo(info) {
@@ -114,9 +140,21 @@ class RemoteTrackPublication extends TrackPublication_1.default {
114
140
  this.metadataMuted = info.muted;
115
141
  (_a = this.track) === null || _a === void 0 ? void 0 : _a.setMuted(info.muted);
116
142
  }
143
+ isManualOperationAllowed() {
144
+ if (this.isAdaptiveStream) {
145
+ logger_1.default.warn('adaptive stream is enabled, cannot change track settings', this.trackSid);
146
+ return false;
147
+ }
148
+ if (!this.isSubscribed) {
149
+ logger_1.default.warn('cannot update track settings when not subscribed', this.trackSid);
150
+ return false;
151
+ }
152
+ return true;
153
+ }
117
154
  get isAdaptiveStream() {
118
155
  return this.track instanceof RemoteVideoTrack_1.default && this.track.isAdaptiveStream;
119
156
  }
157
+ /* @internal */
120
158
  emitTrackUpdate() {
121
159
  const settings = livekit_rtc_1.UpdateTrackSettings.fromPartial({
122
160
  trackSids: [this.trackSid],
@@ -126,7 +164,7 @@ class RemoteTrackPublication extends TrackPublication_1.default {
126
164
  settings.width = this.videoDimensions.width;
127
165
  settings.height = this.videoDimensions.height;
128
166
  }
129
- else if (this.currentVideoQuality) {
167
+ else if (this.currentVideoQuality !== undefined) {
130
168
  settings.quality = this.currentVideoQuality;
131
169
  }
132
170
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteTrackPublication.js","sourceRoot":"","sources":["../../../src/room/track/RemoteTrackPublication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RemoteTrackPublication.js","sourceRoot":"","sources":["../../../src/room/track/RemoteTrackPublication.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Track } from './Track';
2
- export default class RemoteVideoTrack extends Track {
1
+ import RemoteTrack from './RemoteTrack';
2
+ export default class RemoteVideoTrack extends RemoteTrack {
3
3
  /** @internal */
4
4
  receiver?: RTCRtpReceiver;
5
5
  private prevStats?;
@@ -7,21 +7,15 @@ export default class RemoteVideoTrack extends Track {
7
7
  private adaptiveStream?;
8
8
  private lastVisible?;
9
9
  private lastDimensions?;
10
- private _currentBitrate;
11
10
  constructor(mediaTrack: MediaStreamTrack, sid: string, receiver?: RTCRtpReceiver, adaptiveStream?: boolean);
12
11
  get isAdaptiveStream(): boolean;
13
- /** current receive bits per second */
14
- get currentBitrate(): number;
15
12
  /** @internal */
16
13
  setMuted(muted: boolean): void;
17
14
  attach(): HTMLMediaElement;
18
15
  attach(element: HTMLMediaElement): HTMLMediaElement;
19
16
  detach(): HTMLMediaElement[];
20
17
  detach(element: HTMLMediaElement): HTMLMediaElement;
21
- start(): void;
22
- stop(): void;
23
- startMonitor(): void;
24
- private monitorReceiver;
18
+ protected monitorReceiver: () => Promise<void>;
25
19
  private getReceiverStats;
26
20
  private stopObservingElement;
27
21
  private handleVisibilityChanged;
@@ -8,25 +8,28 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  const ts_debounce_1 = require("ts-debounce");
13
16
  const events_1 = require("../events");
14
17
  const stats_1 = require("../stats");
15
18
  const utils_1 = require("../utils");
19
+ const RemoteTrack_1 = __importDefault(require("./RemoteTrack"));
16
20
  const Track_1 = require("./Track");
17
21
  const REACTION_DELAY = 100;
18
- class RemoteVideoTrack extends Track_1.Track {
22
+ class RemoteVideoTrack extends RemoteTrack_1.default {
19
23
  constructor(mediaTrack, sid, receiver, adaptiveStream) {
20
- super(mediaTrack, Track_1.Track.Kind.Video);
24
+ super(mediaTrack, sid, Track_1.Track.Kind.Video, receiver);
21
25
  this.elementInfos = [];
22
- this._currentBitrate = 0;
23
26
  this.monitorReceiver = () => __awaiter(this, void 0, void 0, function* () {
24
27
  if (!this.receiver) {
25
28
  this._currentBitrate = 0;
26
29
  return;
27
30
  }
28
31
  const stats = yield this.getReceiverStats();
29
- if (stats && this.prevStats) {
32
+ if (stats && this.prevStats && this.receiver) {
30
33
  this._currentBitrate = stats_1.computeBitrate(stats, this.prevStats);
31
34
  }
32
35
  this.prevStats = stats;
@@ -46,25 +49,15 @@ class RemoteVideoTrack extends Track_1.Track {
46
49
  this.debouncedHandleResize = ts_debounce_1.debounce(() => {
47
50
  this.updateDimensions();
48
51
  }, REACTION_DELAY);
49
- // override id to parsed ID
50
- this.sid = sid;
51
- this.receiver = receiver;
52
52
  this.adaptiveStream = adaptiveStream;
53
53
  }
54
54
  get isAdaptiveStream() {
55
55
  var _a;
56
56
  return (_a = this.adaptiveStream) !== null && _a !== void 0 ? _a : false;
57
57
  }
58
- /** current receive bits per second */
59
- get currentBitrate() {
60
- return this._currentBitrate;
61
- }
62
58
  /** @internal */
63
59
  setMuted(muted) {
64
- if (this.isMuted !== muted) {
65
- this.isMuted = muted;
66
- this.emit(muted ? events_1.TrackEvent.Muted : events_1.TrackEvent.Unmuted, this);
67
- }
60
+ super.setMuted(muted);
68
61
  this.attachedElements.forEach((element) => {
69
62
  // detach or attach
70
63
  if (muted) {
@@ -82,7 +75,10 @@ class RemoteVideoTrack extends Track_1.Track {
82
75
  else {
83
76
  super.attach(element);
84
77
  }
85
- if (this.adaptiveStream) {
78
+ // It's possible attach is called multiple times on an element. When that's
79
+ // the case, we'd want to avoid adding duplicate elementInfos
80
+ if (this.adaptiveStream
81
+ && this.elementInfos.find((info) => info.element === element) === undefined) {
86
82
  this.elementInfos.push({
87
83
  element,
88
84
  visible: true, // default visible
@@ -108,20 +104,6 @@ class RemoteVideoTrack extends Track_1.Track {
108
104
  }
109
105
  return detachedElements;
110
106
  }
111
- start() {
112
- // use `enabled` of track to enable re-use of transceiver
113
- super.enable();
114
- }
115
- stop() {
116
- // use `enabled` of track to enable re-use of transceiver
117
- super.disable();
118
- }
119
- /* @internal */
120
- startMonitor() {
121
- setTimeout(() => {
122
- this.monitorReceiver();
123
- }, stats_1.monitorFrequency);
124
- }
125
107
  getReceiverStats() {
126
108
  return __awaiter(this, void 0, void 0, function* () {
127
109
  if (!this.receiver) {
@@ -168,7 +150,7 @@ class RemoteVideoTrack extends Track_1.Track {
168
150
  // delay hidden events
169
151
  setTimeout(() => {
170
152
  this.updateVisibility();
171
- }, Date.now() - lastVisibilityChange);
153
+ }, REACTION_DELAY);
172
154
  return;
173
155
  }
174
156
  this.lastVisible = isVisible;
@@ -179,11 +161,9 @@ class RemoteVideoTrack extends Track_1.Track {
179
161
  let maxWidth = 0;
180
162
  let maxHeight = 0;
181
163
  for (const info of this.elementInfos) {
182
- if (info.visible) {
183
- if (info.element.clientWidth + info.element.clientHeight > maxWidth + maxHeight) {
184
- maxWidth = info.element.clientWidth;
185
- maxHeight = info.element.clientHeight;
186
- }
164
+ if (info.element.clientWidth + info.element.clientHeight > maxWidth + maxHeight) {
165
+ maxWidth = info.element.clientWidth;
166
+ maxHeight = info.element.clientHeight;
187
167
  }
188
168
  }
189
169
  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) {
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteVideoTrack.js","sourceRoot":"","sources":["../../../src/room/track/RemoteVideoTrack.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,6CAAuC;AACvC,sCAAuC;AACvC,oCAAgF;AAChF,oCAA8F;AAC9F,mCAA8D;AAE9D,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,MAAqB,gBAAiB,SAAQ,aAAK;IAiBjD,YACE,UAA4B,EAC5B,GAAW,EACX,QAAyB,EACzB,cAAwB;QAExB,KAAK,CAAC,UAAU,EAAE,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAhB9B,iBAAY,GAAkB,EAAE,CAAC;QAQjC,oBAAe,GAAW,CAAC,CAAC;QAqG5B,oBAAe,GAAG,GAAS,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;gBACzB,OAAO;aACR;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAE5C,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;gBAC3B,IAAI,CAAC,eAAe,GAAG,sBAAc,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aAC9D;YAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC,EAAE,wBAAgB,CAAC,CAAC;QACvB,CAAC,CAAA,CAAC;QAsCM,4BAAuB,GAAG,CAAC,KAAgC,EAAE,EAAE;YACrE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;YACzC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;YAC9E,IAAI,WAAW,EAAE;gBACf,WAAW,CAAC,OAAO,GAAG,cAAc,CAAC;gBACrC,WAAW,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;aAC9C;YACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC;QAEe,0BAAqB,GAAG,sBAAQ,CAAC,GAAG,EAAE;YACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,EAAE,cAAc,CAAC,CAAC;QA7JjB,2BAA2B;QAC3B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,IAAI,gBAAgB;;QAClB,OAAO,MAAA,IAAI,CAAC,cAAc,mCAAI,KAAK,CAAC;IACtC,CAAC;IAED,sCAAsC;IACtC,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,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;IAID,MAAM,CAAC,OAA0B;QAC/B,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;SAC1B;aAAM;YACL,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACvB;QAED,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBACrB,OAAO;gBACP,OAAO,EAAE,IAAI,EAAE,kBAAkB;aAClC,CAAC,CAAC;YAEF,OAAkC;iBAChC,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC;YAC5C,OAAkC;iBAChC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC;YAE1D,+BAAuB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC3C,yBAAiB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACtC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAID,MAAM,CAAC,OAA0B;QAC/B,IAAI,gBAAgB,GAAuB,EAAE,CAAC;QAC9C,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAC9B;QACD,gBAAgB,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAElC,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE;YAChC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;SAC9B;QAED,OAAO,gBAAgB,CAAC;IAC1B,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;IAED,eAAe;IACf,YAAY;QACV,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,EAAE,wBAAgB,CAAC,CAAC;IACvB,CAAC;IAmBa,gBAAgB;;YAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,OAAO;aACR;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC7C,IAAI,aAA6C,CAAC;YAClD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClB,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE;oBAC5B,aAAa,GAAG;wBACd,IAAI,EAAE,OAAO;wBACb,aAAa,EAAE,CAAC,CAAC,aAAa;wBAC9B,aAAa,EAAE,CAAC,CAAC,aAAa;wBAC9B,cAAc,EAAE,CAAC,CAAC,cAAc;wBAChC,eAAe,EAAE,CAAC,CAAC,eAAe;wBAClC,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,UAAU,EAAE,CAAC,CAAC,UAAU;wBACxB,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,aAAa,EAAE,CAAC,CAAC,aAAa;qBAC/B,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;YACH,OAAO,aAAa,CAAC;QACvB,CAAC;KAAA;IAEO,oBAAoB,CAAC,OAAyB;;QACpD,MAAA,+BAAuB,EAAE,0CAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAA,yBAAiB,EAAE,0CAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IACnF,CAAC;IAgBO,gBAAgB;QACtB,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CACnD,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,EAC7D,CAAC,CACF,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjE,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;YAClC,OAAO;SACR;QAED,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,oBAAoB,GAAG,cAAc,EAAE;YACpE,sBAAsB;YACtB,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC,CAAC;YACtC,OAAO;SACR;QAED,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,mBAAU,CAAC,iBAAiB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAEO,gBAAgB;;QACtB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;YACpC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,GAAG,SAAS,EAAE;oBAC/E,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;oBACpC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;iBACvC;aACF;SACF;QAED,IAAI,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,KAAK,MAAK,QAAQ,IAAI,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,MAAM,MAAK,SAAS,EAAE;YACxF,OAAO;SACR;QAED,IAAI,CAAC,cAAc,GAAG;YACpB,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,SAAS;SAClB,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,mBAAU,CAAC,sBAAsB,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;CACF;AApOD,mCAoOC"}
1
+ {"version":3,"file":"RemoteVideoTrack.js","sourceRoot":"","sources":["../../../src/room/track/RemoteVideoTrack.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,10 @@ export declare class Track extends EventEmitter {
13
13
  * sid is set after track is published to server, or if it's a remote track
14
14
  */
15
15
  sid?: Track.SID;
16
+ protected _currentBitrate: number;
16
17
  protected constructor(mediaTrack: MediaStreamTrack, kind: Track.Kind);
18
+ /** current receive bits per second */
19
+ get currentBitrate(): number;
17
20
  /**
18
21
  * creates a new HTMLAudioElement or HTMLVideoElement, attaches to it, and returns it
19
22
  */