Hello community, here is the log from the commit of package alsa-utils for openSUSE:Factory checked in at 2020-03-16 10:16:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/alsa-utils (Old) and /work/SRC/openSUSE:Factory/.alsa-utils.new.3160 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "alsa-utils" Mon Mar 16 10:16:26 2020 rev:121 rq:784668 version:1.2.2 Changes: -------- --- /work/SRC/openSUSE:Factory/alsa-utils/alsa-utils.changes 2020-02-21 16:40:43.401837078 +0100 +++ /work/SRC/openSUSE:Factory/.alsa-utils.new.3160/alsa-utils.changes 2020-03-16 10:17:07.183557454 +0100 @@ -1,0 +2,43 @@ +Fri Mar 13 14:48:05 CET 2020 - [email protected] + +- Update to alsa-utils 1.2.2; including previous fixes +- Backport upstream fix: alsaloop improvement; + 0001-alsaloop-reduce-cumulative-error-caused-by-non-atomi.patch +- Drop obsoleted patches: + 0001-treewide-sys-poll-to-poll.patch + 0002-treewide-Fix-wrong-formats-on-32-bit.patch + 0003-treewide-Fix-printf-formats.patch + 0004-aplay-Adjust-buffer-sizes-to-fix-snprintf-warnings.patch + 0005-aplay-Limit-VUMeter-progress-bar-to-100-for-negative.patch + 0006-alsactl-sysfs-add-sys-kernel-uevent_seqnum-check-to-.patch + 0007-alsaucm-use-the-first-sound-card-use-case-name-hw-CA.patch + 0008-alsaucm-add-text-dump-command.patch + 0009-alsaucm-add-json-dump-command.patch + 0010-alsaucm-dump-fix-the-prefixed.patch + 0011-alsactl-fix-sched-idle-set-it-really-to-SCHED_IDLE.patch + 0012-configure-Fix-linking-of-alsatplg-with-the-older-lib.patch + 0013-alsatplg-add-n-normalize-option.patch + 0014-alsatplg-add-s-sort-and-fix-memory-leaks.patch + 0015-alsatplg-fix-another-small-leak-in-normalize_config.patch + 0016-alsa-info.sh-Consolidate-PCI-device-output.patch + 0017-alsa-info.sh-Read-from-proc-modules-and-sort-the-res.patch + 0018-alsa-info.sh-Simplify-iteration-over-cards-when-call.patch + 0019-alsa-info.sh-Use-existing-function-to-print-ALSA-con.patch + 0020-alsa-info.sh-Exit-script-after-writing-information-t.patch + 0021-alsa-info.sh-Replace-gauge-with-infobox-for-upload-d.patch + 0022-alsa-info.sh-Remove-progress-spinner-during-upload-w.patch + 0023-alsa-info.sh-Condense-nested-commands-for-file-uploa.patch + 0024-alsa-info.sh-Condense-nested-commands-for-formatting.patch + 0025-alsa-info.sh-Perform-test-for-wget-earlier.patch + 0026-alsa-info.sh-Warn-after-actual-upload-failure-do-not.patch + 0027-alsatplg-rewrite-to-use-the-new-libatopology-functio.patch + 0028-alsatplg-add-V-version-option.patch + 0029-alsatplg-add-decode-command.patch + 0030-alsatplg-add-documentation-for-z-dapm-nosort-h.patch + 0031-configure-fix-new-libatopology-check.patch + 0032-Use-__func__-instead-of-__FUNCTION__.patch + 0033-Avoid-pointer-arithmetic-on-void.patch + 0034-Use-lli-for-long-long-in-printf.patch + 0035-Avoid-empty-initializer-list.patch + +------------------------------------------------------------------- Old: ---- 0001-treewide-sys-poll-to-poll.patch 0002-treewide-Fix-wrong-formats-on-32-bit.patch 0003-treewide-Fix-printf-formats.patch 0004-aplay-Adjust-buffer-sizes-to-fix-snprintf-warnings.patch 0005-aplay-Limit-VUMeter-progress-bar-to-100-for-negative.patch 0006-alsactl-sysfs-add-sys-kernel-uevent_seqnum-check-to-.patch 0007-alsaucm-use-the-first-sound-card-use-case-name-hw-CA.patch 0008-alsaucm-add-text-dump-command.patch 0009-alsaucm-add-json-dump-command.patch 0010-alsaucm-dump-fix-the-prefixed.patch 0011-alsactl-fix-sched-idle-set-it-really-to-SCHED_IDLE.patch 0012-configure-Fix-linking-of-alsatplg-with-the-older-lib.patch 0013-alsatplg-add-n-normalize-option.patch 0014-alsatplg-add-s-sort-and-fix-memory-leaks.patch 0015-alsatplg-fix-another-small-leak-in-normalize_config.patch 0016-alsa-info.sh-Consolidate-PCI-device-output.patch 0017-alsa-info.sh-Read-from-proc-modules-and-sort-the-res.patch 0018-alsa-info.sh-Simplify-iteration-over-cards-when-call.patch 0019-alsa-info.sh-Use-existing-function-to-print-ALSA-con.patch 0020-alsa-info.sh-Exit-script-after-writing-information-t.patch 0021-alsa-info.sh-Replace-gauge-with-infobox-for-upload-d.patch 0022-alsa-info.sh-Remove-progress-spinner-during-upload-w.patch 0023-alsa-info.sh-Condense-nested-commands-for-file-uploa.patch 0024-alsa-info.sh-Condense-nested-commands-for-formatting.patch 0025-alsa-info.sh-Perform-test-for-wget-earlier.patch 0026-alsa-info.sh-Warn-after-actual-upload-failure-do-not.patch 0027-alsatplg-rewrite-to-use-the-new-libatopology-functio.patch 0028-alsatplg-add-V-version-option.patch 0029-alsatplg-add-decode-command.patch 0030-alsatplg-add-documentation-for-z-dapm-nosort-h.patch 0031-configure-fix-new-libatopology-check.patch 0032-Use-__func__-instead-of-__FUNCTION__.patch 0033-Avoid-pointer-arithmetic-on-void.patch 0034-Use-lli-for-long-long-in-printf.patch 0035-Avoid-empty-initializer-list.patch alsa-utils-1.2.1.tar.bz2 New: ---- 0001-alsaloop-reduce-cumulative-error-caused-by-non-atomi.patch alsa-utils-1.2.2.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ alsa-utils.spec ++++++ --- /var/tmp/diff_new_pack.EnvvPu/_old 2020-03-16 10:17:08.959558178 +0100 +++ /var/tmp/diff_new_pack.EnvvPu/_new 2020-03-16 10:17:08.959558178 +0100 @@ -19,7 +19,7 @@ %define do_autoreconf 1 %define _udevdir %(pkg-config --variable=udevdir udev) Name: alsa-utils -Version: 1.2.1 +Version: 1.2.2 Release: 0 Summary: Advanced Linux Sound Architecture Utilities License: GPL-2.0-or-later @@ -29,41 +29,7 @@ Source1: 01beep.conf Source2: sound-extra.service Source5: load-sound-modules.sh -Patch1: 0001-treewide-sys-poll-to-poll.patch -Patch2: 0002-treewide-Fix-wrong-formats-on-32-bit.patch -Patch3: 0003-treewide-Fix-printf-formats.patch -Patch4: 0004-aplay-Adjust-buffer-sizes-to-fix-snprintf-warnings.patch -Patch5: 0005-aplay-Limit-VUMeter-progress-bar-to-100-for-negative.patch -Patch6: 0006-alsactl-sysfs-add-sys-kernel-uevent_seqnum-check-to-.patch -Patch7: 0007-alsaucm-use-the-first-sound-card-use-case-name-hw-CA.patch -Patch8: 0008-alsaucm-add-text-dump-command.patch -Patch9: 0009-alsaucm-add-json-dump-command.patch -Patch10: 0010-alsaucm-dump-fix-the-prefixed.patch -Patch11: 0011-alsactl-fix-sched-idle-set-it-really-to-SCHED_IDLE.patch -Patch12: 0012-configure-Fix-linking-of-alsatplg-with-the-older-lib.patch -Patch13: 0013-alsatplg-add-n-normalize-option.patch -Patch14: 0014-alsatplg-add-s-sort-and-fix-memory-leaks.patch -Patch15: 0015-alsatplg-fix-another-small-leak-in-normalize_config.patch -Patch16: 0016-alsa-info.sh-Consolidate-PCI-device-output.patch -Patch17: 0017-alsa-info.sh-Read-from-proc-modules-and-sort-the-res.patch -Patch18: 0018-alsa-info.sh-Simplify-iteration-over-cards-when-call.patch -Patch19: 0019-alsa-info.sh-Use-existing-function-to-print-ALSA-con.patch -Patch20: 0020-alsa-info.sh-Exit-script-after-writing-information-t.patch -Patch21: 0021-alsa-info.sh-Replace-gauge-with-infobox-for-upload-d.patch -Patch22: 0022-alsa-info.sh-Remove-progress-spinner-during-upload-w.patch -Patch23: 0023-alsa-info.sh-Condense-nested-commands-for-file-uploa.patch -Patch24: 0024-alsa-info.sh-Condense-nested-commands-for-formatting.patch -Patch25: 0025-alsa-info.sh-Perform-test-for-wget-earlier.patch -Patch26: 0026-alsa-info.sh-Warn-after-actual-upload-failure-do-not.patch -Patch27: 0027-alsatplg-rewrite-to-use-the-new-libatopology-functio.patch -Patch28: 0028-alsatplg-add-V-version-option.patch -Patch29: 0029-alsatplg-add-decode-command.patch -Patch30: 0030-alsatplg-add-documentation-for-z-dapm-nosort-h.patch -Patch31: 0031-configure-fix-new-libatopology-check.patch -Patch32: 0032-Use-__func__-instead-of-__FUNCTION__.patch -Patch33: 0033-Avoid-pointer-arithmetic-on-void.patch -Patch34: 0034-Use-lli-for-long-long-in-printf.patch -Patch35: 0035-Avoid-empty-initializer-list.patch +Patch1: 0001-alsaloop-reduce-cumulative-error-caused-by-non-atomi.patch Patch101: alsa-utils-configure-version-revert.patch BuildRequires: alsa-devel BuildRequires: alsa-topology-devel @@ -105,40 +71,6 @@ %prep %setup -q %patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 -%patch14 -p1 -%patch15 -p1 -%patch16 -p1 -%patch17 -p1 -%patch18 -p1 -%patch19 -p1 -%patch20 -p1 -%patch21 -p1 -%patch22 -p1 -%patch23 -p1 -%patch24 -p1 -%patch25 -p1 -%patch26 -p1 -%patch27 -p1 -%patch28 -p1 -%patch29 -p1 -%patch30 -p1 -%patch31 -p1 -%patch32 -p1 -%patch33 -p1 -%patch34 -p1 -%patch35 -p1 %if 0%{?do_autoreconf} %patch101 -p1 # fix stupid automake's automatic action ++++++ 0001-alsaloop-reduce-cumulative-error-caused-by-non-atomi.patch ++++++ >From ec8717d58891b18e27ac3f0e220a2a7060512870 Mon Sep 17 00:00:00 2001 From: Ruslan Bilovol <[email protected]> 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 <[email protected]> Signed-off-by: Jaroslav Kysela <[email protected]> --- 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 ++++++ alsa-utils-1.2.1.tar.bz2 -> alsa-utils-1.2.2.tar.bz2 ++++++ ++++ 5476 lines of diff (skipped)
