@tribe-nest/media-client 0.1.0 → 0.2.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 (38) hide show
  1. package/README.md +20 -4
  2. package/build/core/reconnect.d.ts +8 -2
  3. package/build/core/reconnect.d.ts.map +1 -1
  4. package/build/core/reconnect.js +8 -2
  5. package/build/core/reconnect.js.map +1 -1
  6. package/build/core/signal.d.ts +10 -1
  7. package/build/core/signal.d.ts.map +1 -1
  8. package/build/core/signal.js +39 -10
  9. package/build/core/signal.js.map +1 -1
  10. package/build/core/state.d.ts +3 -0
  11. package/build/core/state.d.ts.map +1 -1
  12. package/build/core/state.js +21 -4
  13. package/build/core/state.js.map +1 -1
  14. package/build/react/index.d.ts +38 -7
  15. package/build/react/index.d.ts.map +1 -1
  16. package/build/react/index.js +86 -7
  17. package/build/react/index.js.map +1 -1
  18. package/build/room/browserDevice.d.ts.map +1 -1
  19. package/build/room/browserDevice.js +13 -4
  20. package/build/room/browserDevice.js.map +1 -1
  21. package/build/room/device.d.ts +13 -0
  22. package/build/room/device.d.ts.map +1 -1
  23. package/build/room/room.d.ts +129 -5
  24. package/build/room/room.d.ts.map +1 -1
  25. package/build/room/room.js +330 -58
  26. package/build/room/room.js.map +1 -1
  27. package/package.json +3 -1
  28. package/src/core/_tests/signal.spec.ts +115 -22
  29. package/src/core/_tests/state.spec.ts +68 -2
  30. package/src/core/reconnect.ts +8 -2
  31. package/src/core/signal.ts +48 -12
  32. package/src/core/state.ts +31 -5
  33. package/src/react/_tests/hooks.spec.tsx +91 -3
  34. package/src/react/index.tsx +117 -20
  35. package/src/room/_tests/room.spec.ts +747 -12
  36. package/src/room/browserDevice.ts +14 -4
  37. package/src/room/device.ts +13 -0
  38. package/src/room/room.ts +416 -61
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"browserDevice.d.ts","sourceRoot":"","sources":["../../src/room/browserDevice.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGV,WAAW,EAOZ,MAAM,UAAU,CAAC;AAsClB,wBAAgB,mBAAmB,IAAI,WAAW,CA8DjD"}
1
+ {"version":3,"file":"browserDevice.d.ts","sourceRoot":"","sources":["../../src/room/browserDevice.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGV,WAAW,EAOZ,MAAM,UAAU,CAAC;AAgDlB,wBAAgB,mBAAmB,IAAI,WAAW,CA8DjD"}
@@ -15,13 +15,22 @@ const mediasoup_client_1 = require("mediasoup-client");
15
15
  * This file is deliberately dull. If it grows logic, that logic is in the wrong
16
16
  * place.
17
17
  */
18
- const adapt = (transport) => ({
18
+ const CODEC_MIME = { h264: "video/h264", vp8: "video/vp8" };
19
+ const adapt = (transport, device) => ({
19
20
  id: transport.id,
20
- async produce({ track, appData, encodings }) {
21
+ async produce({ track, appData, encodings, codec }) {
22
+ // The router's own entry for the codec, which is what mediasoup-client
23
+ // wants rather than a name. Missing means the router does not offer it
24
+ // and the default applies, which the caller can see from the producer.
25
+ const wanted = codec ? CODEC_MIME[codec] : undefined;
26
+ const capability = wanted
27
+ ? device.rtpCapabilities.codecs?.find((c) => c.mimeType.toLowerCase() === wanted)
28
+ : undefined;
21
29
  const producer = await transport.produce({
22
30
  track,
23
31
  ...(encodings ? { encodings: encodings } : {}),
24
32
  ...(appData ? { appData } : {}),
33
+ ...(capability ? { codec: capability } : {}),
25
34
  });
26
35
  return producer;
27
36
  },
@@ -82,12 +91,12 @@ function createBrowserDevice() {
82
91
  createSendTransport({ description, iceServers, handlers }) {
83
92
  const transport = device.createSendTransport(common(description, iceServers));
84
93
  wire(transport, handlers);
85
- return adapt(transport);
94
+ return adapt(transport, device);
86
95
  },
87
96
  createRecvTransport({ description, iceServers, handlers }) {
88
97
  const transport = device.createRecvTransport(common(description, iceServers));
89
98
  wire(transport, handlers);
90
- return adapt(transport);
99
+ return adapt(transport, device);
91
100
  },
92
101
  };
93
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"browserDevice.js","sourceRoot":"","sources":["../../src/room/browserDevice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browserDevice.js","sourceRoot":"","sources":["../../src/room/browserDevice.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,8 @@ export interface MediaTransport {
60
60
  track: MediaStreamTrack;
61
61
  appData?: Record<string, unknown>;
62
62
  encodings?: unknown[];
63
+ /** Prefer this codec from the loaded capabilities; ignored when absent. */
64
+ codec?: "h264" | "vp8";
63
65
  }): Promise<MediaProducerHandle>;
64
66
  consume(input: {
65
67
  id: string;
@@ -75,7 +77,18 @@ export type MediaProducerHandle = {
75
77
  pause(): void;
76
78
  resume(): void;
77
79
  close(): void;
80
+ /** Swap the capture feeding this producer. The node sees nothing. */
81
+ replaceTrack(track: MediaStreamTrack): Promise<void>;
78
82
  readonly closed: boolean;
83
+ /**
84
+ * The underlying sender, when the implementation has one.
85
+ *
86
+ * Exposed for `degradationPreference`, which is a SENDER-level setting with
87
+ * no per-encoding equivalent, so there is no way to ask for it through
88
+ * `produce()`. Optional because a non-browser implementation has no such
89
+ * object, and every caller has to cope with its absence anyway.
90
+ */
91
+ readonly rtpSender?: RTCRtpSender | null;
79
92
  };
80
93
  export type MediaConsumerHandle = {
81
94
  readonly id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/room/device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/room/device.ts"],"names":[],"mappings":"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"}
@@ -55,13 +55,70 @@ export type MediaTrack = {
55
55
  track: MediaStreamTrack;
56
56
  /** Paused at the SOURCE, as the publisher left it. */
57
57
  paused: boolean;
58
+ /** The publisher's declared label, when the node relayed one. Rendering only. */
59
+ source?: string;
60
+ };
61
+ /** What a local track is, in the vocabulary the node checks against `publishKinds`. */
62
+ export type LocalPublicationSource = "camera" | "microphone" | "screen";
63
+ /**
64
+ * Every label this SDK publishes under.
65
+ *
66
+ * `program` is a COMPOSED feed rather than a device: a broadcast studio's
67
+ * rendered output, published so a server-side egress can restream it. It is
68
+ * not a capture, so it is never a "lost source" to re-offer a person after a
69
+ * drop, and `useLocalMedia`'s device controls never touch it. The node treats
70
+ * it as its track's kind (`requiredPublishKind`), so a token needs only
71
+ * `publishKinds: ["audio", "video"]`.
72
+ */
73
+ export type PublishSourceLabel = LocalPublicationSource | "program";
74
+ /**
75
+ * How to encode one publication, where the default is wrong.
76
+ *
77
+ * A camera takes the browser's defaults. A composed program feed does not:
78
+ * an RTMP restream needs H.264 (RTMP carries nothing else, and the egress
79
+ * copies rather than transcodes), and a 1080p canvas at the default bitrate
80
+ * is a smear. Both are per-publication facts, not per-room ones.
81
+ */
82
+ export type PublishOptions = {
83
+ /** Pick this codec from the router's list. Ignored when the router lacks it. */
84
+ codec?: "h264" | "vp8";
85
+ /** Cap for the encoder, in kbit/s. Read as the TOP layer under simulcast. */
86
+ maxBitrateKbps?: number;
87
+ /**
88
+ * Send three spatial layers instead of one, so each consumer can be served
89
+ * the one its connection can carry.
90
+ *
91
+ * The choosing is not ours and does not need to be: mediasoup picks a layer
92
+ * per consumer from that transport's own bandwidth estimate, so a viewer on
93
+ * a poor line gets 360p rather than a stall, with nothing to implement on
94
+ * either end. What we decide is only whether the layers exist to choose
95
+ * from.
96
+ *
97
+ * Use it for a feed with an AUDIENCE. It is wrong for a camera in a small
98
+ * call, where everyone can carry the one encoding and the extra layers are
99
+ * encoder time spent on nobody.
100
+ *
101
+ * ## Why VP8 and not H.264
102
+ *
103
+ * Browser simulcast is reliable on VP8 and is not on H.264, where it depends
104
+ * on the hardware encoder and quietly degrades to one layer. A caller that
105
+ * needs H.264 downstream (an RTMP restream copies rather than transcodes)
106
+ * should publish one encoding and leave this off. The two are exclusive by
107
+ * design rather than by accident.
108
+ */
109
+ simulcast?: boolean;
58
110
  };
59
111
  export type LocalPublication = {
60
112
  producerId: string;
61
113
  kind: "audio" | "video";
62
- source: string;
114
+ source: PublishSourceLabel;
63
115
  track: MediaStreamTrack;
64
116
  handle: MediaProducerHandle;
117
+ /**
118
+ * Paused at the source by `setPaused`. The capture is still open and the
119
+ * producer still exists; nothing is being sent. This is what a mute is.
120
+ */
121
+ paused: boolean;
65
122
  };
66
123
  export type MediaRoomOptions = {
67
124
  /**
@@ -97,13 +154,15 @@ export declare class MediaRoom {
97
154
  private readonly options;
98
155
  private readonly signal;
99
156
  private readonly device;
100
- private sendTransport;
101
- private recvTransport;
157
+ /** One slot per direction: the finished transport, or the creation in flight. */
158
+ private readonly transports;
102
159
  private iceServers;
103
160
  private grantsValue;
104
161
  private readonly consumers;
105
162
  private readonly tracksByProducer;
106
163
  private readonly publications;
164
+ /** Per publication: stop listening for the track ending on its own. */
165
+ private readonly trackEndWatchers;
107
166
  private readonly listeners;
108
167
  /** One in-flight subscribe per producer, so a burst of activeSpeakers frames
109
168
  * does not race itself into two consumers for one producer. */
@@ -118,6 +177,11 @@ export declare class MediaRoom {
118
177
  /** `close()` has been called. Nothing may open a socket after that. */
119
178
  private disposed;
120
179
  constructor(options: MediaRoomOptions);
180
+ /**
181
+ * The one place that decides what happens after a connection ends, whether
182
+ * it ended after an hour or before a socket was ever opened.
183
+ */
184
+ private onDisconnect;
121
185
  get state(): RoomState;
122
186
  get connectionState(): ConnectionState;
123
187
  get error(): DisconnectCause | undefined;
@@ -145,8 +209,26 @@ export declare class MediaRoom {
145
209
  */
146
210
  private trackSnapshot;
147
211
  private publicationSnapshot;
212
+ private lostSources;
148
213
  get tracks(): MediaTrack[];
149
214
  get localPublications(): LocalPublication[];
215
+ /**
216
+ * What the person was sending when the connection dropped, and is not now.
217
+ *
218
+ * A drop tears down every local publication and STOPS its capture (see
219
+ * `teardownMedia`): the camera light goes out, which is the right thing for a
220
+ * capture whose session has ended and the wrong thing to do silently to a
221
+ * capture whose session is about to resume. The room does not republish on
222
+ * its own. Capture is a browser permission with a UI consequence, and turning
223
+ * a person's camera back on without a press, possibly minutes later, is not a
224
+ * decision this layer gets to make. So instead it says what was lost, and the
225
+ * screen tells the person, who presses the button.
226
+ *
227
+ * Cleared per source when that source is published again, and wholesale by
228
+ * `close()`. A stable reference while unchanged, like every other snapshot
229
+ * here, because `useSyncExternalStore` reads it.
230
+ */
231
+ get lostPublicationSources(): readonly LocalPublicationSource[];
150
232
  /** Subscribe to changes. Returns an unsubscribe. */
151
233
  onChange(listener: Listener): () => void;
152
234
  connect(): Promise<void>;
@@ -174,8 +256,30 @@ export declare class MediaRoom {
174
256
  * `publishKinds`: a token granting audio only must not be able to publish a
175
257
  * screen share by relabelling it, and the node is where that is decided.
176
258
  */
177
- publish(track: MediaStreamTrack, source: "camera" | "microphone" | "screen"): Promise<LocalPublication>;
259
+ publish(track: MediaStreamTrack, source: PublishSourceLabel, options?: PublishOptions): Promise<LocalPublication>;
260
+ /**
261
+ * Swap the capture behind a publication, keeping the producer.
262
+ *
263
+ * A device change (another camera, another microphone) is this, and it is
264
+ * deliberately NOT unpublish plus publish: that changes the producer id,
265
+ * which is the key every consumer's tile and every studio's scene holds, so
266
+ * a switched camera vanished from the stage until somebody re-added it.
267
+ * The old capture is stopped here; the new one is watched for ending the
268
+ * same way the first was.
269
+ */
270
+ replaceTrack(producerId: string, track: MediaStreamTrack): Promise<void>;
178
271
  unpublish(producerId: string): Promise<void>;
272
+ /**
273
+ * Mute or unmute at the source, keeping the capture and the producer.
274
+ *
275
+ * This is what a Mute button does, and it is deliberately NOT unpublish plus
276
+ * publish. Every publish begins with `getUserMedia`, and Safari asks
277
+ * permission on every call to it, so a toggle built on republishing put a
278
+ * permission prompt in front of the person on every unmute. The producer is
279
+ * paused (mediasoup disables the track, so nothing is sent), the node is told
280
+ * so the other side sees `producerPaused`, and resuming is instant and asks
281
+ * nobody anything.
282
+ */
179
283
  setPaused(producerId: string, paused: boolean): Promise<void>;
180
284
  /**
181
285
  * Bring subscriptions in line with what the node says we should be receiving.
@@ -190,9 +294,29 @@ export declare class MediaRoom {
190
294
  syncSubscriptions(): Promise<void>;
191
295
  subscribe(producerId: string): Promise<void>;
192
296
  private doSubscribe;
193
- /** RULE 2: lazily, and once. */
297
+ /**
298
+ * RULE 2: lazily, and once.
299
+ *
300
+ * "Once" has to hold under CONCURRENCY, not just in sequence. `createTransport`
301
+ * is a round trip to the node, and `syncSubscriptions` fans out with
302
+ * `Promise.all`, so one `activeSpeakers` frame naming four producers puts
303
+ * four callers through here in the same tick. A check of the finished
304
+ * transport followed by an await let all four pass the check and send four
305
+ * `createTransport(recv)`: the node caps transports per session, so the
306
+ * fourth was the last one this session would ever get and the person's own
307
+ * Unmute was refused with `capacity` for the rest of the call. So the thing
308
+ * memoised is the in-flight PROMISE, and it is memoised before anything is
309
+ * awaited.
310
+ *
311
+ * A creation that fails is forgotten, so the next caller tries again rather
312
+ * than inheriting a rejection for ever; and `teardownMedia` forgets both,
313
+ * because a transport created against a connection that has since died
314
+ * belongs to that connection, not to the one that replaces it.
315
+ */
194
316
  private ensureSendTransport;
195
317
  private ensureRecvTransport;
318
+ private ensureTransport;
319
+ private createTransport;
196
320
  private onFrame;
197
321
  /**
198
322
  * Everything the connection was carrying, released.
@@ -1 +1 @@
1
- {"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../../src/room/room.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,cAAc,EACpB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAIV,kBAAkB,EAClB,mBAAmB,EAIpB,MAAM,UAAU,CAAC;AAElB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAExD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,QAAQ,CAAC;AAE9F,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,sDAAsD;IACtD,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;;OAIG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,GAAG,oBAAoB,CAAC;IAC3E;8EAC0E;IAC1E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;OAOG;IACH,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5E,CAAC;AAEF,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAC;AAE3B,qBAAa,SAAS;IA2BR,OAAO,CAAC,QAAQ,CAAC,OAAO;IA1BpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,WAAW,CAA0B;IAE7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0C;IACpE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiC;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IACpE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IACjD;mEAC+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAEhE,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,SAAS,CAA8B;IAE/C,kEAAkE;IAClE,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,UAAU,CAAS;IAC3B,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAS;gBAEI,OAAO,EAAE,gBAAgB;IA4BtD,IAAI,KAAK,IAAI,SAAS,CAErB;IAED,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,IAAI,KAAK,IAAI,eAAe,GAAG,SAAS,CAEvC;IAED;;;;;;;OAOG;IACH,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,gEAAgE;IAChE,IAAI,MAAM,IAAI,WAAW,GAAG,SAAS,CAEpC;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,mBAAmB,CAA0B;IAErD,IAAI,MAAM,IAAI,UAAU,EAAE,CAEzB;IAED,IAAI,iBAAiB,IAAI,gBAAgB,EAAE,CAE1C;IAED,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,IAAI;IAKlC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,eAAe;IAUvB;;;;;;OAMG;IACG,OAAO,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqBvG,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5C,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBnE;;;;;;;;;OASG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBlC,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAYpC,WAAW;IAwCzB,gCAAgC;YAClB,mBAAmB;YA8BnB,mBAAmB;IAwBjC,OAAO,CAAC,OAAO;IAwBf;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,IAAI;CAeb;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAIjF"}
1
+ {"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../../src/room/room.ts"],"names":[],"mappings":"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"}