@voltkit-rtc/client 0.9.2 → 0.9.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.
@@ -6,7 +6,7 @@
6
6
  * attach to a support ticket: the SDK's recent events (a ring buffer) and its state now.
7
7
  */
8
8
  /** This package's version; kept equal to package.json by a test. */
9
- export declare const SDK_VERSION = "0.9.2";
9
+ export declare const SDK_VERSION = "0.9.3";
10
10
  /** How many recent events the log keeps. */
11
11
  export declare const DIAGNOSTICS_LOG_SIZE = 200;
12
12
  export interface DiagnosticsEntry {
@@ -6,7 +6,7 @@
6
6
  * attach to a support ticket: the SDK's recent events (a ring buffer) and its state now.
7
7
  */
8
8
  /** This package's version; kept equal to package.json by a test. */
9
- export const SDK_VERSION = '0.9.2';
9
+ export const SDK_VERSION = '0.9.3';
10
10
  /** How many recent events the log keeps. */
11
11
  export const DIAGNOSTICS_LOG_SIZE = 200;
12
12
  /** The events worth keeping for support, and how to summarise each. */
@@ -544,6 +544,14 @@ export declare class StreamClient {
544
544
  private readonly screenProducerIds;
545
545
  private readonly remoteVideoLayers;
546
546
  private readonly receiveQualities;
547
+ /**
548
+ * BR-09 (the Flutter SDK's V092-02): per video, the choice the server last accepted, and a revision every change
549
+ * bumps. A choice is stored before its request (what is asked for is read from it), so a request that fails goes
550
+ * back to the last accepted choice -- not merely the one before it, which may itself be waiting or refused -- and
551
+ * only the latest change may go back, so a late failure never undoes a newer choice. Replies come in request order.
552
+ */
553
+ private readonly receiveAccepted;
554
+ private readonly receiveRevision;
547
555
  private cameraFrameRate;
548
556
  private frameRateFallback;
549
557
  private frameRateLowSamples;
@@ -884,6 +892,14 @@ export declare class StreamClient {
884
892
  * had switched it off. Rejects when no camera is being published.
885
893
  */
886
894
  replaceVideoTrack(track: MediaStreamTrack): Promise<void>;
895
+ /**
896
+ * A camera swap that failed (BR-12; the Flutter SDK's V090-02). What is sent is still the old picture -- or nothing,
897
+ * when the producer was replaced and the new one failed. The client's stream goes back to the old picture, so the
898
+ * app's preview and a reconnect never use a track that did not go on air. With a processor, the old camera is put
899
+ * back through it if it dropped the old picture when given the new track. The picture made for the new track is
900
+ * released; the new track itself is the caller's.
901
+ */
902
+ private undoCameraSwap;
887
903
  /**
888
904
  * Give a camera producer whose track was swapped in place the bitrates of
889
905
  * its new picture. The layout matched, but a bigger picture at the same
@@ -915,8 +931,10 @@ export declare class StreamClient {
915
931
  * 1280×720), and a layer above the biggest means the biggest. Leave
916
932
  * `temporalLayer` out to keep the full frame rate. It is the most this
917
933
  * client is sent: a connection that cannot carry it still gets less. The
918
- * choice is kept across reconnects and forgotten when the track ends.
919
- * Rejects for a producer whose video this client is not receiving.
934
+ * choice is kept across reconnects and forgotten when the track ends; a
935
+ * call that fails (refused, or the connection lost before the answer)
936
+ * leaves the previous choice in place. Rejects for a producer whose video
937
+ * this client is not receiving.
920
938
  */
921
939
  setPreferredLayers(producerId: string, spatialLayer: number, temporalLayer?: number): Promise<void>;
922
940
  private collectVideoStats;
@@ -926,9 +944,14 @@ export declare class StreamClient {
926
944
  * big it is on screen: someone who picks 1080p expects 1080p, not the smaller copy that fits the tile. A connection
927
945
  * that cannot carry it still gets less until it recovers, and a video shown through attachVideo is still paused
928
946
  * while nobody can see it. 'auto' (the default) goes back to the size it is shown at, or the server's choice.
929
- * Kept across reconnects.
947
+ * Kept across reconnects; a call that fails leaves the previous choice in place.
930
948
  */
931
949
  setReceiveQuality(producerId: string, quality: ReceiveQuality): Promise<void>;
950
+ /** Store `choice` for one video now, before its request; the caller reports how the request ended (BR-09). */
951
+ private changeReceive;
952
+ private setReceiveChoice;
953
+ /** The video ended: its choices go with it. */
954
+ private forgetReceiveChoice;
932
955
  private cameraProducer;
933
956
  private cameraTask;
934
957
  /** Swap the video in the client's own stream, never the app's. */
@@ -1154,15 +1177,23 @@ export declare class StreamClient {
1154
1177
  * captured with the constraints publish was given (size, frame rate, echo cancellation) and its track replaces the
1155
1178
  * published one: a camera of the same size swaps with no pause for viewers, a microphone always does. The track it
1156
1179
  * replaces is stopped, releasing that device; the client's own stream follows (`localStreamChanged`), and a
1157
- * reconnect captures the chosen device again. A camera or microphone that is switched off stays off.
1180
+ * reconnect captures the chosen device again. A camera or microphone that is switched off stays off. A swap that
1181
+ * fails releases the new device and keeps the old one on air, put back through a noise suppressor or video effects
1182
+ * if one is set.
1158
1183
  *
1159
1184
  * For a camera published as a canvas or another processed track, capture the new camera yourself and pass your
1160
1185
  * processed track to `replaceVideoTrack`; this rejects rather than replace your picture with the raw camera.
1161
1186
  * Rejects when that kind is not being published.
1162
1187
  */
1163
1188
  switchDevice(kind: 'audioinput' | 'videoinput', deviceId: string): Promise<void>;
1164
- /** Put `track` on the microphone producer and in the client's own stream; the replaced track is stopped. */
1189
+ /**
1190
+ * Put `track` (one the SDK captured) on the microphone producer and in the client's own stream; the replaced track is
1191
+ * stopped. A swap that fails releases `track` and the sound made from it, and with a processor puts the microphone
1192
+ * still on air back through it: given the new track, the processor dropped that sound (BR-10, BR-11).
1193
+ */
1165
1194
  private adoptAudioTrack;
1195
+ /** After a failed microphone swap with a processor: send the microphone on air through it again (it dropped that sound). */
1196
+ private restoreMic;
1166
1197
  /** Notice when the producer's present track stops from outside (unplugged, permission revoked). */
1167
1198
  private watchTrackEnded;
1168
1199
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -252,6 +252,14 @@ export class StreamClient {
252
252
  screenProducerIds = new Set();
253
253
  remoteVideoLayers = new Map();
254
254
  receiveQualities = new Map();
255
+ /**
256
+ * BR-09 (the Flutter SDK's V092-02): per video, the choice the server last accepted, and a revision every change
257
+ * bumps. A choice is stored before its request (what is asked for is read from it), so a request that fails goes
258
+ * back to the last accepted choice -- not merely the one before it, which may itself be waiting or refused -- and
259
+ * only the latest change may go back, so a late failure never undoes a newer choice. Replies come in request order.
260
+ */
261
+ receiveAccepted = new Map();
262
+ receiveRevision = new Map();
255
263
  cameraFrameRate = 30;
256
264
  frameRateFallback = false;
257
265
  frameRateLowSamples = 0;
@@ -625,10 +633,9 @@ export class StreamClient {
625
633
  // A video that ended while this client was away sends it no
626
634
  // producerClosed: forget the layers asked for it.
627
635
  const present = new Set(result.producers.map((p) => p.producerId));
628
- for (const producerId of this.preferredLayers.keys()) {
636
+ for (const producerId of new Set([...this.preferredLayers.keys(), ...this.receiveAccepted.keys()])) {
629
637
  if (!present.has(producerId)) {
630
- this.preferredLayers.delete(producerId);
631
- this.receiveQualities.delete(producerId);
638
+ this.forgetReceiveChoice(producerId);
632
639
  this.remoteVideoLayers.delete(producerId);
633
640
  }
634
641
  }
@@ -848,6 +855,8 @@ export class StreamClient {
848
855
  this.teardownMedia();
849
856
  this.preferredLayers.clear();
850
857
  this.receiveQualities.clear();
858
+ this.receiveAccepted.clear();
859
+ this.receiveRevision.clear();
851
860
  this.remoteVideoLayers.clear();
852
861
  this.releaseScreen();
853
862
  this.music?.close();
@@ -1134,8 +1143,7 @@ export class StreamClient {
1134
1143
  case 'producerClosed': {
1135
1144
  const { producerId, identity } = data;
1136
1145
  this.subscriptions.delete(producerId);
1137
- this.preferredLayers.delete(producerId);
1138
- this.receiveQualities.delete(producerId);
1146
+ this.forgetReceiveChoice(producerId);
1139
1147
  this.remoteVideoLayers.delete(producerId);
1140
1148
  this.skippedVideos.delete(producerId);
1141
1149
  this.adaptivePaused.delete(producerId);
@@ -1728,7 +1736,10 @@ export class StreamClient {
1728
1736
  const shown = current?.track ?? this.localStream?.getVideoTracks()[0] ?? null;
1729
1737
  const previousSource = shown ? this.cameraSource(shown) : null;
1730
1738
  const before = this.camOut;
1739
+ const beforeRaw = this.camRaw;
1740
+ const wasPaused = current?.paused ?? false;
1731
1741
  const sent = await this.processCamera(track);
1742
+ let swapped = false;
1732
1743
  try {
1733
1744
  if (!current) {
1734
1745
  // The republish reads the camera's state off the track it sends, and
@@ -1742,8 +1753,10 @@ export class StreamClient {
1742
1753
  }
1743
1754
  }
1744
1755
  this.adoptVideoTrack(sent);
1745
- if (!current || current.track === sent)
1756
+ if (!current || current.track === sent) {
1757
+ swapped = true;
1746
1758
  return;
1759
+ }
1747
1760
  const previous = current.track;
1748
1761
  const paused = current.paused;
1749
1762
  try {
@@ -1754,11 +1767,13 @@ export class StreamClient {
1754
1767
  if (this.cameraEncodings && sameLayout(this.cameraEncodings, next) &&
1755
1768
  previousSize?.width === width && previousSize?.height === height) {
1756
1769
  await current.replaceTrack({ track: sent });
1770
+ swapped = true;
1757
1771
  this.watchTrackEnded(current);
1758
1772
  await this.applyLayerBitrates(current, next);
1759
1773
  return;
1760
1774
  }
1761
1775
  await this.reproduceCamera(current, sent);
1776
+ swapped = true;
1762
1777
  }
1763
1778
  finally {
1764
1779
  // Pausing switched the old track off (mediasoup-client pauses that
@@ -1769,13 +1784,57 @@ export class StreamClient {
1769
1784
  previous.enabled = true;
1770
1785
  }
1771
1786
  }
1787
+ catch (err) {
1788
+ if (!swapped) {
1789
+ await this.undoCameraSwap({ producer: current ?? null, given: track, made: sent, shown, source: previousSource, raw: beforeRaw, out: before, paused: wasPaused });
1790
+ }
1791
+ throw err;
1792
+ }
1772
1793
  finally {
1773
- // The processor's previous picture is no longer sent or shown.
1774
- if (before && before !== this.camOut)
1794
+ // The processor's previous picture is no longer sent or shown -- once the new one is.
1795
+ if (swapped && before && before !== this.camOut)
1775
1796
  before.stop();
1776
1797
  }
1777
1798
  });
1778
1799
  }
1800
+ /**
1801
+ * A camera swap that failed (BR-12; the Flutter SDK's V090-02). What is sent is still the old picture -- or nothing,
1802
+ * when the producer was replaced and the new one failed. The client's stream goes back to the old picture, so the
1803
+ * app's preview and a reconnect never use a track that did not go on air. With a processor, the old camera is put
1804
+ * back through it if it dropped the old picture when given the new track. The picture made for the new track is
1805
+ * released; the new track itself is the caller's.
1806
+ */
1807
+ async undoCameraSwap(undo) {
1808
+ const { producer, given, made, shown, source, raw, out, paused } = undo;
1809
+ if (made !== given)
1810
+ made.stop();
1811
+ const sending = () => producer !== null && !producer.closed && this.cameraProducer() === producer;
1812
+ let picture = shown;
1813
+ if (shown && shown.readyState === 'ended' && source && source !== shown && source.readyState !== 'ended') {
1814
+ // The processor dropped the picture on air: make it again from the old camera, and send that.
1815
+ picture = await this.processCamera(source);
1816
+ if (sending() && producer && producer.track !== picture) {
1817
+ try {
1818
+ await producer.replaceTrack({ track: picture });
1819
+ this.watchTrackEnded(producer);
1820
+ }
1821
+ catch (err) {
1822
+ this.emit('error', new Error(`the camera could not be put back after a failed switch: ${err?.message ?? err}`));
1823
+ }
1824
+ }
1825
+ }
1826
+ else {
1827
+ // The picture on air is as it was, and so is what stands behind it.
1828
+ this.camRaw = raw;
1829
+ this.camOut = out;
1830
+ }
1831
+ if (!picture || picture.readyState === 'ended')
1832
+ return;
1833
+ // With nothing sending it, a republish reads the camera's state off the track: a paused camera stays paused.
1834
+ if (!sending())
1835
+ picture.enabled = !paused;
1836
+ this.adoptVideoTrack(picture);
1837
+ }
1779
1838
  /**
1780
1839
  * Give a camera producer whose track was swapped in place the bitrates of
1781
1840
  * its new picture. The layout matched, but a bigger picture at the same
@@ -1849,8 +1908,10 @@ export class StreamClient {
1849
1908
  * 1280×720), and a layer above the biggest means the biggest. Leave
1850
1909
  * `temporalLayer` out to keep the full frame rate. It is the most this
1851
1910
  * client is sent: a connection that cannot carry it still gets less. The
1852
- * choice is kept across reconnects and forgotten when the track ends.
1853
- * Rejects for a producer whose video this client is not receiving.
1911
+ * choice is kept across reconnects and forgotten when the track ends; a
1912
+ * call that fails (refused, or the connection lost before the answer)
1913
+ * leaves the previous choice in place. Rejects for a producer whose video
1914
+ * this client is not receiving.
1854
1915
  */
1855
1916
  async setPreferredLayers(producerId, spatialLayer, temporalLayer) {
1856
1917
  if (!isLayer(spatialLayer) || (temporalLayer !== undefined && !isLayer(temporalLayer))) {
@@ -1861,12 +1922,19 @@ export class StreamClient {
1861
1922
  throw new Error(`setPreferredLayers: this client is not receiving a video with producerId ${producerId}`);
1862
1923
  }
1863
1924
  const layers = temporalLayer === undefined ? { spatialLayer } : { spatialLayer, temporalLayer };
1864
- this.receiveQualities.delete(producerId);
1865
- // Kept first: a reconnect that interrupts the request still applies it.
1866
- this.preferredLayers.set(producerId, layers);
1925
+ // Stored before the request, which reads it; a request that fails (refused, or the connection lost before the
1926
+ // answer) leaves the last accepted choice in place (BR-09).
1927
+ const change = this.changeReceive(producerId, { quality: undefined, layers });
1867
1928
  // Shown through attachVideo: the lower of this and the size it is shown at.
1868
1929
  const adaptive = this.adaptive.current(producerId);
1869
- await this.rpc('setPreferredLayers', { consumerId: consumer.id, ...(adaptive ? this.effectiveLayers(producerId, adaptive) : layers) });
1930
+ try {
1931
+ await this.rpc('setPreferredLayers', { consumerId: consumer.id, ...(adaptive ? this.effectiveLayers(producerId, adaptive) : layers) });
1932
+ }
1933
+ catch (err) {
1934
+ change.failed();
1935
+ throw err;
1936
+ }
1937
+ change.accepted();
1870
1938
  }
1871
1939
  async collectVideoStats(baseline) {
1872
1940
  const producer = this.cameraProducer();
@@ -1891,7 +1959,7 @@ export class StreamClient {
1891
1959
  * big it is on screen: someone who picks 1080p expects 1080p, not the smaller copy that fits the tile. A connection
1892
1960
  * that cannot carry it still gets less until it recovers, and a video shown through attachVideo is still paused
1893
1961
  * while nobody can see it. 'auto' (the default) goes back to the size it is shown at, or the server's choice.
1894
- * Kept across reconnects.
1962
+ * Kept across reconnects; a call that fails leaves the previous choice in place.
1895
1963
  */
1896
1964
  async setReceiveQuality(producerId, quality) {
1897
1965
  if (!['auto', '1080p', '720p', '480p'].includes(quality))
@@ -1910,10 +1978,52 @@ export class StreamClient {
1910
1978
  throw new RpcError('quality-unavailable', 'this publisher does not describe its video layers; use Auto');
1911
1979
  }
1912
1980
  }
1913
- this.receiveQualities.set(producerId, quality);
1914
- this.preferredLayers.set(producerId, layers);
1981
+ const change = this.changeReceive(producerId, { quality, layers });
1915
1982
  const adaptive = this.adaptive.current(producerId);
1916
- await this.rpc('setPreferredLayers', { consumerId: consumer.id, ...(adaptive ? this.effectiveLayers(producerId, adaptive) : layers) });
1983
+ try {
1984
+ await this.rpc('setPreferredLayers', { consumerId: consumer.id, ...(adaptive ? this.effectiveLayers(producerId, adaptive) : layers) });
1985
+ }
1986
+ catch (err) {
1987
+ change.failed();
1988
+ throw err;
1989
+ }
1990
+ change.accepted();
1991
+ }
1992
+ /** Store `choice` for one video now, before its request; the caller reports how the request ended (BR-09). */
1993
+ changeReceive(producerId, choice) {
1994
+ if (!this.receiveAccepted.has(producerId)) {
1995
+ this.receiveAccepted.set(producerId, { quality: this.receiveQualities.get(producerId), layers: this.preferredLayers.get(producerId) });
1996
+ }
1997
+ const revision = (this.receiveRevision.get(producerId) ?? 0) + 1;
1998
+ this.receiveRevision.set(producerId, revision);
1999
+ this.setReceiveChoice(producerId, choice);
2000
+ return {
2001
+ // Forgotten meanwhile (the video ended, the session closed): a late answer changes nothing.
2002
+ accepted: () => { if (this.receiveRevision.has(producerId))
2003
+ this.receiveAccepted.set(producerId, choice); },
2004
+ failed: () => {
2005
+ const back = this.receiveAccepted.get(producerId);
2006
+ if (this.receiveRevision.get(producerId) === revision && back)
2007
+ this.setReceiveChoice(producerId, back);
2008
+ },
2009
+ };
2010
+ }
2011
+ setReceiveChoice(producerId, choice) {
2012
+ if (choice.quality === undefined)
2013
+ this.receiveQualities.delete(producerId);
2014
+ else
2015
+ this.receiveQualities.set(producerId, choice.quality);
2016
+ if (choice.layers === undefined)
2017
+ this.preferredLayers.delete(producerId);
2018
+ else
2019
+ this.preferredLayers.set(producerId, choice.layers);
2020
+ }
2021
+ /** The video ended: its choices go with it. */
2022
+ forgetReceiveChoice(producerId) {
2023
+ this.preferredLayers.delete(producerId);
2024
+ this.receiveQualities.delete(producerId);
2025
+ this.receiveAccepted.delete(producerId);
2026
+ this.receiveRevision.delete(producerId);
1917
2027
  }
1918
2028
  cameraProducer() {
1919
2029
  for (const p of this.producers.values()) {
@@ -2701,6 +2811,10 @@ export class StreamClient {
2701
2811
  * setPreferredLayers and adaptive stream's size: the lower of the two.
2702
2812
  */
2703
2813
  effectiveLayers(producerId, want) {
2814
+ // Hidden: paused at the server, or held at the smallest layer where it cannot pause. A chosen quality or a ceiling
2815
+ // applies once the video is shown again, never while nobody can see it (BR-08; the Flutter SDK's V092-01).
2816
+ if (want && !want.visible)
2817
+ return { spatialLayer: 0, temporalLayer: 0 };
2704
2818
  let manual = this.preferredLayers.get(producerId);
2705
2819
  const quality = this.receiveQualities.get(producerId);
2706
2820
  if (quality && quality !== 'auto') {
@@ -3094,7 +3208,9 @@ export class StreamClient {
3094
3208
  * captured with the constraints publish was given (size, frame rate, echo cancellation) and its track replaces the
3095
3209
  * published one: a camera of the same size swaps with no pause for viewers, a microphone always does. The track it
3096
3210
  * replaces is stopped, releasing that device; the client's own stream follows (`localStreamChanged`), and a
3097
- * reconnect captures the chosen device again. A camera or microphone that is switched off stays off.
3211
+ * reconnect captures the chosen device again. A camera or microphone that is switched off stays off. A swap that
3212
+ * fails releases the new device and keeps the old one on air, put back through a noise suppressor or video effects
3213
+ * if one is set.
3098
3214
  *
3099
3215
  * For a camera published as a canvas or another processed track, capture the new camera yourself and pass your
3100
3216
  * processed track to `replaceVideoTrack`; this rejects rather than replace your picture with the raw camera.
@@ -3141,15 +3257,38 @@ export class StreamClient {
3141
3257
  track.stop();
3142
3258
  throw new Error('switchDevice: the microphone was unpublished meanwhile');
3143
3259
  }
3144
- await this.adoptAudioTrack(producer, track);
3260
+ try {
3261
+ // Releases the new microphone itself if the swap fails.
3262
+ await this.adoptAudioTrack(producer, track);
3263
+ }
3264
+ catch (err) {
3265
+ if (producer.closed || this.micProducer() !== producer)
3266
+ throw new Error('switchDevice: the microphone was unpublished meanwhile');
3267
+ throw err;
3268
+ }
3145
3269
  this.publishConstraints = { ...(this.publishConstraints ?? {}), audio };
3146
3270
  });
3147
3271
  }
3148
- /** Put `track` on the microphone producer and in the client's own stream; the replaced track is stopped. */
3272
+ /**
3273
+ * Put `track` (one the SDK captured) on the microphone producer and in the client's own stream; the replaced track is
3274
+ * stopped. A swap that fails releases `track` and the sound made from it, and with a processor puts the microphone
3275
+ * still on air back through it: given the new track, the processor dropped that sound (BR-10, BR-11).
3276
+ */
3149
3277
  async adoptAudioTrack(producer, track) {
3150
3278
  const previous = this.micRaw ?? producer.track;
3151
- const sent = await this.processMic(track);
3152
- await producer.replaceTrack({ track: sent });
3279
+ const previousRaw = this.micRaw;
3280
+ let sent = track;
3281
+ try {
3282
+ sent = await this.processMic(track);
3283
+ await producer.replaceTrack({ track: sent });
3284
+ }
3285
+ catch (err) {
3286
+ if (sent !== track)
3287
+ sent.stop();
3288
+ track.stop();
3289
+ await this.restoreMic(producer, previousRaw);
3290
+ throw err;
3291
+ }
3153
3292
  this.micRaw = sent !== track ? track : null;
3154
3293
  const video = this.localStream ? this.localStream.getTracks().filter((t) => t.kind !== 'audio') : [];
3155
3294
  this.localStream = new MediaStream([track, ...video]);
@@ -3158,6 +3297,25 @@ export class StreamClient {
3158
3297
  previous.stop();
3159
3298
  this.watchTrackEnded(producer);
3160
3299
  }
3300
+ /** After a failed microphone swap with a processor: send the microphone on air through it again (it dropped that sound). */
3301
+ async restoreMic(producer, raw) {
3302
+ const current = () => !producer.closed && this.micProducer() === producer;
3303
+ if (!this.audioProcessor || !raw || raw.readyState === 'ended' || !current())
3304
+ return;
3305
+ try {
3306
+ const again = await this.processMic(raw);
3307
+ if (!current()) {
3308
+ if (again !== raw)
3309
+ again.stop();
3310
+ return;
3311
+ }
3312
+ await producer.replaceTrack({ track: again });
3313
+ this.micRaw = again !== raw ? raw : null;
3314
+ }
3315
+ catch (err) {
3316
+ this.emit('error', new Error(`the microphone could not be put back after a failed switch: ${err?.message ?? err}`));
3317
+ }
3318
+ }
3161
3319
  /** Notice when the producer's present track stops from outside (unplugged, permission revoked). */
3162
3320
  watchTrackEnded(producer) {
3163
3321
  // The device's track, not the processed one a processor sends: that is the one a device ends.