Hello community,

here is the log from the commit of package alsa-utils for openSUSE:Factory 
checked in at 2013-06-18 09:58:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/alsa-utils (Old)
 and      /work/SRC/openSUSE:Factory/.alsa-utils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "alsa-utils"

Changes:
--------
--- /work/SRC/openSUSE:Factory/alsa-utils/alsa-utils.changes    2013-05-28 
07:26:43.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.alsa-utils.new/alsa-utils.changes       
2013-06-18 09:58:07.000000000 +0200
@@ -1,0 +2,14 @@
+Mon Jun 17 10:14:18 CEST 2013 - [email protected]
+
+- Backport upstream fixes wrt chmap handling:
+  0006-amixer-Print-TLV-of-channel-map-controls.patch
+  0007-speaker-test-Fix-wrong-wave-file-played-back-in-chma.patch
+
+-------------------------------------------------------------------
+Wed May 29 11:03:43 CEST 2013 - [email protected]
+
+- Backport upstream fixes wrt amixer:
+  0004-amixer-Fix-the-hctl-elem-search-bug.patch
+  0005-amixer-fix-print_dB-for-0.99-.-0.01-range.patch
+
+-------------------------------------------------------------------

New:
----
  0004-amixer-Fix-the-hctl-elem-search-bug.patch
  0005-amixer-fix-print_dB-for-0.99-.-0.01-range.patch
  0006-amixer-Print-TLV-of-channel-map-controls.patch
  0007-speaker-test-Fix-wrong-wave-file-played-back-in-chma.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ alsa-utils.spec ++++++
--- /var/tmp/diff_new_pack.aj34K8/_old  2013-06-18 09:58:07.000000000 +0200
+++ /var/tmp/diff_new_pack.aj34K8/_new  2013-06-18 09:58:07.000000000 +0200
@@ -63,6 +63,10 @@
 Patch1:         0001-Require-alsa-lib-1.0.27.patch
 Patch2:         0002-alsactl-init-ca0106-file-was-omitted.patch 
 Patch3:         
0003-alsactl-return-back-the-udevrules_DATA-rule-for-90-a.patch 
+Patch4:         0004-amixer-Fix-the-hctl-elem-search-bug.patch
+Patch5:         0005-amixer-fix-print_dB-for-0.99-.-0.01-range.patch
+Patch6:         0006-amixer-Print-TLV-of-channel-map-controls.patch
+Patch7:         0007-speaker-test-Fix-wrong-wave-file-played-back-in-chma.patch
 #
 Patch99:        alsa-utils-gettext-version-removal.diff
 Url:            http://www.alsa-project.org/
@@ -81,6 +85,10 @@
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
 cp %{S:99} alsactl/init
 #
 %if %suse_version < 1020

++++++ 0004-amixer-Fix-the-hctl-elem-search-bug.patch ++++++
>From d61924fd247c2cf0280391e076c439c9427732aa Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <[email protected]>
Date: Mon, 27 May 2013 16:40:26 +0200
Subject: [PATCH] amixer: Fix the hctl elem search bug

Signed-off-by: Jaroslav Kysela <[email protected]>
---
 amixer/amixer.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/amixer/amixer.c b/amixer/amixer.c
index 2f1521b..92b0f83 100644
--- a/amixer/amixer.c
+++ b/amixer/amixer.c
@@ -1105,6 +1105,7 @@ static int cset(int argc, char *argv[], int roflag, int 
keep_handle)
                }
                return err;
        }
+       snd_ctl_elem_info_get_id(info, id);     /* FIXME: Remove it when hctl 
find works ok !!! */
        if (!roflag) {
                snd_ctl_elem_value_set_id(control, id);
                if ((err = snd_ctl_elem_read(handle, control)) < 0) {
-- 
1.8.2.3

++++++ 0005-amixer-fix-print_dB-for-0.99-.-0.01-range.patch ++++++
>From c80a38dbf53531d57c9bd4ccdc05553bd7fb79a1 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <[email protected]>
Date: Tue, 28 May 2013 08:43:30 +0200
Subject: [PATCH] amixer: fix print_dB for -0.99 .. -0.01 range

The first number is 0 when input dB (hundreds) is in range -99 .. -1 .
The printed number was positive in this case. This patch fixes this issue.

Reported-by: Tom Becker <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
---
 amixer/amixer.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/amixer/amixer.c b/amixer/amixer.c
index 92b0f83..fe83b49 100644
--- a/amixer/amixer.c
+++ b/amixer/amixer.c
@@ -431,7 +431,11 @@ static void print_spaces(unsigned int spaces)
 
 static void print_dB(long dB)
 {
-       printf("%li.%02lidB", dB / 100, (dB < 0 ? -dB : dB) % 100);
+       if (dB < 0) {
+               printf("-%li.%02lidB", -dB / 100, -dB % 100);
+       } else {
+               printf("%li.%02lidB", dB / 100, dB % 100);
+       }
 }
 
 static void decode_tlv(unsigned int spaces, unsigned int *tlv, unsigned int 
tlv_size)
-- 
1.8.2.3

++++++ 0006-amixer-Print-TLV-of-channel-map-controls.patch ++++++
>From 9fe90a020ccd2662120b498e9a5cdd4ea1b959ba Mon Sep 17 00:00:00 2001
From: David Henningsson <[email protected]>
Date: Fri, 14 Jun 2013 11:41:01 +0200
Subject: [PATCH] amixer: Print TLV of channel map controls

Previously these were written as "unk-25..." which wasn't very user friendly.

Signed-off-by: David Henningsson <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
---
 amixer/amixer.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/amixer/amixer.c b/amixer/amixer.c
index fe83b49..7727943 100644
--- a/amixer/amixer.c
+++ b/amixer/amixer.c
@@ -443,6 +443,7 @@ static void decode_tlv(unsigned int spaces, unsigned int 
*tlv, unsigned int tlv_
        unsigned int type = tlv[0];
        unsigned int size;
        unsigned int idx = 0;
+       const char *chmap_type = NULL;
 
        if (tlv_size < 2 * sizeof(unsigned int)) {
                printf("TLV size error!\n");
@@ -541,6 +542,27 @@ static void decode_tlv(unsigned int spaces, unsigned int 
*tlv, unsigned int tlv_
                }
                break;
 #endif
+#ifdef SND_CTL_TLVT_CHMAP_FIXED
+       case SND_CTL_TLVT_CHMAP_FIXED:
+               chmap_type = "fixed";
+               /* Fall through */
+       case SND_CTL_TLVT_CHMAP_VAR:
+               if (!chmap_type)
+                       chmap_type = "variable";
+               /* Fall through */
+       case SND_CTL_TLVT_CHMAP_PAIRED:
+               if (!chmap_type)
+                       chmap_type = "paired";
+               printf("chmap-%s=", chmap_type);
+
+               while (size > 0) {
+                       printf("%s", snd_pcm_chmap_name(tlv[idx++]));
+                       size -= sizeof(unsigned int);
+                       if (size > 0)
+                               printf(",");
+               }
+               break;
+#endif
        default:
                printf("unk-%i-", type);
                while (size > 0) {
-- 
1.8.3

++++++ 0007-speaker-test-Fix-wrong-wave-file-played-back-in-chma.patch ++++++
>From 7ac9508c4e20097290b322c661f550e7c24bfa44 Mon Sep 17 00:00:00 2001
From: David Henningsson <[email protected]>
Date: Mon, 10 Jun 2013 16:42:48 +0200
Subject: [PATCH] speaker-test: Fix wrong wave file played back in chmap setup

When explicitly specifying channel maps, we need to use that when
loading wave files so the correct file is played back.

Signed-off-by: David Henningsson <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
---
 speaker-test/speaker-test.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c
index a41b5bd..d35065f 100644
--- a/speaker-test/speaker-test.c
+++ b/speaker-test/speaker-test.c
@@ -771,8 +771,16 @@ static int setup_wav_file(int chn)
 
   if (given_test_wav_file)
     return check_wav_file(chn, given_test_wav_file);
-  else
-    return check_wav_file(chn, wavs[chn]);
+
+#ifdef CONFIG_SUPPORT_CHMAP
+  if (channel_map_set && chn < channel_map->channels) {
+    int channel = channel_map->pos[chn] - SND_CHMAP_FL;
+    if (channel >= 0 && channel < MAX_CHANNELS)
+      return check_wav_file(chn, wavs[channel]);
+  }
+#endif
+
+  return check_wav_file(chn, wavs[chn]);
 }
 
 static int read_wav(uint16_t *buf, int channel, int offset, int bufsize)
@@ -1179,7 +1187,7 @@ int main(int argc, char *argv[]) {
 
     if (test_type == TEST_WAV) {
       for (chn = 0; chn < channels; chn++) {
-       if (setup_wav_file(chn) < 0)
+       if (setup_wav_file(get_speaker_channel(chn)) < 0)
          prg_exit(EXIT_FAILURE);
       }
     }
-- 
1.8.3

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to