@streaming-cdn/rtc-web 1.3.10 → 1.3.12
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 +22 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# RTC Web SDK 1.3.
|
|
1
|
+
# RTC Web SDK 1.3.12
|
|
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
|
|
|
@@ -147,6 +147,20 @@ side receives a terminal call state. Manual integrations must call
|
|
|
147
147
|
`await media.leave(); media.destroy()` for `ended`, `cancelled`, `rejected`,
|
|
148
148
|
`busy`, `failed`, and `missed`. Calling the same terminal action twice is safe.
|
|
149
149
|
|
|
150
|
+
## Transports
|
|
151
|
+
|
|
152
|
+
`transport: "mesh"` (the default) opens one connection per pair, which suits
|
|
153
|
+
direct calls and small rooms. `transport: "sfu"` sends media once to the
|
|
154
|
+
platform SFU and receives each remote participant from it, which is what a
|
|
155
|
+
large room needs — media no longer grows with the participant count. The
|
|
156
|
+
credential, the events and the rest of the API are identical, so an
|
|
157
|
+
application switches transports without changing its UI or call flow. SDP for
|
|
158
|
+
the SFU travels over `/v1/rtc/sfu/*` authenticated by the same signaling
|
|
159
|
+
token; no separate credential exists. With a single uplink there is no
|
|
160
|
+
per-connection tier, so `peerquality` is not emitted on this transport and
|
|
161
|
+
`setQuality` applies to the uplink directly. The React Native adapter
|
|
162
|
+
currently ships the mesh transport.
|
|
163
|
+
|
|
150
164
|
## Quality and codecs
|
|
151
165
|
|
|
152
166
|
Use `setQuality("low" | "medium" | "high" | "audio" | "auto")` at runtime.
|
|
@@ -154,6 +168,13 @@ Use `setQuality("low" | "medium" | "high" | "audio" | "auto")` at runtime.
|
|
|
154
168
|
available outgoing bitrate plus encoder CPU/bandwidth limits to step down
|
|
155
169
|
quickly and recover conservatively. It starts at `medium`; severe latency or
|
|
156
170
|
loss falls directly to `low`, while promotion requires six healthy samples.
|
|
171
|
+
|
|
172
|
+
The requested quality is a ceiling, not an instruction. Calls are a peer mesh,
|
|
173
|
+
so every participant has its own connection with its own link: each connection
|
|
174
|
+
settles at or below the ceiling on its own evidence, and one participant on a
|
|
175
|
+
poor network no longer decides what everybody else receives. A new connection
|
|
176
|
+
starts one step below the ceiling and proves itself upward. Listen for
|
|
177
|
+
`peerquality` (`{ participantId, quality }`) when one connection's tier moves.
|
|
157
178
|
Use `setPreferredVideoCodec("vp8" | "h264" | "auto")`; compatible fallback
|
|
158
179
|
codecs remain in the offer. `packetLossPct` is the loss measured since the
|
|
159
180
|
previous sample. `packetLossCumulativePct` is the value since the call began.
|