Share demo WebRTC plumbing across models (#424) - #426
Closed
jarcherNV wants to merge 7 commits into
Closed
Conversation
Contributor
Greptile SummaryThe PR consolidates OmniDreams WebRTC application and session construction into shared runtime-demo plumbing while retaining model-specific behavior through adapter hooks, and it restores the active PyTorch CUDA device after hardware-encoder probing.
Confidence Score: 5/5The PR appears safe to merge because no blocking failure remains within the follow-up review scope. No blocking failure remains. Important Files Changed
Sequence DiagramsequenceDiagram
participant Browser
participant App as Shared WebRTC App
participant Manager as Shared Session Manager
participant Hooks as Model Adapter Hooks
participant Runtime as Model Runtime
Browser->>App: WebRTC offer / session input
App->>Manager: Dispatch request
Manager->>Hooks: Read and validate pending input
Manager->>Runtime: Reset for session
Runtime-->>Manager: Generate video chunks
Manager-->>Browser: WebRTC video and telemetry
Reviews (7): Last reviewed commit: "Document demo and runtime API boundaries" | Re-trigger Greptile |
Introduce experimental WebRTC app-extension and manager-options shapes so demo adapters can provide static browser resources, model routes, supported controls, session-input hooks, reset behavior, and chunk metadata without owning a full WebRTC server wrapper. Keep the existing adapter hooks compatible and add fake-model coverage for the new shared path.
Replace the OmniDreams demo-specific WebRTC manager and app wrapper with shared WebRTC manager options and app-extension hooks. Keep OmniDreams-owned postprocess routes and session-input parsing in the demo layer while preserving the shared manager/app construction path.
Add experimental shared WebRTC route descriptors and pending session input storage under flashdreams.runtime.demo. Move the OmniDreams demo WebRTC route wiring onto those shared helpers while keeping model-specific postprocess parsing and validation in the demo. Add focused fake-model coverage for shared route registration, JSON payload hooks, pending input storage, and session-input error mapping.
Add an additive OmniDreams demo live runtime module for the new shared demo path, leaving legacy omnidreams.webrtc modules unchanged. Update the new OmniDreams demo adapter, scenario spec, and WebRTC hooks to use the demo-owned runtime/config/session-input types instead of importing from the legacy WebRTC session module. Add a focused guard test so omnidreams.demo files do not depend on omnidreams.webrtc.session.
Add module-level descriptions across the experimental runtime and shared demo API files to clarify each file's ownership boundary. Document the OmniDreams demo files, including the demo-owned live runtime, so the split between model-specific generation logic and shared WebRTC serving/session code is clear. Update the OmniDreams demo README wording to describe the shared WebRTC launcher and session manager path.
Collaborator
Author
|
Closing this PR as this work is no longer needed. |
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.
Create a follow-up branch to consolidate the demo WebRTC path so OmniDreams and LingBot can use the same shared server/session construction, with model-specific behavior supplied through small adapter hooks. Cherry-pick the NVENC probing fix needed before refactoring the WebRTC stack.