[alsa-devel] [PATCH v3] amixer: skip showing asoc tlv byte controls
Takashi Iwai
tiwai at suse.de
Thu Jan 28 08:29:57 CET 2016
On Thu, 28 Jan 2016 08:26:06 +0100,
Vinod Koul wrote:
>
> ASoC TLV Byte controls are very large size controls so we should add new
> options for these. So skip dumping contents for these.
>
> $amixer -c0 cget numid=16
> numid=16,iface=MIXER,name='mdl params'
> ; type=BYTES,access=-----RW-,values=30336
> : ASoC TLV Byte control, skipping bytes dump
Use semicolon instead.
Takashi
>
> Signed-off-by: Vinod Koul <vinod.koul at intel.com>
> ---
> amixer/amixer.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/amixer/amixer.c b/amixer/amixer.c
> index db1849333da3..e059c176f958 100644
> --- a/amixer/amixer.c
> +++ b/amixer/amixer.c
> @@ -682,6 +682,14 @@ static int show_control(const char *space, snd_hctl_elem_t *elem,
> __skip_read:
> if (!snd_ctl_elem_info_is_tlv_readable(info))
> goto __skip_tlv;
> + /* skip ASoC ext bytes controls that may have huge binary TLV data */
> + if (type == SND_CTL_ELEM_TYPE_BYTES &&
> + !snd_ctl_elem_info_is_readable(info) &&
> + !snd_ctl_elem_info_is_writable(info)) {
> + printf("%s: ASoC TLV Byte control, skipping bytes dump\n", space);
> + goto __skip_tlv;
> + }
> +
> tlv = malloc(4096);
> if ((err = snd_hctl_elem_tlv_read(elem, tlv, 4096)) < 0) {
> error("Control %s element TLV read error: %s\n", card, snd_strerror(err));
> --
> 1.9.1
>
More information about the Alsa-devel
mailing list