How xxxzhou/avox works
avox is a cross-platform C++ audio/video capability library, with playback as its most complete product workflow: a caller selects a live, local, or device source; the source is parsed and decoded; frames can pass through GPU processing to rendering or encoding and streaming/recording. The README also documents WebRTC, optional AI plugins, XR production capabilities, and game-engine texture interop. The tree exposes only a small part of the implementation, so several documented subsystems use their existing enclosing source directories; arrows reflect README-described flows, not inspected call sites.
Main entry points: avox GPU processing · RtcEngine.cpp WebRTC engine · DeviceManager.hpp Device capture · AvoxManager.cpp Runtime manager
Components 19
Core media
- Runtime manager
src/avox/module/AvoxManager.cpp - Device capture
src/avox/source/DeviceManager.hpp - Source selection
src/avox - Torrent source
plugins/avox_torrent/TorrentEngine.cpp - Demux and decode
src/avox - Playback sync
src/avox - Surface rendering
src/avox - Encode and mux
src/avox
Realtime transport
- WebRTC engine
plugins/avox_webrtc/RtcEngine.cpp - Remote peer
GPU and AI
- GPU processing
src/avox - AI capabilities
plugins - Inference interface
src/avox/vision/IOVEngine.hpp - OpenVINO engine
plugins/avox_openvino/OVEngine.cpp
Platform integration
- XR production
src/avox - Game engines
platform
Other components
- Application
- Media and devices
- Window or file
Connections 23
- Application → Runtime manager: initializes
- Runtime manager → Device capture: registers sources
- Media and devices → Device capture: provides input
- Media and devices → Source selection: supplies media
- Application → Source selection: selects source
- Source selection → Torrent source: uses for magnets
- Source selection → Demux and decode: provides stream
- Device capture → Demux and decode: provides frames
- Torrent source → Demux and decode: reads media bytes
- Demux and decode → Playback sync: supplies timestamps
- Playback sync → GPU processing: dispatches frames
- GPU processing → Surface rendering: returns processed frames
- Surface rendering → Window or file: renders to
- GPU processing → Encode and mux: supplies frames
- Encode and mux → Window or file: writes or streams
- WebRTC engine → Demux and decode: configures media decoding
- WebRTC engine → Encode and mux: configures media encoding
- WebRTC engine → Remote peer: exchanges media
- Application → AI capabilities: requests capabilities
- AI capabilities → Inference interface: uses inference contract
- Inference interface → OpenVINO engine: implemented by
- GPU processing → XR production: supports fusion workflows
- GPU processing → Game engines: shares textures