This is a wrapper around `ma_ring_buffer` and is more specialized
towards audio. It is a data source and replaces `ma_pcm_rb` which will
be removed in a future commit.
Public issue https://github.com/mackron/miniaudio/issues/671
This improves on the old ring buffer by having a much simpler
implementation and a much simpler API that does not require the caller
to do reading and writing in a loop.
Future commits will be removing the old ring buffer.
Public issue https://github.com/mackron/miniaudio/issues/671
This uses `getDisplayMedia()`. Support for this is extremely browser and
system specific so I'm not advertising support for this documentation.
Public issue https://github.com/mackron/miniaudio/issues/967
The `onGetEncodingFormat` callback has been removed and replaced with an
`onInfo`. This new callback fills out a struct with the supported
encoding format (is recognized by miniaudio), in addition to the name of
the decoding backend, and the decoding library and vendor.
* Devices are now enumerated properly. It will enumerate input or output
ports depending on the device type, and then group by the client name.
The client name will be considered a "device" from the perspective of
miniaudio. The number of local ports will be the channel count.
* The port auto-connection process is now done in init() rather than
start(). I do not know why this was ever in start() in the first
place.
* Port auto-connection will now be restricted to the client ports. The
old system would connect across multiple clients which is just a
nonsensical way of doing. If more ports are requested than are
available on the client, the excess ports will just not be connected.