|
ALSA project - the C library reference
|
dB conversion functions from control TLV information More...
Functions | |
| int | snd_tlv_parse_dB_info (unsigned int *tlv, unsigned int tlv_size, unsigned int **db_tlvp) |
| Parse TLV stream and retrieve dB information. | |
| int | snd_tlv_get_dB_range (unsigned int *tlv, long rangemin, long rangemax, long *min, long *max) |
| Get the dB min/max values. | |
| int | snd_tlv_convert_to_dB (unsigned int *tlv, long rangemin, long rangemax, long volume, long *db_gain) |
| Convert the given raw volume value to a dB gain. | |
| int | snd_tlv_convert_from_dB (unsigned int *tlv, long rangemin, long rangemax, long db_gain, long *value, int xdir) |
| Convert from dB gain to the corresponding raw value. | |
| int | snd_ctl_get_dB_range (snd_ctl_t *ctl, const snd_ctl_elem_id_t *id, long *min, long *max) |
| Get the dB min/max values on the given control element. | |
| int | snd_ctl_convert_to_dB (snd_ctl_t *ctl, const snd_ctl_elem_id_t *id, long volume, long *db_gain) |
| Convert the volume value to dB on the given control element. | |
| int | snd_ctl_convert_from_dB (snd_ctl_t *ctl, const snd_ctl_elem_id_t *id, long db_gain, long *value, int xdir) |
| Convert from dB gain to the raw volume value on the given control element. | |
dB conversion functions from control TLV information
| int snd_ctl_convert_from_dB | ( | snd_ctl_t * | ctl, |
| const snd_ctl_elem_id_t * | id, | ||
| long | db_gain, | ||
| long * | value, | ||
| int | xdir ) |
Convert from dB gain to the raw volume value on the given control element.
| ctl | the control handler |
| id | the element id |
| db_gain | the dB gain to convert (in 0.01dB unit) |
| value | the pointer to store the converted raw volume value |
| xdir | the direction for round-up. The value is round up when this is positive. |
| int snd_ctl_convert_to_dB | ( | snd_ctl_t * | ctl, |
| const snd_ctl_elem_id_t * | id, | ||
| long | volume, | ||
| long * | db_gain ) |
Convert the volume value to dB on the given control element.
| ctl | the control handler |
| id | the element id |
| volume | the raw volume value to convert |
| db_gain | the dB gain (in 0.01dB unit) |
| int snd_ctl_get_dB_range | ( | snd_ctl_t * | ctl, |
| const snd_ctl_elem_id_t * | id, | ||
| long * | min, | ||
| long * | max ) |
Get the dB min/max values on the given control element.
| ctl | the control handler |
| id | the element id |
| min | the pointer to store the minimum dB value (in 0.01dB unit) |
| max | the pointer to store the maximum dB value (in 0.01dB unit) |
| int snd_tlv_convert_from_dB | ( | unsigned int * | tlv, |
| long | rangemin, | ||
| long | rangemax, | ||
| long | db_gain, | ||
| long * | value, | ||
| int | xdir ) |
Convert from dB gain to the corresponding raw value.
| tlv | the TLV source returned by snd_tlv_parse_dB_info() |
| rangemin | the minimum value of the raw volume |
| rangemax | the maximum value of the raw volume |
| db_gain | the dB gain to convert (in 0.01dB unit) |
| value | the pointer to store the converted raw volume value |
| xdir | the direction for round-up. The value is round up when this is positive. A negative value means round down. Zero means round-up to nearest. |
| int snd_tlv_convert_to_dB | ( | unsigned int * | tlv, |
| long | rangemin, | ||
| long | rangemax, | ||
| long | volume, | ||
| long * | db_gain ) |
Convert the given raw volume value to a dB gain.
| tlv | the TLV source returned by snd_tlv_parse_dB_info() |
| rangemin | the minimum value of the raw volume |
| rangemax | the maximum value of the raw volume |
| volume | the raw volume value to convert |
| db_gain | the dB gain (in 0.01dB unit) |
| int snd_tlv_get_dB_range | ( | unsigned int * | tlv, |
| long | rangemin, | ||
| long | rangemax, | ||
| long * | min, | ||
| long * | max ) |
Get the dB min/max values.
| tlv | the TLV source returned by snd_tlv_parse_dB_info() |
| rangemin | the minimum value of the raw volume |
| rangemax | the maximum value of the raw volume |
| min | the pointer to store the minimum dB value (in 0.01dB unit) |
| max | the pointer to store the maximum dB value (in 0.01dB unit) |
| int snd_tlv_parse_dB_info | ( | unsigned int * | tlv, |
| unsigned int | tlv_size, | ||
| unsigned int ** | db_tlvp ) |
Parse TLV stream and retrieve dB information.
| tlv | the TLV source |
| tlv_size | the byte size of TLV source |
| db_tlvp | the pointer stored the dB TLV information |
This function parses the given TLV source and stores the TLV start point if the TLV information regarding dB conversion is found. The stored TLV pointer can be passed to the conversion functions snd_tlv_convert_to_dB(), snd_tlv_convert_from_dB() and snd_tlv_get_dB_range().