updated to 1.0.22 release
This commit is contained in:
parent
ad9919a205
commit
96d9519673
@ -25,3 +25,4 @@ alsa-lib-1.0.18.tar.bz2
|
|||||||
alsa-lib-1.0.19.tar.bz2
|
alsa-lib-1.0.19.tar.bz2
|
||||||
alsa-lib-1.0.20.tar.bz2
|
alsa-lib-1.0.20.tar.bz2
|
||||||
alsa-lib-1.0.21.tar.bz2
|
alsa-lib-1.0.21.tar.bz2
|
||||||
|
alsa-lib-1.0.22.tar.bz2
|
||||||
|
@ -1,65 +0,0 @@
|
|||||||
From 1f126fd7c6ef37b04ad745609bbebf0dbbf2e1fd Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jaroslav Kysela <perex@perex.cz>
|
|
||||||
Date: Wed, 9 Sep 2009 11:38:11 +0200
|
|
||||||
Subject: [PATCH] Change dmix.conf to accept user configuration from defaults.dmix.<driver_id>.xxx
|
|
||||||
|
|
||||||
An attempt to fix problem described in reverted patch "Fix driver conf
|
|
||||||
parsing in snd_config_hook_load_for_all_cards()".
|
|
||||||
|
|
||||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
||||||
---
|
|
||||||
src/conf/pcm/dmix.conf | 12 ++++++------
|
|
||||||
1 files changed, 6 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/conf/pcm/dmix.conf b/src/conf/pcm/dmix.conf
|
|
||||||
index 4108ddb..e62cb29 100644
|
|
||||||
--- a/src/conf/pcm/dmix.conf
|
|
||||||
+++ b/src/conf/pcm/dmix.conf
|
|
||||||
@@ -63,12 +63,12 @@ pcm.!dmix {
|
|
||||||
name {
|
|
||||||
@func concat
|
|
||||||
strings [
|
|
||||||
- "cards."
|
|
||||||
+ "defaults.dmix."
|
|
||||||
{
|
|
||||||
@func card_driver
|
|
||||||
card $CARD
|
|
||||||
}
|
|
||||||
- ".pcm.dmix.period_size"
|
|
||||||
+ ".period_size"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
default 1024
|
|
||||||
@@ -78,12 +78,12 @@ pcm.!dmix {
|
|
||||||
name {
|
|
||||||
@func concat
|
|
||||||
strings [
|
|
||||||
- "cards."
|
|
||||||
+ "defaults.dmix."
|
|
||||||
{
|
|
||||||
@func card_driver
|
|
||||||
card $CARD
|
|
||||||
}
|
|
||||||
- ".pcm.dmix.period_time"
|
|
||||||
+ ".period_time"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
default -1
|
|
||||||
@@ -93,12 +93,12 @@ pcm.!dmix {
|
|
||||||
name {
|
|
||||||
@func concat
|
|
||||||
strings [
|
|
||||||
- "cards."
|
|
||||||
+ "defaults.dmix."
|
|
||||||
{
|
|
||||||
@func card_driver
|
|
||||||
card $CARD
|
|
||||||
}
|
|
||||||
- ".pcm.dmix.periods"
|
|
||||||
+ ".periods"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
default 16
|
|
||||||
--
|
|
||||||
1.5.5.1
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
|||||||
From 133819d420d962b6888c280352a5532da93f1a3a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jaroslav Kysela <perex@perex.cz>
|
|
||||||
Date: Wed, 9 Sep 2009 11:24:11 +0200
|
|
||||||
Subject: [PATCH] Revert "Fix driver conf parsing in snd_config_hook_load_for_all_cards()"
|
|
||||||
|
|
||||||
This reverts commit 96da0c842d14b40ce8e37726b259229634b3aa21.
|
|
||||||
|
|
||||||
This way of fix brokes card-specific configuration loading.
|
|
||||||
See http://bugzilla.redhat.com bug#521988 for details.
|
|
||||||
|
|
||||||
Appropriate way to handle this problem is to fix the dmix configuration file.
|
|
||||||
|
|
||||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
||||||
---
|
|
||||||
src/conf.c | 5 +++--
|
|
||||||
1 files changed, 3 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/conf.c b/src/conf.c
|
|
||||||
index 3f0dfe1..570c90f 100644
|
|
||||||
--- a/src/conf.c
|
|
||||||
+++ b/src/conf.c
|
|
||||||
@@ -3477,8 +3477,9 @@ int snd_config_hook_load_for_all_cards(snd_config_t *root, snd_config_t *config,
|
|
||||||
err = snd_determine_driver(card, &fdriver);
|
|
||||||
if (err < 0)
|
|
||||||
return err;
|
|
||||||
- if (snd_config_search(root, fdriver, &n) >= 0 &&
|
|
||||||
- snd_config_get_string(n, &driver) >= 0) {
|
|
||||||
+ if (snd_config_search(root, fdriver, &n) >= 0) {
|
|
||||||
+ if (snd_config_get_string(n, &driver) < 0)
|
|
||||||
+ goto __err;
|
|
||||||
assert(driver);
|
|
||||||
while (1) {
|
|
||||||
char *s = strchr(driver, '.');
|
|
||||||
--
|
|
||||||
1.5.5.1
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
|||||||
From ac9de424bc0a896e8e30b5ec176daf924a2cefb2 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Takashi Iwai <tiwai@suse.de>
|
|
||||||
Date: Mon, 31 Aug 2009 16:41:12 +0200
|
|
||||||
Subject: [PATCH] mixer: Add Speaker and Beep names to the weight list
|
|
||||||
|
|
||||||
Added strings "Speaker" and "Beep" to the weight list so that the entries
|
|
||||||
appear in more appropriate positions.
|
|
||||||
|
|
||||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
||||||
---
|
|
||||||
src/mixer/simple_none.c | 2 ++
|
|
||||||
1 files changed, 2 insertions(+), 0 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/mixer/simple_none.c b/src/mixer/simple_none.c
|
|
||||||
index 4802200..9259a08 100644
|
|
||||||
--- a/src/mixer/simple_none.c
|
|
||||||
+++ b/src/mixer/simple_none.c
|
|
||||||
@@ -134,6 +134,7 @@ static int get_compare_weight(const char *name, unsigned int idx)
|
|
||||||
static const char *const names[] = {
|
|
||||||
"Master",
|
|
||||||
"Headphone",
|
|
||||||
+ "Speaker",
|
|
||||||
"Tone",
|
|
||||||
"Bass",
|
|
||||||
"Treble",
|
|
||||||
@@ -158,6 +159,7 @@ static int get_compare_weight(const char *name, unsigned int idx)
|
|
||||||
"I2S",
|
|
||||||
"IEC958",
|
|
||||||
"PC Speaker",
|
|
||||||
+ "Beep",
|
|
||||||
"Aux",
|
|
||||||
"Mono",
|
|
||||||
"Playback",
|
|
||||||
--
|
|
||||||
1.5.5.1
|
|
||||||
|
|
65
alsa-lib-1.0.22-closetimer.patch
Normal file
65
alsa-lib-1.0.22-closetimer.patch
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
From a256766c10c52cb6667de8a65f5cbb332fad4cc7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jaroslav Kysela <perex@perex.cz>
|
||||||
|
Date: Mon, 21 Dec 2009 09:09:42 +0100
|
||||||
|
Subject: [PATCH] pcm: Close event timer in pcm_hw plugin
|
||||||
|
|
||||||
|
Dan McCombs discovered that snd_pcm_close() invocations are not leading
|
||||||
|
to associated timers being closed, which results in successively more
|
||||||
|
timers being created but not freed.
|
||||||
|
|
||||||
|
Original patch from Daniel T Chen <crimsun@ubuntu.com>.
|
||||||
|
|
||||||
|
BugLink: https://bugs.launchpad.net/bugs/451893
|
||||||
|
|
||||||
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||||
|
---
|
||||||
|
src/pcm/pcm_hw.c | 26 ++++++++++++++------------
|
||||||
|
1 files changed, 14 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/pcm/pcm_hw.c b/src/pcm/pcm_hw.c
|
||||||
|
index 2095b01..b557912 100644
|
||||||
|
--- a/src/pcm/pcm_hw.c
|
||||||
|
+++ b/src/pcm/pcm_hw.c
|
||||||
|
@@ -338,18 +338,6 @@ static int snd_pcm_hw_hw_params(snd_pcm_t *pcm, snd_pcm_hw_params_t * params)
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static int snd_pcm_hw_hw_free(snd_pcm_t *pcm)
|
||||||
|
-{
|
||||||
|
- snd_pcm_hw_t *hw = pcm->private_data;
|
||||||
|
- int fd = hw->fd, err;
|
||||||
|
- if (ioctl(fd, SNDRV_PCM_IOCTL_HW_FREE) < 0) {
|
||||||
|
- err = -errno;
|
||||||
|
- SYSMSG("SNDRV_PCM_IOCTL_HW_FREE failed");
|
||||||
|
- return err;
|
||||||
|
- }
|
||||||
|
- return 0;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
static void snd_pcm_hw_close_timer(snd_pcm_hw_t *hw)
|
||||||
|
{
|
||||||
|
if (hw->period_timer) {
|
||||||
|
@@ -421,6 +409,20 @@ static int snd_pcm_hw_change_timer(snd_pcm_t *pcm, int enable)
|
||||||
|
} else {
|
||||||
|
snd_pcm_hw_close_timer(hw);
|
||||||
|
pcm->fast_ops = &snd_pcm_hw_fast_ops;
|
||||||
|
+ hw->period_event = 0;
|
||||||
|
+ }
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static int snd_pcm_hw_hw_free(snd_pcm_t *pcm)
|
||||||
|
+{
|
||||||
|
+ snd_pcm_hw_t *hw = pcm->private_data;
|
||||||
|
+ int fd = hw->fd, err;
|
||||||
|
+ snd_pcm_hw_change_timer(pcm, 0);
|
||||||
|
+ if (ioctl(fd, SNDRV_PCM_IOCTL_HW_FREE) < 0) {
|
||||||
|
+ err = -errno;
|
||||||
|
+ SYSMSG("SNDRV_PCM_IOCTL_HW_FREE failed");
|
||||||
|
+ return err;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
1.5.5.1
|
||||||
|
|
65
alsa-lib-1.0.22-softvol.patch
Normal file
65
alsa-lib-1.0.22-softvol.patch
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
From bdf80e58af79d4e989cd8d701d97f888c9e2dadc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Zerg Cannibal <cnb_zerg@yahoo.com>
|
||||||
|
Date: Mon, 21 Dec 2009 22:19:14 +0100
|
||||||
|
Subject: [PATCH] pcm: Fix the sound distortions for S24_3LE stream in pcm_softvol plugin
|
||||||
|
|
||||||
|
This patch fixes sound distortions in alsa-lib "softvol"
|
||||||
|
for S24_3LE sound stream, when softvol slider is not at 0.0dB
|
||||||
|
position.
|
||||||
|
|
||||||
|
Signed-off-by: CannibalZerg <cnb_zerg@yahoo.com>
|
||||||
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||||
|
---
|
||||||
|
src/pcm/pcm_softvol.c | 22 ++++++++++++++++++++--
|
||||||
|
1 files changed, 20 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/pcm/pcm_softvol.c b/src/pcm/pcm_softvol.c
|
||||||
|
index 637e5cb..2c7c006 100644
|
||||||
|
--- a/src/pcm/pcm_softvol.c
|
||||||
|
+++ b/src/pcm/pcm_softvol.c
|
||||||
|
@@ -107,7 +107,8 @@ static inline int MULTI_DIV_32x16(int a, unsigned short b)
|
||||||
|
v.i = a;
|
||||||
|
y.i = 0;
|
||||||
|
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||||
|
- x.i = (unsigned int)v.s[0] * b;
|
||||||
|
+ x.i = (unsigned short)v.s[0];
|
||||||
|
+ x.i *= b;
|
||||||
|
y.s[0] = x.s[1];
|
||||||
|
y.i += (int)v.s[1] * b;
|
||||||
|
#else
|
||||||
|
@@ -135,6 +136,23 @@ static inline int MULTI_DIV_int(int a, unsigned int b, int swap)
|
||||||
|
return swap ? (int)bswap_32(fraction) : fraction;
|
||||||
|
}
|
||||||
|
|
||||||
|
+/* always little endian */
|
||||||
|
+static inline int MULTI_DIV_24(int a, unsigned int b)
|
||||||
|
+{
|
||||||
|
+ unsigned int gain = b >> VOL_SCALE_SHIFT;
|
||||||
|
+ int fraction;
|
||||||
|
+ fraction = MULTI_DIV_32x16(a, b & VOL_SCALE_MASK);
|
||||||
|
+ if (gain) {
|
||||||
|
+ long long amp = (long long)a * gain + fraction;
|
||||||
|
+ if (amp > (int)0x7fffff)
|
||||||
|
+ amp = (int)0x7fffff;
|
||||||
|
+ else if (amp < (int)0x800000)
|
||||||
|
+ amp = (int)0x800000;
|
||||||
|
+ return (int)amp;
|
||||||
|
+ }
|
||||||
|
+ return fraction;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static inline short MULTI_DIV_short(short a, unsigned int b, int swap)
|
||||||
|
{
|
||||||
|
unsigned int gain = b >> VOL_SCALE_SHIFT;
|
||||||
|
@@ -223,7 +241,7 @@ static inline short MULTI_DIV_short(short a, unsigned int b, int swap)
|
||||||
|
tmp = src[0] | \
|
||||||
|
(src[1] << 8) | \
|
||||||
|
(((signed char *) src)[2] << 16); \
|
||||||
|
- tmp = MULTI_DIV_int(tmp, vol_scale, 0); \
|
||||||
|
+ tmp = MULTI_DIV_24(tmp, vol_scale); \
|
||||||
|
dst[0] = tmp; \
|
||||||
|
dst[1] = tmp >> 8; \
|
||||||
|
dst[2] = tmp >> 16; \
|
||||||
|
--
|
||||||
|
1.5.5.1
|
||||||
|
|
@ -4,8 +4,8 @@
|
|||||||
|
|
||||||
Summary: The Advanced Linux Sound Architecture (ALSA) library
|
Summary: The Advanced Linux Sound Architecture (ALSA) library
|
||||||
Name: alsa-lib
|
Name: alsa-lib
|
||||||
Version: 1.0.21
|
Version: 1.0.22
|
||||||
Release: 3%{?prever_dot}%{?dist}
|
Release: 1%{?prever_dot}%{?dist}
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
Source: ftp://ftp.alsa-project.org/pub/lib/%{name}-%{version}%{?prever}%{?postver}.tar.bz2
|
Source: ftp://ftp.alsa-project.org/pub/lib/%{name}-%{version}%{?prever}%{?postver}.tar.bz2
|
||||||
@ -13,9 +13,8 @@ Source10: asound.conf
|
|||||||
Patch0: alsa-lib-1.0.17-config.patch
|
Patch0: alsa-lib-1.0.17-config.patch
|
||||||
Patch2: alsa-lib-1.0.14-glibc-open.patch
|
Patch2: alsa-lib-1.0.14-glibc-open.patch
|
||||||
Patch4: alsa-lib-1.0.16-no-dox-date.patch
|
Patch4: alsa-lib-1.0.16-no-dox-date.patch
|
||||||
Patch10: alsa-lib-1.0.21-speaker.patch
|
Patch10: alsa-lib-1.0.22-closetimer.patch
|
||||||
Patch11: alsa-lib-1.0.21-revert-hook.patch
|
Patch11: alsa-lib-1.0.22-softvol.patch
|
||||||
Patch12: alsa-lib-1.0.21-dmix-conf.patch
|
|
||||||
URL: http://www.alsa-project.org/
|
URL: http://www.alsa-project.org/
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||||
BuildRequires: doxygen
|
BuildRequires: doxygen
|
||||||
@ -47,9 +46,8 @@ against the ALSA libraries and interfaces.
|
|||||||
%patch0 -p1 -b .config
|
%patch0 -p1 -b .config
|
||||||
%patch2 -p1 -b .glibc-open
|
%patch2 -p1 -b .glibc-open
|
||||||
%patch4 -p1 -b .no-dox-date
|
%patch4 -p1 -b .no-dox-date
|
||||||
%patch10 -p1 -b .speaker
|
%patch10 -p1 -b .closetimer
|
||||||
%patch11 -p1 -b .revert-hook
|
%patch11 -p1 -b .softvol
|
||||||
%patch12 -p1 -b .dmix-conf
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure --disable-aload
|
%configure --disable-aload
|
||||||
@ -99,6 +97,11 @@ rm -rf %{buildroot}
|
|||||||
%{_datadir}/aclocal/alsa.m4
|
%{_datadir}/aclocal/alsa.m4
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Dec 28 2009 Jaroslav Kysela <jkysela@redhat.com> - 1.0.22-1
|
||||||
|
- Updated to 1.0.22 final
|
||||||
|
- Fix file descriptor leak in pcm_hw plugin
|
||||||
|
- Fix sound distortions for S24_LE - softvol plugin
|
||||||
|
|
||||||
* Wed Sep 9 2009 Jaroslav Kysela <jkysela@redhat.com> - 1.0.21-3
|
* Wed Sep 9 2009 Jaroslav Kysela <jkysela@redhat.com> - 1.0.21-3
|
||||||
- Add Speaker and Beep control names to mixer weight list
|
- Add Speaker and Beep control names to mixer weight list
|
||||||
- Fix redhat bug #521988
|
- Fix redhat bug #521988
|
||||||
|
Loading…
Reference in New Issue
Block a user