@streaming-cdn/rtc-web 1.3.16 → 1.3.18

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/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # RTC Web SDK 1.3.16
1
+ # RTC Web SDK 1.3.18
2
2
 
3
3
  The customer package contains compiled ESM/UMD JavaScript and TypeScript declarations. It intentionally excludes implementation source and source maps. Example source remains available under `examples/`.
4
4
 
@@ -169,6 +169,15 @@ the room client (`getNativeClient()`); the publisher keeps sending every
169
169
  layer. The React Native adapter has the same transport option and the same
170
170
  `setRemoteQuality` on the client.
171
171
 
172
+ `simulcast: false` publishes a single video encoding instead of the
173
+ three-layer ladder — the right call on devices whose CPU or uplink cannot
174
+ carry three encoders, such as phones on cellular networks. The announcement
175
+ marks the track non-simulcast so subscribers never request a layer, and the
176
+ quality ladder (manual `setQuality` or `quality: "auto"`) shapes that one
177
+ encoding's bitrate, framerate and scale instead of gating layers. The
178
+ trade-off: subscribers lose per-viewer layer selection for this publisher.
179
+ Mesh transport ignores the option. Defaults to `true`.
180
+
172
181
  ## Virtual backgrounds and effects
173
182
 
174
183
  `createVideoEffectsPipeline(cameraTrack)` draws the camera through a canvas
package/dist/index.d.ts CHANGED
@@ -57,6 +57,15 @@ export interface RtcClientOptions {
57
57
  iceTransportPolicy?: RtcIceTransportPolicy;
58
58
  /** Media transport. Defaults to the peer mesh; "sfu" routes media through the platform SFU. */
59
59
  transport?: RtcTransport;
60
+ /**
61
+ * SFU uplink layering. Defaults to true (three simulcast layers so the SFU
62
+ * can serve each subscriber the layer its downlink affords). Set false to
63
+ * publish a single encoding — the right call on devices whose CPU or uplink
64
+ * cannot carry three encoders, such as phones on cellular networks. The
65
+ * quality ladder still adapts the single encoding; subscribers simply lose
66
+ * per-viewer layer selection for this publisher. Mesh transport ignores it.
67
+ */
68
+ simulcast?: boolean;
60
69
  /** Enables automatic quality changes when quality is "auto". */
61
70
  adaptiveQuality?: boolean;
62
71
  autoJoin?: boolean;
@@ -346,4 +355,4 @@ export declare class RtcIncomingClient extends EventTarget {
346
355
  private emit;
347
356
  }
348
357
  export declare function createRtcIncomingClient(options: RtcIncomingClientOptions): RtcIncomingClient;
349
- export declare const version = "1.3.16";
358
+ export declare const version = "1.3.18";
@@ -23,6 +23,9 @@ export interface NativeRoomOptions {
23
23
  preferredVideoCodec?: NativeRoomVideoCodec;
24
24
  iceTransportPolicy?: RTCIceTransportPolicy;
25
25
  localStream?: MediaStream | null;
26
+ /** SFU uplink only: false publishes a single video encoding instead of the
27
+ * three-layer simulcast ladder. The mesh has no simulcast and ignores it. */
28
+ simulcast?: boolean;
26
29
  onEvent: (type: string, detail: unknown) => void;
27
30
  }
28
31
  export type NativeRoomQuality = "audio" | "low" | "medium" | "high";