mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-10-31 22:25:35 -04:00
Added integer64 routines for control API
This commit is contained in:
parent
50be21e1e4
commit
712501af15
2 changed files with 30 additions and 1 deletions
|
|
@ -82,7 +82,9 @@ typedef enum _snd_ctl_elem_type {
|
||||||
SND_CTL_ELEM_TYPE_BYTES,
|
SND_CTL_ELEM_TYPE_BYTES,
|
||||||
/** IEC958 (S/PDIF) setting content */
|
/** IEC958 (S/PDIF) setting content */
|
||||||
SND_CTL_ELEM_TYPE_IEC958,
|
SND_CTL_ELEM_TYPE_IEC958,
|
||||||
SND_CTL_ELEM_TYPE_LAST = SND_CTL_ELEM_TYPE_IEC958
|
/** 64-bit integer contents */
|
||||||
|
SND_CTL_ELEM_TYPE_INTEGER64,
|
||||||
|
SND_CTL_ELEM_TYPE_LAST = SND_CTL_ELEM_TYPE_INTEGER64
|
||||||
} snd_ctl_elem_type_t;
|
} snd_ctl_elem_type_t;
|
||||||
|
|
||||||
/** CTL related interface */
|
/** CTL related interface */
|
||||||
|
|
@ -385,10 +387,12 @@ void snd_ctl_elem_value_set_name(snd_ctl_elem_value_t *obj, const char *val);
|
||||||
void snd_ctl_elem_value_set_index(snd_ctl_elem_value_t *obj, unsigned int val);
|
void snd_ctl_elem_value_set_index(snd_ctl_elem_value_t *obj, unsigned int val);
|
||||||
int snd_ctl_elem_value_get_boolean(const snd_ctl_elem_value_t *obj, unsigned int idx);
|
int snd_ctl_elem_value_get_boolean(const snd_ctl_elem_value_t *obj, unsigned int idx);
|
||||||
long snd_ctl_elem_value_get_integer(const snd_ctl_elem_value_t *obj, unsigned int idx);
|
long snd_ctl_elem_value_get_integer(const snd_ctl_elem_value_t *obj, unsigned int idx);
|
||||||
|
long long snd_ctl_elem_value_get_integer64(const snd_ctl_elem_value_t *obj, unsigned int idx);
|
||||||
unsigned int snd_ctl_elem_value_get_enumerated(const snd_ctl_elem_value_t *obj, unsigned int idx);
|
unsigned int snd_ctl_elem_value_get_enumerated(const snd_ctl_elem_value_t *obj, unsigned int idx);
|
||||||
unsigned char snd_ctl_elem_value_get_byte(const snd_ctl_elem_value_t *obj, unsigned int idx);
|
unsigned char snd_ctl_elem_value_get_byte(const snd_ctl_elem_value_t *obj, unsigned int idx);
|
||||||
void snd_ctl_elem_value_set_boolean(snd_ctl_elem_value_t *obj, unsigned int idx, long val);
|
void snd_ctl_elem_value_set_boolean(snd_ctl_elem_value_t *obj, unsigned int idx, long val);
|
||||||
void snd_ctl_elem_value_set_integer(snd_ctl_elem_value_t *obj, unsigned int idx, long val);
|
void snd_ctl_elem_value_set_integer(snd_ctl_elem_value_t *obj, unsigned int idx, long val);
|
||||||
|
void snd_ctl_elem_value_set_integer64(snd_ctl_elem_value_t *obj, unsigned int idx, long long val);
|
||||||
void snd_ctl_elem_value_set_enumerated(snd_ctl_elem_value_t *obj, unsigned int idx, unsigned int val);
|
void snd_ctl_elem_value_set_enumerated(snd_ctl_elem_value_t *obj, unsigned int idx, unsigned int val);
|
||||||
void snd_ctl_elem_value_set_byte(snd_ctl_elem_value_t *obj, unsigned int idx, unsigned char val);
|
void snd_ctl_elem_value_set_byte(snd_ctl_elem_value_t *obj, unsigned int idx, unsigned char val);
|
||||||
const void * snd_ctl_elem_value_get_bytes(const snd_ctl_elem_value_t *obj);
|
const void * snd_ctl_elem_value_get_bytes(const snd_ctl_elem_value_t *obj);
|
||||||
|
|
|
||||||
|
|
@ -2020,6 +2020,19 @@ long snd_ctl_elem_value_get_integer(const snd_ctl_elem_value_t *obj, unsigned in
|
||||||
return obj->value.integer.value[idx];
|
return obj->value.integer.value[idx];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Get value for an entry of a #SND_CTL_ELEM_TYPE_INTEGER64 CTL element id/value
|
||||||
|
* \param obj CTL element id/value
|
||||||
|
* \param idx Entry index
|
||||||
|
* \return value for the entry
|
||||||
|
*/
|
||||||
|
long long snd_ctl_elem_value_get_integer64(const snd_ctl_elem_value_t *obj, unsigned int idx)
|
||||||
|
{
|
||||||
|
assert(obj);
|
||||||
|
assert(idx < sizeof(obj->value.integer64.value) / sizeof(obj->value.integer64.value[0]));
|
||||||
|
return obj->value.integer64.value[idx];
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Get value for an entry of a #SND_CTL_ELEM_TYPE_ENUMERATED CTL element id/value
|
* \brief Get value for an entry of a #SND_CTL_ELEM_TYPE_ENUMERATED CTL element id/value
|
||||||
* \param obj CTL element id/value
|
* \param obj CTL element id/value
|
||||||
|
|
@ -2070,6 +2083,18 @@ void snd_ctl_elem_value_set_integer(snd_ctl_elem_value_t *obj, unsigned int idx,
|
||||||
obj->value.integer.value[idx] = val;
|
obj->value.integer.value[idx] = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Set value for an entry of a #SND_CTL_ELEM_TYPE_INTEGER64 CTL element id/value
|
||||||
|
* \param obj CTL element id/value
|
||||||
|
* \param idx Entry index
|
||||||
|
* \param val value for the entry
|
||||||
|
*/
|
||||||
|
void snd_ctl_elem_value_set_integer64(snd_ctl_elem_value_t *obj, unsigned int idx, long long val)
|
||||||
|
{
|
||||||
|
assert(obj);
|
||||||
|
obj->value.integer64.value[idx] = val;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Set value for an entry of a #SND_CTL_ELEM_TYPE_ENUMERATED CTL element id/value
|
* \brief Set value for an entry of a #SND_CTL_ELEM_TYPE_ENUMERATED CTL element id/value
|
||||||
* \param obj CTL element id/value
|
* \param obj CTL element id/value
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue