feat(moq-gst): add listen mode to moqsink for relay-less publishing#14
feat(moq-gst): add listen mode to moqsink for relay-less publishing#14santi-ferreiro wants to merge 3 commits into
Conversation
Adds `listen` and `tls-generate` properties to moqsink so it can run its own QUIC/WebTransport server and serve a broadcast directly to subscribers that dial it, with no relay in between. `listen` is mutually exclusive with `url` (dial mode stays the default); the server branch in run_session mirrors the relay accept-and-serve path. Documents both properties in doc/bin/gstreamer.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
This pull request introduces a "listen mode" for moqsink in the GStreamer plugin, allowing it to run its own QUIC/WebTransport server and serve broadcasts directly to subscribers instead of dialing a relay. It adds configuration properties listen and tls-generate to support this mode. The review feedback highlights several important improvements: validating that tls-generate is provided when in listen mode to prevent runtime initialization failures, implementing a shutdown signal to prevent active accepted sessions from leaking when the element is stopped, and correcting a discrepancy in the documentation regarding the mutual exclusivity of the listen and url properties.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Add the `ordered` field to Track initializers in tests so the suite compiles after the group-order feature added that field to Track. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- require tls-generate in listen mode (server needs a cert; fail early with a clear error instead of a cryptic runtime init failure) - signal accepted sessions to close when the element stops, so detached session tasks don't leak connections past run_session - doc: state listen and url are mutually exclusive (the code already errors if both are set) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds
listenandtls-generateproperties to moqsink so it can run its own QUIC/WebTransport server and serve a broadcast directly to subscribers that dial it, with no relay in between.listenis mutually exclusive withurl(dial mode stays the default); the server branch in run_session mirrors the relay accept-and-serve path. Documents both properties in doc/bin/gstreamer.md.