Custom stream-server
A new experience consists of a spawner in the control plane and a stream-server runtime that implements the media/signaling contract.
Runtime responsibilities
Section titled “Runtime responsibilities”- Read its injected session ID, room and host token.
- Connect to the configured signaling WebSocket as
host. - Produce a WebRTC offer and exchange ICE candidates.
- Publish video/audio tracks appropriate for the source.
- Receive the
inputDataChannel and forward versioned packets to the application-specific input agent. - Exit cleanly when the session is stopped.
Spawner responsibilities
Section titled “Spawner responsibilities”- Publish a unique string
typeand a human-readable capability manifest. - Validate and normalize source configuration.
- Create an isolated runtime with session-specific credentials.
- Return safe public
sourcemetadata; never return host secrets. - Implement pause, resume, restart and removal when supported.
SDK compatibility
Section titled “SDK compatibility”The SDK accepts (string & {}) for third-party source types. A plugin can therefore ship independently without waiting for a core SDK release.