Move dead submodules in-tree

Signed-off-by: swurl <swurl@swurl.xyz>
This commit is contained in:
swurl 2025-05-31 02:33:02 -04:00
parent c0cceff365
commit 6c655321e6
No known key found for this signature in database
GPG key ID: A5A7629F109C8FD1
4081 changed files with 1185566 additions and 45 deletions

35
externals/oboe/samples/iolib/README.md vendored Normal file
View file

@ -0,0 +1,35 @@
**iolib**
==========
Classes for playing audio data.
## Abstract
(Oboe) **iolib** contains classes implementing streaming audio playback and mixing from multiple sources. It's purpose is to demonstrate best practices and provide reusable code.
Note: the more general name of "iolib" was chosen since it is presumed that this project will eventually implement audio capture capability.
**iolib** is written in C++ and is intended to be called from Android native code. It is implemented as a static library.
# **iolib** project structure
* player
Contains classes to support streaming playback from (potentially) multiple audio sources.
## player classes
### DataSource
Declares the basic interface for audio data sources.
### SampleSource
Extends the `DataSource` interface for audio data coming from SampleBuffer objects.
### OneShotSampleSource
Extends `SampleSource` to provide data that plays through it's `SampleBuffer` and then provides silence, (i.e. a non-looping sample)
### SampleBuffer
Loads and holds (in memory) audio sample data and provides read-only access to that data.
### SimpleMultiPlayer
Implements an Oboe audio stream into which it mixes audio from some number of `SampleSource`s.
This class demonstrates:
* Creation and lifetime management of an Oboe audio stream (`ManagedStream`)
* Logic for an Oboe `AudioStreamCallback` interface.
* Logic for handling streaming restart on error (i.e. playback device changes)