[alsa-devel] [PATCH v4] amixer: skip showing asoc tlv byte controls
Vinod Koul
vinod.koul at intel.com
Thu Jan 28 09:32:18 CET 2016
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
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..f9b09cb54276 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