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)


Reply via email to