feat(native): replace GStreamer with Rust streamer v2 - #776
Draft
zortos293 wants to merge 29 commits into
Draft
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This comment has been minimized.
This comment has been minimized.
Wire Bifrost-shaped x-nv ANNOUNCE ICE credentials and native STUN binding requests so the explicit NVST path can complete authenticated UDP hole punching without WebRTC media fallback.
This comment has been minimized.
This comment has been minimized.
| let packet = Buffer.concat(parts); | ||
| header.writeUInt16BE(packet.length - 20 + 24, 2); | ||
| packet = Buffer.concat(parts); | ||
| appendStunAttribute(parts, 0x0008, createHmac("sha1", remotePassword).update(packet).digest()); |
Match official Bifrost identity and order so ANNOUNCE can arm WebRtcTransport: 4/22 local ICE, V2 remote ufrag, DTLS after ANNOUNCE, and keep hole-punch STUN until the handshake completes. Co-authored-by: Cursor <cursoragent@cursor.com>
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.
Summary
Current readiness
This remains a draft. The branch provides a compiled and synthetic-test-validated native framework plus an evidence-backed authenticated H.264 receive slice; it does not claim complete live GFN NVST interoperability.
Still blocked on an authorized disposable GFN capture and live session validation for the exact classic control sequence, runtime cryptographic derivation, audio transport/output, native input/control serialization, negotiated ping behavior, FEC/NACK/keyframe recovery, pause/resume, teardown, and reconnect. Explicit NVST mode does not fall back to WebRTC media.
Static analysis of the supplied Linux bundle established neutral externally observable schemas, enum values, lifecycle boundaries, RTSP method/media ordering, the 16-byte NVST frame header, and RTCP Generic NACK construction. It did not establish runtime-provided packet bytes, keys, ports, cadence, or complete control/input/audio wire formats, so those remain deliberately unimplemented rather than guessed.
Verification
cargo fmt --manifest-path native/opennow-streamer/Cargo.toml --all -- --checkcargo clippy --manifest-path native/opennow-streamer/Cargo.toml --workspace --all-targets -- -D warningscargo test --manifest-path native/opennow-streamer/Cargo.toml --workspacenpm --prefix opennow-stable run native:buildnpm --prefix opennow-stable run typechecknpm --prefix opennow-stable run lintnpm --prefix opennow-stable test(663 passing at latest local validation)git diff --checkCross-platform compilation/package checks run in the PR matrix. Authorized end-to-end GFN validation remains outstanding.