forked from pool/alsa-utils
d9dc7f88fe
- Upstream fixes: addition of -z option to alsaloop, and a fix for amixer TLV parser 0004-alsaloop-add-z-syslog-option-to-use-syslog-for-error.patch 0005-amixer-actually-print-all-TLVs-in-a-container-TLV.patch OBS-URL: https://build.opensuse.org/request/show/201581 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa-utils?expand=0&rev=92
37 lines
1.2 KiB
Diff
37 lines
1.2 KiB
Diff
From 180283e2307b07bbd3958d24382aab8271dd4c1d Mon Sep 17 00:00:00 2001
|
|
From: Anssi Hannula <anssi.hannula@iki.fi>
|
|
Date: Mon, 30 Sep 2013 23:46:50 +0300
|
|
Subject: [PATCH] amixer: actually print all TLVs in a container TLV
|
|
|
|
Due to a wrong indexing of tlv[] decode_tlv() always skips to the end of
|
|
the container TLV since the used tlv[1] contains the container TLV size
|
|
instead of the intended element size.
|
|
|
|
This causes, for example, only the first HDMI channel map TLV to be
|
|
shown.
|
|
|
|
Fix the indexing to actually use the element size.
|
|
|
|
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
|
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
---
|
|
amixer/amixer.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/amixer/amixer.c b/amixer/amixer.c
|
|
index 7727943..b83b0c3 100644
|
|
--- a/amixer/amixer.c
|
|
+++ b/amixer/amixer.c
|
|
@@ -468,7 +468,7 @@ static void decode_tlv(unsigned int spaces, unsigned int *tlv, unsigned int tlv_
|
|
return;
|
|
}
|
|
decode_tlv(spaces + 2, tlv + idx, tlv[idx+1] + 8);
|
|
- idx += 2 + (tlv[1] + sizeof(unsigned int) - 1) / sizeof(unsigned int);
|
|
+ idx += 2 + (tlv[idx+1] + sizeof(unsigned int) - 1) / sizeof(unsigned int);
|
|
}
|
|
break;
|
|
case SND_CTL_TLVT_DB_SCALE:
|
|
--
|
|
1.8.4
|
|
|