Roadmap

Basic features

  • ☑ Real-time streaming with guaranteed latency
  • ☑ Session multiplexing
  • ☑ Dynamic sample rate adjustment
  • ☑ Static sample rate conversion
  • ☑ Packet interleaving
  • ☑ Stream breakage detection
  • ☑ Multiple slots on sender and receiver
  • ☑ RTP support
  • ☑ FECFRAME support (Reed-Solomon and LDPC-Staircase FEC codes based on OpenFEC)
  • ☐ RTCP support for receiver feedback
  • ☐ RTCP XR support (extended reports)
  • ☐ Session negotiation using RTSP
  • ☐ Configurable network encodings
  • ☐ Opus support
  • ☐ Service discovery

Advanced features

  • ☐ Dynamic latency adjustment (requires RTCP)
  • ☐ Dynamic adjustment of FEC block size (requires RTCP)
  • ☐ Dynamic adjustment of FEC code rate (requires RTCP and XRs from RFC 5725)
  • ☐ Dynamic audio bitrate adjustment
  • ☐ Dynamic payload type switch
  • ☐ QoS support
  • ☐ Encryption (SRTP and DTLS)
  • ☐ Packet loss concealment
  • ☐ Lip sync support
  • ☑ Multicast support
  • ☐ Multi-room support (playback synchronization)
  • ☐ Surround sound
  • ☐ Congestion control
  • ☐ Retransmission (probably RFC 4588 and RFC 4585)
  • ☐ More FEC codes (notably RaptorQ, see OpenRQ and orq)
  • ☐ More audio encodings (lossless and lossy)
  • ☐ Video support (requires some research)
  • ☐ Hardware acceleration (maybe OpenMAX)

API

  • ☑ Transport API (network sender and receiver)
  • ☐ Audio API (recorder and player)
  • ☐ Control API
  • ☐ Discovery API (publisher and explorer)
  • ☐ Packet API (packet encoder and decoder)

Tools

  • ☑ Sender
  • ☑ Receiver
  • ☐ Relay

Integrations

  • ☑ Roc-based transport for PulseAudio
  • ☑ Roc-based transport for PipeWire
  • ☐ Virtual audio device for macOS
  • ☐ Virtual audio device for Windows
  • ☑ Library bindings for other languages

Portability

  • ☑ Linux, including Raspberry Pi and clones
  • ☑ Other *nix systems
  • ☑ macOS
  • ☑ Android
  • ☐ iOS
  • ☐ Windows