Name Date Size #Lines LOC

..--

include/media/nbaio/H25-Apr-2025-506178

include_mono/media/nbaio/H25-Apr-2025-692252

Android.bpH A D25-Apr-20251.9 KiB7968

AudioBufferProviderSource.cppH A D25-Apr-20254.9 KiB143105

AudioStreamInSource.cppH A D25-Apr-20252.9 KiB9164

AudioStreamOutSink.cppH A D25-Apr-20254.2 KiB12891

LibsndfileSink.cppH A D25-Apr-20251.4 KiB5126

LibsndfileSource.cppH A D25-Apr-20252.6 KiB8150

MonoPipe.cppH A D25-Apr-20256.5 KiB194146

MonoPipeReader.cppH A D25-Apr-20251.7 KiB6437

NBAIO.cppH A D25-Apr-20255.3 KiB171135

OWNERSH A D25-Apr-2025146 54

Pipe.cppH A D25-Apr-20251.9 KiB6438

PipeReader.cppH A D25-Apr-20252.4 KiB9973

README.txtH A D25-Apr-20251.1 KiB4130

SourceAudioBufferProvider.cppH A D25-Apr-20253.9 KiB12689

README.txt

1libnbaio (for "Non-Blocking Audio I/O") was originally intended to
2be a purely non-blocking API.  It has evolved to now include
3a few blocking implementations of the interface.
4
5Note: as used here, "short transfer count" means the return value for
6read() or write() that indicates the actual number of successfully
7transferred frames is less than the requested number of frames.
8
9Pipe
10----
11supports 1 writer and N readers
12
13no mutexes, so safe to use between SCHED_NORMAL and SCHED_FIFO threads
14
15writes:
16  non-blocking
17  never return a short transfer count
18  overwrite data if not consumed quickly enough
19
20reads:
21  non-blocking
22  return a short transfer count if not enough data
23  will lose data if reader doesn't keep up
24
25MonoPipe
26--------
27supports 1 writer and 1 reader
28
29no mutexes, so safe to use between SCHED_NORMAL and SCHED_FIFO threads
30
31write are optionally blocking:
32  if configured to block, then will wait until space available before returning
33  if configured to not block, then will return a short transfer count
34    and will never overwrite data
35
36reads:
37  non-blocking
38  return a short transfer count if not enough data
39  never lose data
40
41