Lines Matching refs:xtlv
320 struct snd_ctl_tlv *xtlv; in mixer_ctl_read_tlv() local
323 xtlv = calloc(1, sizeof(struct snd_ctl_tlv) + tlv_size); in mixer_ctl_read_tlv()
324 if (xtlv == NULL) in mixer_ctl_read_tlv()
326 xtlv->numid = ctl->info->id.numid; in mixer_ctl_read_tlv()
327 xtlv->length = tlv_size; in mixer_ctl_read_tlv()
328 memcpy(xtlv->tlv, tlv, tlv_size); in mixer_ctl_read_tlv()
329 if (ioctl(ctl->mixer->fd, SNDRV_CTL_IOCTL_TLV_READ, xtlv) < 0) { in mixer_ctl_read_tlv()
331 free(xtlv); in mixer_ctl_read_tlv()
334 if (xtlv->tlv[1] + 2 * sizeof(unsigned int) > tlv_size) { in mixer_ctl_read_tlv()
335 free(xtlv); in mixer_ctl_read_tlv()
338 memcpy(tlv, xtlv->tlv, xtlv->tlv[1] + 2 * sizeof(unsigned int)); in mixer_ctl_read_tlv()
339 free(xtlv); in mixer_ctl_read_tlv()