forked from pool/alsa-utils
Accepting request 812888 from home:tiwai:branches:multimedia:libs
- Update to alsa-utils 1.2.3: including previous fixes, see the detailed changes at: https://www.alsa-project.org/wiki/Detailed_changes_v1.2.2_v1.2.3 - Dropped obsoleted patches: 0001-alsaloop-reduce-cumulative-error-caused-by-non-atomi.patch 0002-alsactl-don-t-exit-on-EINTR-from-epoll_wait.patch 0003-alsactl-avoid-needless-wakeups-in-monitor-loop.patch 0004-alsactl-fix-error-handling-for-sched_setscheduler-ca.patch 0005-alsa-info.sh-add-ALT-to-DISTRO-list.patch 0006-alsa-info-initial-rpm-deb-package-info.patch 0007-alsa-info.sh-increase-version-to-0.4.65.patch OBS-URL: https://build.opensuse.org/request/show/812888 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa-utils?expand=0&rev=175
This commit is contained in:
parent
aeac446db3
commit
6440f09f64
@ -1,62 +0,0 @@
|
||||
From ec8717d58891b18e27ac3f0e220a2a7060512870 Mon Sep 17 00:00:00 2001
|
||||
From: Ruslan Bilovol <ruslan.bilovol@gmail.com>
|
||||
Date: Mon, 9 Mar 2020 22:29:54 +0200
|
||||
Subject: [PATCH] alsaloop: reduce cumulative error caused by non-atomic
|
||||
samples calculation
|
||||
|
||||
When doing loopback between two audio card with
|
||||
same sampling frequency, I noticed slow increase
|
||||
of pitch_diff.
|
||||
|
||||
When I changed order of get_queued_playback_samples()
|
||||
vs get_queued_capture_samples(), I noticed same drift
|
||||
of pitch_diff but if was decreasing this time.
|
||||
|
||||
This seems to be caused by non-atomic consecutive
|
||||
snd_pcm_delay() invocation for playback then for
|
||||
capture. snd_pcm_delay() measures delay between
|
||||
read/write call and actual ADC/DAC operation.
|
||||
|
||||
So while we get this value for playback path in
|
||||
get_queued_playback_samples(), next call to
|
||||
get_queued_capture_samples() will happen a little
|
||||
bit later so snd_pcm_delay() may return incorrect
|
||||
value.
|
||||
|
||||
Be interleaving get_queued_{playback,capture}_samples()
|
||||
order, we divide this small error between playback
|
||||
and capture paths. I do not see any issues anymore
|
||||
with one-way drift of pitch_diff.
|
||||
|
||||
Signed-off-by: Ruslan Bilovol <ruslan.bilovol@gmail.com>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
alsaloop/pcmjob.c | 12 ++++++++++--
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/alsaloop/pcmjob.c b/alsaloop/pcmjob.c
|
||||
index b252486b2f6d..1b7925a205be 100644
|
||||
--- a/alsaloop/pcmjob.c
|
||||
+++ b/alsaloop/pcmjob.c
|
||||
@@ -1951,8 +1951,16 @@ int pcmjob_pollfds_handle(struct loopback *loop, struct pollfd *fds)
|
||||
}
|
||||
if (loop->sync != SYNC_TYPE_NONE) {
|
||||
snd_pcm_sframes_t pqueued, cqueued;
|
||||
- pqueued = get_queued_playback_samples(loop);
|
||||
- cqueued = get_queued_capture_samples(loop);
|
||||
+
|
||||
+ /* Reduce cumulative error by interleaving playback vs capture reading order */
|
||||
+ if (loop->total_queued_count & 1) {
|
||||
+ pqueued = get_queued_playback_samples(loop);
|
||||
+ cqueued = get_queued_capture_samples(loop);
|
||||
+ } else {
|
||||
+ cqueued = get_queued_capture_samples(loop);
|
||||
+ pqueued = get_queued_playback_samples(loop);
|
||||
+ }
|
||||
+
|
||||
if (verbose > 4)
|
||||
snd_output_printf(loop->output, "%s: queued %li/%li samples\n", loop->id, pqueued, cqueued);
|
||||
if (pqueued > 0)
|
||||
--
|
||||
2.16.4
|
||||
|
@ -1,32 +0,0 @@
|
||||
From 5830fc726ac9294641592a8c007502d573f6dea1 Mon Sep 17 00:00:00 2001
|
||||
From: Zev Weiss <zev@bewilderbeest.net>
|
||||
Date: Mon, 14 Oct 2019 23:36:50 -0500
|
||||
Subject: [PATCH] alsactl: don't exit on EINTR from epoll_wait().
|
||||
|
||||
Previously, things like attaching strace to a running 'alsactl monitor'
|
||||
process would cause it to exit.
|
||||
|
||||
Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
|
||||
Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
|
||||
Tested-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
alsactl/monitor.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/alsactl/monitor.c b/alsactl/monitor.c
|
||||
index 6b090e4f5c92..cf4167bee165 100644
|
||||
--- a/alsactl/monitor.c
|
||||
+++ b/alsactl/monitor.c
|
||||
@@ -342,6 +342,8 @@ static int run_dispatcher(int epfd, int sigfd, int infd, struct list_head *srcs,
|
||||
|
||||
count = epoll_wait(epfd, epev, max_ev_count, 200);
|
||||
if (count < 0) {
|
||||
+ if (errno == EINTR)
|
||||
+ continue;
|
||||
err = count;
|
||||
break;
|
||||
}
|
||||
--
|
||||
2.16.4
|
||||
|
@ -1,32 +0,0 @@
|
||||
From 5fe6b866594c6d59d1960356590a00ccc4cdf4c7 Mon Sep 17 00:00:00 2001
|
||||
From: Zev Weiss <zev@bewilderbeest.net>
|
||||
Date: Mon, 14 Oct 2019 23:38:02 -0500
|
||||
Subject: [PATCH] alsactl: avoid needless wakeups in monitor loop.
|
||||
|
||||
The timeout wasn't really being used for anything; disabling it should
|
||||
reduce idle energy consumption slightly.
|
||||
|
||||
Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
|
||||
Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
|
||||
Tested-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
alsactl/monitor.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/alsactl/monitor.c b/alsactl/monitor.c
|
||||
index cf4167bee165..fa6cd85d2ab2 100644
|
||||
--- a/alsactl/monitor.c
|
||||
+++ b/alsactl/monitor.c
|
||||
@@ -340,7 +340,7 @@ static int run_dispatcher(int epfd, int sigfd, int infd, struct list_head *srcs,
|
||||
int count;
|
||||
int i;
|
||||
|
||||
- count = epoll_wait(epfd, epev, max_ev_count, 200);
|
||||
+ count = epoll_wait(epfd, epev, max_ev_count, -1);
|
||||
if (count < 0) {
|
||||
if (errno == EINTR)
|
||||
continue;
|
||||
--
|
||||
2.16.4
|
||||
|
@ -1,38 +0,0 @@
|
||||
From d2bf87608a1c3f2d62ceb9300a74e9006394c678 Mon Sep 17 00:00:00 2001
|
||||
From: Oscar65 <megia.oscar@gmail.com>
|
||||
Date: Thu, 16 Apr 2020 12:35:21 +0200
|
||||
Subject: [PATCH] alsactl: fix error handling for sched_setscheduler() call
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
As man page says: "If successful, the sched_setparam() function shall return zero."
|
||||
|
||||
Without update I got this output in the syslog (journalctl):
|
||||
abr 16 09:25:30 mypc alsactl[1652]: alsactl 1.2.2 daemon started
|
||||
abr 16 09:25:30 mypc alsactl[1652]: /usr/bin/alsactl: do_nice:165sched_setparam failed: No such file or directory
|
||||
|
||||
If sched_setscheduler() returns 0, so it means that the call was successful.
|
||||
|
||||
Signed-off-by: Oscar Megía <megia.oscar@gmail.com>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
alsactl/alsactl.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/alsactl/alsactl.c b/alsactl/alsactl.c
|
||||
index dfb1db7f4a83..60d39459dedf 100644
|
||||
--- a/alsactl/alsactl.c
|
||||
+++ b/alsactl/alsactl.c
|
||||
@@ -161,7 +161,7 @@ static void do_nice(int use_nice, int sched_idle)
|
||||
if (sched_idle) {
|
||||
if (sched_getparam(0, &sched_param) >= 0) {
|
||||
sched_param.sched_priority = 0;
|
||||
- if (!sched_setscheduler(0, SCHED_IDLE, &sched_param))
|
||||
+ if (sched_setscheduler(0, SCHED_IDLE, &sched_param) < 0)
|
||||
error("sched_setparam failed: %s", strerror(errno));
|
||||
} else {
|
||||
error("sched_getparam failed: %s", strerror(errno));
|
||||
--
|
||||
2.16.4
|
||||
|
@ -1,28 +0,0 @@
|
||||
From 217fef4a0b4e2604d57c8b9cb21e67a82e9a17a3 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Shigorin <mike@altlinux.org>
|
||||
Date: Fri, 1 May 2020 10:28:59 +0300
|
||||
Subject: [PATCH 5/7] alsa-info.sh: add ALT to DISTRO list
|
||||
|
||||
Suggested-by: Anton Farygin <rider@altlinux.org>
|
||||
See-also: http://bugzilla.altlinux.org/38416
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
alsa-info/alsa-info.sh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/alsa-info/alsa-info.sh b/alsa-info/alsa-info.sh
|
||||
index 7bae30a614b0..2265caec970e 100755
|
||||
--- a/alsa-info/alsa-info.sh
|
||||
+++ b/alsa-info/alsa-info.sh
|
||||
@@ -394,7 +394,7 @@ fi
|
||||
|
||||
# Fetch the info and store in temp files/variables
|
||||
TSTAMP=$(LANG=C TZ=UTC date)
|
||||
-DISTRO=$(grep -ihs "buntu\|SUSE\|Fedora\|PCLinuxOS\|MEPIS\|Mandriva\|Debian\|Damn\|Sabayon\|Slackware\|KNOPPIX\|Gentoo\|Zenwalk\|Mint\|Kubuntu\|FreeBSD\|Puppy\|Freespire\|Vector\|Dreamlinux\|CentOS\|Arch\|Xandros\|Elive\|SLAX\|Red\|BSD\|KANOTIX\|Nexenta\|Foresight\|GeeXboX\|Frugalware\|64\|SystemRescue\|Novell\|Solaris\|BackTrack\|KateOS\|Pardus" /etc/{issue,*release,*version})
|
||||
+DISTRO=$(grep -ihs "buntu\|SUSE\|Fedora\|PCLinuxOS\|MEPIS\|Mandriva\|Debian\|Damn\|Sabayon\|Slackware\|KNOPPIX\|Gentoo\|Zenwalk\|Mint\|Kubuntu\|FreeBSD\|Puppy\|Freespire\|Vector\|Dreamlinux\|CentOS\|Arch\|Xandros\|Elive\|SLAX\|Red\|BSD\|KANOTIX\|Nexenta\|Foresight\|GeeXboX\|Frugalware\|64\|SystemRescue\|Novell\|Solaris\|BackTrack\|KateOS\|Pardus\|ALT" /etc/{issue,*release,*version})
|
||||
KERNEL_VERSION=$(uname -r)
|
||||
KERNEL_PROCESSOR=$(uname -p)
|
||||
KERNEL_MACHINE=$(uname -m)
|
||||
--
|
||||
2.16.4
|
||||
|
@ -1,87 +0,0 @@
|
||||
From 8e59029c9c70d00efb33eb1d0d79b30dbcabbcc8 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Shigorin <mike@altlinux.org>
|
||||
Date: Fri, 1 May 2020 10:52:42 +0300
|
||||
Subject: [PATCH 6/7] alsa-info: initial rpm/deb package info
|
||||
|
||||
This might become a Pandora's box given
|
||||
the amount of obscure package managers
|
||||
on the planet but these two account for
|
||||
most *nix-like systems with ALSA it seems.
|
||||
|
||||
Added support for querying ALSA packages
|
||||
installed through rpm and dpkg; tested
|
||||
on ALT (rpm) and OS Elbrus (dpkg).
|
||||
|
||||
Suggested-by: Anton Farygin <rider@altlinux.org>
|
||||
See-also: http://bugzilla.altlinux.org/38416
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
alsa-info/alsa-info.sh | 24 ++++++++++++++++++++++++
|
||||
1 file changed, 24 insertions(+)
|
||||
|
||||
diff --git a/alsa-info/alsa-info.sh b/alsa-info/alsa-info.sh
|
||||
index 2265caec970e..1bf0421e0db3 100755
|
||||
--- a/alsa-info/alsa-info.sh
|
||||
+++ b/alsa-info/alsa-info.sh
|
||||
@@ -238,6 +238,23 @@ withdmesg() {
|
||||
echo "" >> $FILE
|
||||
}
|
||||
|
||||
+withpackages() {
|
||||
+ local RPM="$(which rpmquery 2>/dev/null | sed 's|^[^/]*||' 2>/dev/null)"
|
||||
+ local DPKG="$(which dpkg 2>/dev/null | sed 's|^[^/]*||' 2>/dev/null)"
|
||||
+ [ -n "$RPM$DPKG" ] || return
|
||||
+ local PATTERN='(alsa-(lib|oss|plugins|tools|(topology|ucm)-conf|utils)|libalsa|tinycompress)'
|
||||
+ {
|
||||
+ echo "!!Packages installed"
|
||||
+ echo "!!--------------------"
|
||||
+ echo ""
|
||||
+ {
|
||||
+ if [ -x "$RPM" ]; then "$RPM" -a; fi
|
||||
+ if [ -x "$DPKG" ]; then "$DPKG" -l; fi
|
||||
+ } | grep -E "$PATTERN"
|
||||
+ echo ""
|
||||
+ } >> "$FILE"
|
||||
+}
|
||||
+
|
||||
withall() {
|
||||
withdevices
|
||||
withconfigs
|
||||
@@ -247,6 +264,7 @@ withall() {
|
||||
withmodules
|
||||
withsysfs
|
||||
withdmesg
|
||||
+ withpackages
|
||||
WITHALL="no"
|
||||
}
|
||||
|
||||
@@ -357,6 +375,7 @@ information about your ALSA installation and sound related hardware.
|
||||
aplay
|
||||
amixer
|
||||
alsactl
|
||||
+ rpm, dpkg
|
||||
/proc/asound/
|
||||
/sys/class/sound/
|
||||
~/.asoundrc (etc.)
|
||||
@@ -699,6 +718,10 @@ if [ -n "$1" ]; then
|
||||
withconfigs
|
||||
WITHALL="no"
|
||||
;;
|
||||
+ --with-packages)
|
||||
+ withpackages
|
||||
+ WITHALL="no"
|
||||
+ ;;
|
||||
--stdout)
|
||||
UPLOAD="no"
|
||||
if [ -z "$WITHALL" ]; then
|
||||
@@ -730,6 +753,7 @@ if [ -n "$1" ]; then
|
||||
echo " /etc/asound.conf if they exist)"
|
||||
echo " --with-devices (shows the device nodes in /dev/snd/)"
|
||||
echo " --with-dmesg (shows the ALSA/HDA kernel messages)"
|
||||
+ echo " --with-packages (includes known packages installed)"
|
||||
echo ""
|
||||
echo " --output FILE (specify the file to output for no-upload mode)"
|
||||
echo " --update (check server for script updates)"
|
||||
--
|
||||
2.16.4
|
||||
|
@ -1,25 +0,0 @@
|
||||
From 2cfeffb6e80db3fa39054f74badac33f9539233a Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Mon, 4 May 2020 10:05:41 +0200
|
||||
Subject: [PATCH 7/7] alsa-info.sh: increase version to 0.4.65
|
||||
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
---
|
||||
alsa-info/alsa-info.sh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/alsa-info/alsa-info.sh b/alsa-info/alsa-info.sh
|
||||
index 1bf0421e0db3..c1849159120c 100755
|
||||
--- a/alsa-info/alsa-info.sh
|
||||
+++ b/alsa-info/alsa-info.sh
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
-SCRIPT_VERSION=0.4.64
|
||||
+SCRIPT_VERSION=0.4.65
|
||||
CHANGELOG="http://www.alsa-project.org/alsa-info.sh.changelog"
|
||||
|
||||
#################################################################################
|
||||
--
|
||||
2.16.4
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:44807bd578c5f6df6e91a11b8d37e546424a5a1ea8d8e659ee359fe01730e4f3
|
||||
size 1274821
|
3
alsa-utils-1.2.3.tar.bz2
Normal file
3
alsa-utils-1.2.3.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ff19ae48c22938de7a491bdb39db74a2eee2546013f39bf1a86185e426f921aa
|
||||
size 1277105
|
@ -1,3 +1,18 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 9 11:21:59 CEST 2020 - tiwai@suse.de
|
||||
|
||||
- Update to alsa-utils 1.2.3:
|
||||
including previous fixes, see the detailed changes at:
|
||||
https://www.alsa-project.org/wiki/Detailed_changes_v1.2.2_v1.2.3
|
||||
- Dropped obsoleted patches:
|
||||
0001-alsaloop-reduce-cumulative-error-caused-by-non-atomi.patch
|
||||
0002-alsactl-don-t-exit-on-EINTR-from-epoll_wait.patch
|
||||
0003-alsactl-avoid-needless-wakeups-in-monitor-loop.patch
|
||||
0004-alsactl-fix-error-handling-for-sched_setscheduler-ca.patch
|
||||
0005-alsa-info.sh-add-ALT-to-DISTRO-list.patch
|
||||
0006-alsa-info-initial-rpm-deb-package-info.patch
|
||||
0007-alsa-info.sh-increase-version-to-0.4.65.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 6 12:19:02 CEST 2020 - tiwai@suse.de
|
||||
|
||||
|
@ -16,10 +16,10 @@
|
||||
#
|
||||
|
||||
|
||||
%define do_autoreconf 1
|
||||
%define do_autoreconf 0
|
||||
%define _udevdir %(pkg-config --variable=udevdir udev)
|
||||
Name: alsa-utils
|
||||
Version: 1.2.2
|
||||
Version: 1.2.3
|
||||
Release: 0
|
||||
Summary: Advanced Linux Sound Architecture Utilities
|
||||
License: GPL-2.0-or-later
|
||||
@ -29,13 +29,6 @@ Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-%{version}.tar.b
|
||||
Source1: 01beep.conf
|
||||
Source2: sound-extra.service
|
||||
Source5: load-sound-modules.sh
|
||||
Patch1: 0001-alsaloop-reduce-cumulative-error-caused-by-non-atomi.patch
|
||||
Patch2: 0002-alsactl-don-t-exit-on-EINTR-from-epoll_wait.patch
|
||||
Patch3: 0003-alsactl-avoid-needless-wakeups-in-monitor-loop.patch
|
||||
Patch4: 0004-alsactl-fix-error-handling-for-sched_setscheduler-ca.patch
|
||||
Patch5: 0005-alsa-info.sh-add-ALT-to-DISTRO-list.patch
|
||||
Patch6: 0006-alsa-info-initial-rpm-deb-package-info.patch
|
||||
Patch7: 0007-alsa-info.sh-increase-version-to-0.4.65.patch
|
||||
Patch101: alsa-utils-configure-version-revert.patch
|
||||
BuildRequires: alsa-devel
|
||||
BuildRequires: alsa-topology-devel
|
||||
@ -76,13 +69,6 @@ and test audio before and after PM state changes.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%if 0%{?do_autoreconf}
|
||||
%patch101 -p1
|
||||
# fix stupid automake's automatic action
|
||||
|
Loading…
Reference in New Issue
Block a user