@streaming-cdn/rtc-web 1.3.20 → 1.3.22

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.20
1
+ # RTC Web SDK 1.3.21
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
 
@@ -356,3 +356,14 @@ Abnormal close, reconnect, and recovery duration are also sent as bounded
356
356
  operational diagnostics. Tokens, SDP, media, and chat content are never part of
357
357
  that report. Set `reportSignalingDiagnostics: false` only when replacing this
358
358
  with an application-owned diagnostics pipeline.
359
+
360
+ ## 1.3.21 notes
361
+
362
+ - Per-peer quality: a `bandwidth` limitation reason counts against a link only
363
+ when the measured uplink does not comfortably clear the current tier
364
+ (`bandwidthHeadroomRatio`, default 1.25) — encoder ramp-up during the first
365
+ minute no longer forces a downgrade.
366
+ - Quality samples carry direction-explicit resolutions:
367
+ `inboundFrameWidth/Height` (received; equals the historical
368
+ `frameWidth/Height`) and `outboundFrameWidth/Height` (what your encoder
369
+ sends).
package/dist/index.d.ts CHANGED
@@ -101,8 +101,21 @@ export interface RtcQualitySample {
101
101
  outboundBitrateBps: number | null;
102
102
  availableOutgoingBitrateBps: number | null;
103
103
  framesPerSecond: number | null;
104
+ /**
105
+ * INBOUND (received) resolution — the remote side's picture, which moves
106
+ * with THEIR quality tier, not yours (N3: an integrator saw "low" record a
107
+ * larger frame than "medium" and reasonably read it as a bug). Kept under
108
+ * the historical names for compatibility; prefer the direction-explicit
109
+ * fields below.
110
+ */
104
111
  frameWidth: number | null;
105
112
  frameHeight: number | null;
113
+ /** Received (inbound) video resolution — same values as frameWidth/frameHeight. */
114
+ inboundFrameWidth: number | null;
115
+ inboundFrameHeight: number | null;
116
+ /** Sent (outbound) video resolution — what YOUR encoder is producing. */
117
+ outboundFrameWidth: number | null;
118
+ outboundFrameHeight: number | null;
106
119
  framesDropped: number | null;
107
120
  freezeCount: number | null;
108
121
  freezeDurationMs: number | null;
@@ -364,4 +377,4 @@ export declare class RtcIncomingClient extends EventTarget {
364
377
  private emit;
365
378
  }
366
379
  export declare function createRtcIncomingClient(options: RtcIncomingClientOptions): RtcIncomingClient;
367
- export declare const version = "1.3.20";
380
+ export declare const version = "1.3.22";
@@ -37,6 +37,8 @@ export interface PeerQualityThresholds {
37
37
  goodLossPct: number;
38
38
  goodRttMs: number;
39
39
  sustainRatio: number;
40
+ /** "bandwidth" counts only when the uplink estimate is below this multiple of the tier target. */
41
+ bandwidthHeadroomRatio: number;
40
42
  }
41
43
  export declare const defaultPeerQualityThresholds: PeerQualityThresholds;
42
44
  export interface PeerQualitySample {