Skip to content
anepoti71Public

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

PeerJam Native

C++ runtime for low-latency peer-to-peer music sessions over UDP.

What This Repo Contains

  • pj-signal-server: signaling + candidate exchange
  • pj-net-test: network qualification and session profile output
  • pj-peer-probe: full peer runtime (probe + optional audio)

Core goals:

  • direct P2P media path by default
  • measurable latency/jitter/loss and readiness (ready / marginal / not_ready)
  • performance-first runtime behavior

Governance

Project governance and architecture policy live in .specify/:

Any architectural or runtime policy change must align with the constitution.

Quick Start

  1. Build
cmake --fresh -S . -B build-portaudio -DPEERJAM_ENABLE_PORTAUDIO=ON
cmake --build build-portaudio -j 4
  1. Start signaling server
./build-portaudio/pj-signal-server --config resources/config/signal-server.conf
  1. Run network test on both peers (same --group, different --user)
./build-portaudio/pj-net-test --config resources/config/net-test.conf ...
  1. Run peer runtime (optional audio)
./build-portaudio/pj-peer-probe --config resources/config/peer-probe.conf ...

Use the full consolidated runbook in HOWTO.md.

Config

Runtime configs are in resources/config:

  • signal-server.conf
  • net-test.conf
  • peer-probe.conf
  • local/two-machine examples for practical testing

Notes

  • AOO is vendored under third_party/aoo (self-contained build path).
  • If you copied build artifacts across machines/OSes, clean and rebuild from scratch.
  • For constrained/sandboxed environments, runbooks must explicitly mark commands that require elevated permissions.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages