Camera is a third SFU publisher alongside mic and screen — same multi- track pipeline, kind=camera suffix on streamID, own #cameras grid in the timeline column (multi-column auto-fill so multiple face cams fit without dwarfing a screen share above them). - new UI: share-camera / stop-camera buttons + device selector in the same share section. Camera-select restart triggers a clean unpub + re-pub because deviceId change needs renegotiation anyway. - new state: sfuCameraPC/Stream/PeerID + cameraStreams/cameraVideos maps - subscribe ontrack: generic colon-split routes pubkey:screen/camera to the right tile renderer; back-compat for the existing :screen path - renderScreenTile + removeScreenTile refactored to a kind-parametric renderVideoTile via a TILE_KINDS map; the old names stay as thin shims so callers don't change - role demotion + leave + peer-left + boot all clean up cameras too - contentHint='motion' for face-cam (vs 'detail' on screen) - camera bitrate capped at 1.5Mbps so screen-share headroom isn't cannibalised when both are publishing simultaneously Paired with SFU change zebra-spaces-sfu#017c94b which allowlists kind=camera alongside screen. |
||
|---|---|---|
| .. | ||
| blog | ||
| fonts | ||
| chat.html | ||
| host-your-own.html | ||
| how-it-works.html | ||
| index.html | ||
| kernel.html | ||
| stamp.js | ||
| zebra-audio.html | ||
| zebra-spaces.html | ||