@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.
- package/CHANGELOG.md +19 -0
- package/README.md +5 -2
- package/dist/cjs/diagnostics.d.ts +1 -1
- package/dist/cjs/diagnostics.js +1 -1
- package/dist/cjs/index.d.ts +36 -5
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +181 -23
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/diagnostics.d.ts +1 -1
- package/dist/esm/diagnostics.js +1 -1
- package/dist/esm/index.d.ts +36 -5
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +181 -23
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
- package/src/diagnostics.ts +1 -1
- package/src/index.ts +174 -23
|
@@ -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.
|
|
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 {
|
package/dist/esm/diagnostics.js
CHANGED
|
@@ -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.
|
|
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. */
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
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
|
-
/**
|
|
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
|
/**
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -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.
|
|
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.
|
|
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
|
-
*
|
|
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
|
-
|
|
1865
|
-
//
|
|
1866
|
-
this.
|
|
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
|
-
|
|
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.
|
|
1914
|
-
this.preferredLayers.set(producerId, layers);
|
|
1981
|
+
const change = this.changeReceive(producerId, { quality, layers });
|
|
1915
1982
|
const adaptive = this.adaptive.current(producerId);
|
|
1916
|
-
|
|
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
|
-
|
|
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
|
-
/**
|
|
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
|
|
3152
|
-
|
|
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.
|