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.
Glenn Kasten 8499f13735
Update OWNERS to be more specific
7 years ago
..
include/media/nbaio Organize PerformanceAnalysis members in structs 7 years ago
include_mono/media/nbaio Split libnbaio into libnbaio + libnbaio_mono. 7 years ago
Android.bp Write audio performance data to file 7 years ago
AudioBufferProviderSource.cpp Remove TimedAudioTrack and associated code 9 years ago
AudioStreamInSource.cpp Update NBAIO to use the new audio HAL abstraction layer 8 years ago
AudioStreamOutSink.cpp Replace old audio time conversion macros and functions 7 years ago
LibsndfileSink.cpp
LibsndfileSource.cpp
MonoPipe.cpp NBAIO: re-implement NBAIO Pipe and MonoPipe using fifo 8 years ago
MonoPipeReader.cpp NBAIO: re-implement NBAIO Pipe and MonoPipe using fifo 8 years ago
NBAIO.cpp Remove TimedAudioTrack and associated code 9 years ago
NBLog.cpp Separate analysis for each source file location 7 years ago
OWNERS Update OWNERS to be more specific 7 years ago
PerformanceAnalysis.cpp Organize PerformanceAnalysis members in structs 7 years ago
Pipe.cpp NBAIO: re-implement NBAIO Pipe and MonoPipe using fifo 8 years ago
PipeReader.cpp Use option to flush the entire buffer on -EOVERFLOW 7 years ago
README.txt
ReportPerformance.cpp Write peaks to file. Minor cleanup 7 years ago
SourceAudioBufferProvider.cpp Implement server side playback timestamps with 64 bit accuracy 8 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