rpms/alsa-lib/F-11 alsa-lib-1.0.22-closetimer.patch, NONE, 1.1 alsa-lib-1.0.22-softvol.patch, NONE, 1.1 alsa-lib.spec, 1.88, 1.89 alsa-lib-1.0.21-weight.patch, 1.1, NONE
perex
perex at fedoraproject.org
Mon Dec 28 15:48:54 UTC 2009
- Previous message (by thread): rpms/openwsman/EL-4 openwsman-pam-auth.patch, NONE, 1.1 perl-bindings.patch, NONE, 1.1 openwsman-initscript.patch, 1.1, 1.2 openwsman.spec, 1.4, 1.5
- Next message (by thread): rpms/openwsman/EL-4 openwsman.spec,1.5,1.6
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: perex
Update of /cvs/pkgs/rpms/alsa-lib/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29787
Modified Files:
alsa-lib.spec
Added Files:
alsa-lib-1.0.22-closetimer.patch alsa-lib-1.0.22-softvol.patch
Removed Files:
alsa-lib-1.0.21-weight.patch
Log Message:
updated to 1.0.22 release
alsa-lib-1.0.22-closetimer.patch:
pcm_hw.c | 27 ++++++++++++++-------------
1 file changed, 14 insertions(+), 13 deletions(-)
--- NEW FILE alsa-lib-1.0.22-closetimer.patch ---
>From a256766c10c52cb6667de8a65f5cbb332fad4cc7 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex at 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 at ubuntu.com>.
BugLink: https://bugs.launchpad.net/bugs/451893
Signed-off-by: Jaroslav Kysela <perex at 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
alsa-lib-1.0.22-softvol.patch:
pcm_softvol.c | 23 ++++++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
--- NEW FILE alsa-lib-1.0.22-softvol.patch ---
>From bdf80e58af79d4e989cd8d701d97f888c9e2dadc Mon Sep 17 00:00:00 2001
From: Zerg Cannibal <cnb_zerg at 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 at yahoo.com>
Signed-off-by: Jaroslav Kysela <perex at 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
Index: alsa-lib.spec
===================================================================
RCS file: /cvs/pkgs/rpms/alsa-lib/F-11/alsa-lib.spec,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -p -r1.88 -r1.89
--- alsa-lib.spec 28 Dec 2009 15:44:44 -0000 1.88
+++ alsa-lib.spec 28 Dec 2009 15:48:54 -0000 1.89
@@ -6,7 +6,7 @@
Summary: The Advanced Linux Sound Architecture (ALSA) library
Name: alsa-lib
Version: 1.0.22
-Release: 1%{?prever_dot}%{?dist}
+Release: 2%{?prever_dot}%{?dist}
License: LGPLv2+
Group: System Environment/Libraries
Source: ftp://ftp.alsa-project.org/pub/lib/%{name}-%{version}%{?prever}%{?postver}.tar.bz2
@@ -98,7 +98,7 @@ rm -rf %{buildroot}
%{_datadir}/aclocal/alsa.m4
%changelog
-* Mon Dec 28 2009 Jaroslav Kysela <jkysela at redhat.com> - 1.0.22-1
+* Mon Dec 28 2009 Jaroslav Kysela <jkysela at redhat.com> - 1.0.22-2
- Updated to 1.0.22 final
- Fix file descriptor leak in pcm_hw plugin
- Fix sound distortions for S24_LE - softvol plugin
--- alsa-lib-1.0.21-weight.patch DELETED ---
- Previous message (by thread): rpms/openwsman/EL-4 openwsman-pam-auth.patch, NONE, 1.1 perl-bindings.patch, NONE, 1.1 openwsman-initscript.patch, 1.1, 1.2 openwsman.spec, 1.4, 1.5
- Next message (by thread): rpms/openwsman/EL-4 openwsman.spec,1.5,1.6
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list