diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-09-24 02:32:59 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-09-24 16:45:37 +0200 |
| commit | 535366b90c170691842311a3898a3d83d744ef75 (patch) | |
| tree | c45b00a8fd21d5e47ce436afdaab96765160e669 /docs/transfers-v1.md | |
| parent | 5e58b64668537603a0f40daf9e64f1ac8b4d89b6 (diff) | |
| download | meshbay-535366b90c170691842311a3898a3d83d744ef75.tar.gz | |
refactor(node): move video streaming out of webrtc_server
StreamingMixin in transport/webrtc/apps/streaming.py: stream credit,
handover, the transcode slots and _stream_video_inner, moved unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'docs/transfers-v1.md')
| -rw-r--r-- | docs/transfers-v1.md | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/docs/transfers-v1.md b/docs/transfers-v1.md index f99424f..13e4869 100644 --- a/docs/transfers-v1.md +++ b/docs/transfers-v1.md @@ -67,7 +67,7 @@ So there is already a resume story here, it is just not reachable — and there is already a leak. **Video streaming is capped, and its cap is a good model.** `_stream_video` -(`webrtc_server.py:5230`) takes `ctx["_transcode_sem"]`, refuses with +(`webrtc/apps/streaming.py`) takes `ctx["_transcode_sem"]`, refuses with `"Server busy, retry shortly"` when it is empty, and every hard-won lesson in this repo about slots — `_replace_stream`, `shutdown_tasks()`, `_spawn()` and the garbage-collected task, `await proc.wait()` after `kill()` — is a lesson @@ -76,7 +76,7 @@ about *not losing a slot*. That history is why §5 exists. **One bug found while reading, in scope for this work.** `ops.py:1362-1365` hot-swaps the stream cap by assigning `webrtc._stream_sem` — an attribute that does not exist. The real semaphore is `ctx["_transcode_sem"]` -(`webrtc_server.py:5220`), and `hasattr(webrtc, '_stream_sem')` is always +(`_transcode_semaphore`, `webrtc/apps/streaming.py`), and `hasattr(webrtc, '_stream_sem')` is always False, so **changing `max_concurrent_streams` from the Node page has never taken effect without a restart**, contrary to §2.11 of draft v6. Two more hot-swappable caps are about to be added next to it; fix it with one shared |