#glib #pulse-audio #binding

libpulse-glib-binding

A Rust language binding for the PulseAudio libpulse-mainloop-glib library

42 stable releases

2.28.1 Jul 18, 2023
2.27.1 Jan 9, 2023
2.25.1 Jan 13, 2022
2.25.0 Aug 29, 2021
1.0.2 Feb 9, 2018

#998 in Audio

MIT/Apache

640KB
7.5K SLoC

libpulse-glib-binding

GitHub Workflow Status crates.io docs.rs min-rust-version

A Rust language binding for the PulseAudio libpulse-mainloop-glib library.

Usage

Add the following two crates to the dependencies specified in your Cargo.toml (you will likely need to use components from the main binding crate in addition to this crate itself):

[dependencies]
libpulse-binding = "2.0"
libpulse-glib-binding = "2.0"

Though you may wish to rename the crates to shorter names (for example pulse and pulse_glib) for cleaner references within your code:

[dependencies]
pulse = { version = "2.0", package = "libpulse-binding" }
pulse_glib = { version = "2.0", package = "libpulse-glib-binding" }

An alternative to that which some may prefer is:

[dependencies.pulse]
version = "2.0"
package = "libpulse-binding"

[dependencies.pulse_glib]
version = "2.0"
package = "libpulse-glib-binding"

PulseAudio version compatibility

The default functionality provided is support for PulseAudio version 8.0 or newer. This should be good enough for most needs, however if you need to use something only available in a newer version then you can select the corresponding version compatibility feature to raise the minimum compatibility level. You can also reduce support down to even older versions if you wish. See the overall project COMPATIBILITY.md file for further details.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~7MB
~143K SLoC