webrtc_mode
WebRTC streaming mode: the service that pairs pixelflux capture with RTC peers.
This module hosts WebRTCService, the WebRTC counterpart of the websockets
streaming engine. It owns one MediaPipelinePixel per display, the vendored
RTC stack (RTCApp), the internal signaling client, the input handler, and
the TURN/STUN credential monitors, and wires them together with callbacks on a
single asyncio event loop (blocking pixelflux/compositor queries are pushed to
threads via asyncio.to_thread).
Feature parity with the websockets transport is a design requirement, so the same policies are re-implemented against RTC primitives here: per-display client-tunable video settings, the extended-desktop layout for a secondary display (xrandr monitors on X11, compositor outputs on Wayland), the all-consumers-paused capture stop, keyframe-request throttling, the DPI/scale ladder, token reconciliation for live peers, and the shared virtual-microphone control plane.
attributelogger= logging.getLogger('webrtc')attributeCURSOR_SIZEOptional[int]= settings.cursor_size if settings.cursor_size > 0 else NoneattributeIS_WAYLANDbool= bool(settings.wayland[0])