Expand description

Version constants and functions

The constants defined here follow those given in the sys crate and thus the C headers.

  • They are typically updated only following a new major release of PA.
  • They are not typically updated following a new minor release of PA. i.e. we may declare version 12.0 here, but remain compatible with all 12.x, so long as PA itself continues to adhere to semantic versioning (i.e. no breaking changes in minor releases).
  • They are not the minimum compatible PA version. We have feature flags for providing backwards compatibility with a limited number of past major versions.

Currently:

  • We primarily target PA version 12.x
  • We have backwards compatibility with PA version 11.x (and it is believed 10.x) if the pa_encoding_from_string feature flag is disabled.

When feature flags are used for backwards compatibility, the versions defined here (as of version 2.3) are adjusted to return the newest compatible major version.

The get_library_version function always obtains at runtime the version of the actual PA library in use.

Enums

PulseAudio version compatibility.

Constants

The current API version. Please note that this is only ever increased on incompatible API changes!
MAJORDeprecated
MICRODeprecated
MINORDeprecated
The current protocol version.
The major and minor components of the newest version of the PulseAudio client library this binding is known to be compatible with.
The newest version of the PulseAudio client library this binding is known to be compatible with.

Functions

Evaluates to true if the PulseAudio library version targeted by this version of the PA binding library is equal or newer than the version specified.
Returns indication of PA version compatibility support, depending upon feature flags used
Returns BINDING_TARGET_VERSION
Returns the version of the library actually in use at runtime.