Expand description
§libcubeb bindings for rust
This library contains bindings to the cubeb C library which is used to interact with system audio. The library itself is a work in progress and is likely lacking documentation and test.
The cubeb-rs library exposes the user API of libcubeb. It doesn’t expose the internal interfaces, so isn’t suitable for extending libcubeb. See [cubeb-pulse-rs][2] for an example of extending libcubeb via implementing a cubeb backend in rust.
To get started, have a look at the StreamBuilder
Modules§
Structs§
- Some common layout definitions
- Architecture specific sample type.
- Whether a particular device is an input device (e.g. a microphone), or an output device (e.g. headphones).
- A monaural frame.
- A stereo frame.
- Audio input/output stream
- Stream builder
- Miscellaneous stream preferences.
Enums§
- The state of a device.
- An enumeration of possible errors that can happen when working with cubeb.
- Level (verbosity) of logging for a particular cubeb context.
- Stream states signaled via
state_callback
.
Traits§
- A
Frame
is a collection of samples which have a a specific layout represented byChannelLayout
- An extension trait which allows the implementation of converting void* buffers from libcubeb-sys into rust slices of the appropriate type.
Functions§
- Initialize a new cubeb
Context
Type Aliases§
- User supplied data callback.
- User supplied callback called when the underlying device changed.
- An opaque handle used to refer to a particular input or output device across calls.
- User supplied state callback.