1
0
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hmz007 6d24f2138b
Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56)
3 years ago
..
include/media/nbaio Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
include_mono/media/nbaio Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
Android.bp Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
AudioBufferProviderSource.cpp Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
AudioStreamInSource.cpp Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
AudioStreamOutSink.cpp Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
LibsndfileSink.cpp Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
LibsndfileSource.cpp Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
MonoPipe.cpp Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
MonoPipeReader.cpp Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
NBAIO.cpp Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
OWNERS Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
Pipe.cpp Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
PipeReader.cpp Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
README.txt Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
SourceAudioBufferProvider.cpp Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago

README.txt

libnbaio (for "Non-Blocking Audio I/O") was originally intended to
be a purely non-blocking API.  It has evolved to now include
a few blocking implementations of the interface.

Note: as used here, "short transfer count" means the return value for
read() or write() that indicates the actual number of successfully
transferred frames is less than the requested number of frames.

Pipe
----
supports 1 writer and N readers

no mutexes, so safe to use between SCHED_NORMAL and SCHED_FIFO threads

writes:
  non-blocking
  never return a short transfer count
  overwrite data if not consumed quickly enough

reads:
  non-blocking
  return a short transfer count if not enough data
  will lose data if reader doesn't keep up

MonoPipe
--------
supports 1 writer and 1 reader

no mutexes, so safe to use between SCHED_NORMAL and SCHED_FIFO threads

write are optionally blocking:
  if configured to block, then will wait until space available before returning
  if configured to not block, then will return a short transfer count
    and will never overwrite data

reads:
  non-blocking
  return a short transfer count if not enough data
  never lose data