Volume specification: * PA_VOLUME_MUTED: silence; * < PA_VOLUME_NORM: decreased volume; * PA_VOLUME_NORM: normal volume; * > PA_VOLUME_NORM: increased volume
Clamp volume to the permitted range. \since 1.0
Check if volume is valid. \since 1.0
Return the average volume of all channels
Return the average volume of all channels that are included in the * specified channel map with the specified channel position mask. If * cm is NULL this call is identical to pa_cvolume_avg(). If no * channel is selected the returned value will be * PA_VOLUME_MUTED. \since 0.9.16
Return non-zero if the volume of all channels is equal to the specified value
Return non-zero if the specified volume is compatible with the * specified sample spec. \since 0.9.13
Return non-zero if the specified volume is compatible with the * specified sample spec. \since 0.9.15
Decrease the volume passed in by 'dec'. The proportions between * the channels are kept. Returns \a v, or NULL on error. \since 0.9.16
Return non-zero when *a == *b, checking that both a and b * have the same number of channels and that the volumes of * channels in a equal those in b.
Calculate a 'balance' value for the specified volume with the * specified channel map. The return value will range from -1.0f * (left) to +1.0f (right). If no balance value is applicable to this * channel map the return value will always be 0.0f. See * pa_channel_map_can_balance(). \since 0.9.15
Calculate a 'fade' value (i.e.\ 'balance' between front and rear) * for the specified volume with the specified channel map. The return * value will range from -1.0f (rear) to +1.0f (left). If no fade * value is applicable to this channel map the return value will * always be 0.0f. See pa_channel_map_can_fade(). \since 0.9.15
Calculate a 'lfe balance' value for the specified volume with * the specified channel map. The return value will range from * -1.0f (no lfe) to +1.0f (only lfe), where 0.0f is balanced. * If no value is applicable to this channel map the return value * will always be 0.0f. See pa_channel_map_can_lfe_balance(). \since 8.0
Get the maximum volume of all channels at the specified channel * position. Will return 0 if there is no channel at the position * specified. You can check if a channel map includes a specific * position by calling pa_channel_map_has_position(). \since 0.9.16
Increase the volume passed in by 'inc'. The proportions between * the channels are kept. Returns \a v, or NULL on error. \since 0.9.16
Increase the volume passed in by 'inc', but not exceeding 'limit'. * The proportions between the channels are kept. * Returns \a v, or NULL on error. \since 0.9.19
Initialize the specified volume and return a pointer to * it. The sample spec will have a defined state but * pa_cvolume_valid() will fail for it. \since 0.9.13
Return 1 if the specified volume has all channels muted
Return 1 if the specified volume has all channels on normal level
Return the maximum volume of all channels. \since 0.9.12
Return the maximum volume of all channels that are included in the * specified channel map with the specified channel position mask. If * cm is NULL this call is identical to pa_cvolume_max(). If no * channel is selected the returned value will be PA_VOLUME_MUTED. * \since 0.9.16
This goes through all channels in a and b and sets the * corresponding channel in dest to the greater volume of both. a, b * and dest may point to the same structure. Returns \a dest, or NULL * on error. \since 0.9.16
Return the minimum volume of all channels. \since 0.9.16
Return the minimum volume of all channels that are included in the * specified channel map with the specified channel position mask. If * cm is NULL this call is identical to pa_cvolume_min(). If no * channel is selected the returned value will be PA_VOLUME_MUTED. * \since 0.9.16
Set the volume of the first n channels to PA_VOLUME_MUTED
Remap a volume from one channel mapping to a different channel mapping. * Returns \a v. \since 0.9.12
Set the volume of the first n channels to PA_VOLUME_NORM
Scale the passed pa_cvolume structure so that the maximum volume * of all channels equals max. The proportions between the channel * volumes are kept. Returns \a v, or NULL on error. \since 0.9.15
Scale the passed pa_cvolume structure so that the maximum volume * of all channels selected via cm/mask equals max. This also modifies * the volume of those channels that are unmasked. The proportions * between the channel volumes are kept. If cm is NULL this call is * identical to pa_cvolume_scale(). Returns \a v, or NULL on error. * \since 0.9.16
Set the volume of the specified number of channels to the volume v
Adjust the 'balance' value for the specified volume with the * specified channel map. v will be modified in place and * returned. The balance is a value between -1.0f and +1.0f. This * operation might not be reversible! Also, after this call * pa_cvolume_get_balance() is not guaranteed to actually return the * requested balance value (e.g. when the input volume was zero anyway for * all channels). If no balance value is applicable to * this channel map the volume will not be modified. See * pa_channel_map_can_balance(). Will return NULL on error. \since 0.9.15
Adjust the 'fade' value (i.e.\ 'balance' between front and rear) * for the specified volume with the specified channel map. v will be * modified in place and returned. The balance is a value between * -1.0f and +1.0f. This operation might not be reversible! Also, * after this call pa_cvolume_get_fade() is not guaranteed to actually * return the requested fade value (e.g. when the input volume was * zero anyway for all channels). If no fade value is applicable to * this channel map the volume will not be modified. See * pa_channel_map_can_fade(). Will return NULL on error. \since 0.9.15
Adjust the 'lfe balance' value for the specified volume with * the specified channel map. v will be modified in place and returned. * The balance is a value between -1.0f (no lfe) and +1.0f (only lfe). * This operation might not be reversible! Also, after this call * pa_cvolume_get_lfe_balance() is not guaranteed to actually * return the requested value (e.g. when the input volume was * zero anyway for all channels). If no lfe balance value is applicable to * this channel map the volume will not be modified. See * pa_channel_map_can_lfe_balance(). Will return NULL on error. \since 8.0
Set the passed volume to all channels at the specified channel * position. Will return the updated volume struct, or NULL if there * is no channel at the position specified. You can check if a channel * map includes a specific position by calling * pa_channel_map_has_position(). Returns \a cv, or NULL on error. * \since 0.9.16
Pretty print a volume structure. Returns \a s.
Pretty print a volume structure in a verbose way. The volume for each * channel is printed in several formats: the raw pa_volume_t value, * percentage, and if print_dB is non-zero, also the dB value. If map is not * NULL, the channel names will be printed. Returns \a s. \since 5.0
Return non-zero when the passed cvolume structure is valid
Divide two per-channel volumes and return the result in * *dest. This is only valid for software volumes! a, b * and dest may point to the same structure. Returns dest, * or NULL on error. \since 0.9.13
Divide a per-channel volume by a scalar volume and return the * result in *dest. This is only valid for software volumes! a * and dest may point to the same structure. Returns dest, * or NULL on error. \since 0.9.16
Multiply two per-channel volumes and return the result in * *dest. This is only valid for software volumes! a, b and dest may * point to the same structure. Returns dest, or NULL on error.
Multiply a per-channel volume with a scalar volume and return the * result in *dest. This is only valid for software volumes! a * and dest may point to the same structure. Returns dest, or NULL on error. * \since 0.9.16
Pretty print a volume structure, showing dB values. Returns \a s. \since 0.9.13
Divide two volume specifications, return the result. This uses * PA_VOLUME_NORM as neutral element of division. This is only valid * for software volumes! If a division by zero is tried the result * will be 0. \since 0.9.13
Convert a decibel value to a volume (amplitude, not power). This is only valid for software volumes!
Convert a linear factor to a volume. 0.0 and less is muted while * 1.0 is PA_VOLUME_NORM. This is only valid for software volumes!
Multiply two volume specifications, return the result. This uses * PA_VOLUME_NORM as neutral element of multiplication. This is only * valid for software volumes!
Pretty print a volume but show dB values. Returns \a s. \since 0.9.15
Convert a volume to a decibel value (amplitude, not power). This is only valid for software volumes!
Convert a volume to a linear factor. This is only valid for software volumes!
Pretty print a volume. Returns \a s. \since 0.9.15
Pretty print a volume in a verbose way. The volume is printed in several * formats: the raw pa_volume_t value, percentage, and if print_dB is non-zero, * also the dB value. Returns \a s. \since 5.0
Maximum length of the strings returned by * pa_cvolume_snprint(). Please note that this value can change with * any release without warning and without being considered API or ABI * breakage. You should not use this definition anywhere where it * might become part of an ABI.
Maximum length of the strings returned by pa_cvolume_snprint_verbose(). * Please note that this value can change with any release without warning and * without being considered API or ABI breakage. You should not use this * definition anywhere where it might become part of an ABI. \since 5.0
This floor value is used as minus infinity when using pa_sw_volume_to_dB() / pa_sw_volume_from_dB().
Maximum length of the strings returned by * pa_sw_cvolume_snprint_dB(). Please note that this value can change with * any release without warning and without being considered API or ABI * breakage. You should not use this definition anywhere where it * might become part of an ABI. \since 0.9.13
Maximum length of the strings returned by * pa_sw_volume_snprint_dB(). Please note that this value can change with * any release without warning and without being considered API or ABI * breakage. You should not use this definition anywhere where it * might become part of an ABI. \since 0.9.15
Special 'invalid' volume. \since 0.9.16
Maximum valid volume we can store. \since 0.9.15
Muted (minimal valid) volume (0%, -inf dB)
Normal volume (100%, 0 dB)
Maximum length of the strings returned by * pa_volume_snprint(). Please note that this value can change with * any release without warning and without being considered API or ABI * breakage. You should not use this definition anywhere where it * might become part of an ABI. \since 0.9.15
Maximum length of the strings returned by pa_volume_snprint_verbose(). * Please note that this value can change with any release without warning and * withou being considered API or ABI breakage. You should not use this * definition anywhere where it might become part of an ABI. \since 5.0
A structure encapsulating a per-channel volume