nx_audio_capture.nx
buildroot/runtime/nx_audio_capture.nx
about
nx_audio_capture.nx -- abstract audio-capture backend + null impl.
Capture backends provide PCM samples to nx_audio_session. Same
OOP pattern as nx_codec: typed-fn-ptr vtable in struct, concrete
backends embed this struct and wire their own impls.
Shipping backends (today):
nx_audio_capture_null -- always returns 0 bytes (CI / headless)
nx_audio_capture_synth -- sine wave (test fixture, FUTURE file)
Queued backends:
nx_audio_capture_alsa -- Linux ALSA (Synology / RPi deployment)
nx_audio_capture_webaudio -- wasm bridge to browser AudioContext
nx_audio_capture_coreaudio -- macOS
dependencies 1 imports · 2 importers
imports: nx_syscalls_x86_64.nx
imported by: nx_audio_session.nxnx_call.nx
structs
| 43 | struct nx_audio_capture |
consts
| 26 | const NX_AUDIO_CAPTURE_KIND_UNKNOWN: i64 = 0 |
| 27 | const NX_AUDIO_CAPTURE_KIND_NULL: i64 = 1 |
| 28 | const NX_AUDIO_CAPTURE_KIND_SYNTH: i64 = 2 |
| 29 | const NX_AUDIO_CAPTURE_KIND_ALSA: i64 = 3 |
| 30 | const NX_AUDIO_CAPTURE_KIND_WEBAUDIO: i64 = 4 |
| 31 | const NX_AUDIO_CAPTURE_KIND_COREAUDIO: i64 = 5 |
| 32 | const NX_AUDIO_CAPTURE_KIND_N: i64 = 6 |
| 36 | const NX_AUDIO_CAPTURE_ERR_NOT_OPEN: i64 = -1 |
| 37 | const NX_AUDIO_CAPTURE_ERR_BAD_SIZE: i64 = -2 |
| 38 | const NX_AUDIO_CAPTURE_ERR_BACKEND: i64 = -3 |
| 39 | const NX_AUDIO_CAPTURE_ERR_CLOSED: i64 = -4 |
| 56 | const NX_AUDIO_CAPTURE_BYTES: i64 = 64 |
functions
| 60 | func nx_audio_capture_kind(c: *nx_audio_capture) -> i64 { return c.kind } |
| 61 | func nx_audio_capture_sample_rate(c: *nx_audio_capture) -> i64 { return c.sample_rate } |
| 62 | func nx_audio_capture_channels(c: *nx_audio_capture) -> i64 { return c.channels } |
| 63 | func nx_audio_capture_is_open(c: *nx_audio_capture) -> i64 { return c.state } |
| 67 | func nx_audio_capture_open(c: *nx_audio_capture) -> i64 called by 1: nx_audio_session_open_impl |
| 71 | func nx_audio_capture_close(c: *nx_audio_capture) -> i64 called by 1: nx_audio_session_close_impl |
| 75 | func nx_audio_capture_pull_frame(c: *nx_audio_capture, called by 1: nx_audio_session_capture_encode |
| 84 | func nx_audio_capture_default_open(c: *nx_audio_capture) -> i64 |
| 89 | func nx_audio_capture_default_close(c: *nx_audio_capture) -> i64 |
| 94 | func nx_audio_capture_default_pull_frame(c: *nx_audio_capture, |
| 101 | func nx_audio_capture_init(c: *nx_audio_capture, called by 1: nx_audio_capture_null_new |
| 121 | func nx_audio_capture_null_pull_frame(c: *nx_audio_capture, |
| 126 | func nx_audio_capture_null_new(c: *nx_audio_capture, calls 1: nx_audio_capture_init |