Skip to content

Add BasicVideoChat WPF example application#40

Merged
General-Fault merged 1 commit into
mainfrom
examples/39-basic-video-chat
Jun 2, 2026
Merged

Add BasicVideoChat WPF example application#40
General-Fault merged 1 commit into
mainfrom
examples/39-basic-video-chat

Conversation

@General-Fault
Copy link
Copy Markdown
Owner

Closes #39

What's included

  • �xamples/BasicVideoChat/ — WPF app targeting
    et10.0-windows and
    et48, all three platforms (x64/x86/ARM64)
  • Direct TCP signaling — Host listens, Guest connects by IP. No signaling server needed.
  • Full call flow — offer/answer/ICE exchange via \TcpSignalingChannel\ with sequential message dispatch (no ICE-before-description race)
  • UI — side-by-side local/remote video panels, Mute Audio, Camera Off toggles
  • *\WpfVideoRenderer* — prototype placeholder until \WebRtcNet.Wpf\ is created (see Create platform-specific VideoRenderer projects for WPF, Windows Forms, and WinUI #36)
  • *\CONTEXT.md* — domain glossary (Host, Guest, Signaling, etc.)
  • *\WebRtcNet.slnx* — /Examples/\ solution folder

Known limitation

Building with \dotnet build\ fails because \WebRtcNet.csproj\ transitively references the C++/CLI .vcxproj\ projects, which the dotnet CLI cannot process. Use MSBuild (via Visual Studio or the full VS Build Tools) to build this example.

The example is also not end-to-end functional — \WebRtcInterop\ methods are partially unimplemented. Its purpose is to define expected API usage and drive implementation priorities.

- WPF app targeting net10.0-windows and net48 (x64/x86/ARM64)
- Direct TCP signaling (no server) — Host listens, Guest connects
- Full offer/answer/ICE candidate exchange
- Side-by-side local/remote video panels
- Mute audio and camera toggle controls
- WpfVideoRenderer prototype (placeholder until WebRtcNet.Wpf is created, see #36)
- References WebRtcNet for both managed API and interop assemblies
- README with usage instructions and STUN server note
- CONTEXT.md glossary updated with domain terms
- WebRtcNet.slnx /Examples/ solution folder added

Example is intentionally not end-to-end functional — WebRtcInterop methods
are partially unimplemented. Primary purpose is to define API usage and
drive implementation priorities.

Closes #39
@General-Fault General-Fault merged commit 60976fd into main Jun 2, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add BasicVideoChat example application

1 participant