summaryrefslogtreecommitdiffstats
path: root/docs/transfers-v1.md
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-09-24 02:32:59 +0200
committerChristophe Besson <cbesson@gmail.com>2026-09-24 16:45:37 +0200
commit535366b90c170691842311a3898a3d83d744ef75 (patch)
treec45b00a8fd21d5e47ce436afdaab96765160e669 /docs/transfers-v1.md
parent5e58b64668537603a0f40daf9e64f1ac8b4d89b6 (diff)
downloadmeshbay-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.md4
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