Repository navigation
Conversation
Adds dev.onvoid.webrtc.client: a WebRtc runtime that owns the factory and everything created through it, peers with built-in perfect negotiation, futures instead of nested observers, and one event thread per peer that never runs on a WebRTC thread. Pure Java, no native changes.
The guide covers the runtime, signaling and perfect negotiation, threads, media, data channels, manual negotiation, stats and closing. The example connects two peers in one process without hardware or a server.
A video sink owns the reference to each frame it gets. The dispatcher retained it once more, so every delivered frame leaked, and frames that arrived after a subscription closed were never released.
Jetty 12.1 needs a context around the handlers; without one every page and WebSocket request failed with a NullPointerException. The WebSocket upgrade handler now wraps the static content inside a root context.
The Java client is a peer of the client API, with SignalingManager as its Signaling over the example's own message format. A new peer calls the browser whenever it joins. WebSocket sends are queued, since a WebSocket takes one at a time, and the browser reuses its connection when the Java side renegotiates.
Owner
Author
|
Superseded by #397, the same commits on the renamed branch |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
dev.onvoid.webrtc.client, a pure Java layer over the existing API:WebRtcruntime that owns the factory and everything created through it; closing it closes all in order. Nodispose()in the API.Signalingand browser-compatible JSON messages. Manual negotiation for WHIP/WHEP and SFUs.BlockingCallExceptioninstead of deadlocking.No native changes. Also in this PR:
design/client-api.md), a guide page andClientApiExample.