docs(sounds): correct self-stream-end suppression note (synchronous, not deferred)
This commit is contained in:
@@ -99,10 +99,13 @@ disconnecting participant identity from every watcher set
|
|||||||
side at that point.
|
side at that point.
|
||||||
|
|
||||||
**Self-stream-end suppression.** When the streamer themselves stops sharing,
|
**Self-stream-end suppression.** When the streamer themselves stops sharing,
|
||||||
SoundController detects this in the same set-diff that fires `stream_ended`.
|
SoundController detects this in the same set-diff that fires `stream_ended`
|
||||||
For that one tick, both the previous and current watcher sets are treated as
|
and synchronously calls `clearStreamWatchers(myUserId)`. The watcher diff is
|
||||||
empty (no per-watcher sounds), and the store entry is cleared via a deferred
|
gated on `selfIsSharing` (which is now false), so neither the outer
|
||||||
`clearStreamWatchers` call so the next subscribe tick sees prev=current=∅.
|
subscriber tick nor the re-entered subscriber tick triggered by the clear
|
||||||
|
fires any per-watcher sound. The same gate also makes a stop-then-restart
|
||||||
|
cycle fire `clearStreamWatchers` on `selfStreamJustStarted`, dropping any
|
||||||
|
stale watcher entries from the previous run.
|
||||||
|
|
||||||
**Why not `LocalTrackSubscribed`?** Insufficient: fires only for the first
|
**Why not `LocalTrackSubscribed`?** Insufficient: fires only for the first
|
||||||
subscriber and has no unsubscribe counterpart in LiveKit JS 2.17.
|
subscriber and has no unsubscribe counterpart in LiveKit JS 2.17.
|
||||||
|
|||||||
Reference in New Issue
Block a user