From aa8ca4d4131f6d0ea33d67afcc5933d40f06faf2 Mon Sep 17 00:00:00 2001 From: Christopher Brannon Date: Tue, 1 Nov 2022 10:08:44 -0700 Subject: [PATCH 1/2] pcaudiolib: update to 1.2. --- .../upstream-fix-alsa-sample-size.patch | 19 ----- .../patches/upstream-fix-snappiness.patch | 76 ------------------- srcpkgs/pcaudiolib/template | 4 +- 3 files changed, 2 insertions(+), 97 deletions(-) delete mode 100644 srcpkgs/pcaudiolib/patches/upstream-fix-alsa-sample-size.patch delete mode 100644 srcpkgs/pcaudiolib/patches/upstream-fix-snappiness.patch diff --git a/srcpkgs/pcaudiolib/patches/upstream-fix-alsa-sample-size.patch b/srcpkgs/pcaudiolib/patches/upstream-fix-alsa-sample-size.patch deleted file mode 100644 index fa3c235cdcdf..000000000000 --- a/srcpkgs/pcaudiolib/patches/upstream-fix-alsa-sample-size.patch +++ /dev/null @@ -1,19 +0,0 @@ -commit d6a6b00aa4334b461c1a09c27b6c681eaac8da8a -Author: Martin Schreiber -Date: Sat Mar 10 06:55:58 2018 +0100 - - * Alsa: fixed sample_size calculation, multiply with channel count. - -diff --git src/alsa.c src/alsa.c -index 34e39be..6af1941 100644 ---- a/src/alsa.c -+++ b/src/alsa.c -@@ -53,7 +53,7 @@ alsa_object_open(struct audio_object *object, - return -EEXIST; - - snd_pcm_format_t pcm_format; --#define FORMAT(srcfmt, dstfmt, size) case srcfmt: pcm_format = dstfmt; self->sample_size = size; break; -+#define FORMAT(srcfmt, dstfmt, size) case srcfmt: pcm_format = dstfmt; self->sample_size = size*channels; break; - switch (format) - { - FORMAT(AUDIO_OBJECT_FORMAT_ALAW, SND_PCM_FORMAT_A_LAW, 1) diff --git a/srcpkgs/pcaudiolib/patches/upstream-fix-snappiness.patch b/srcpkgs/pcaudiolib/patches/upstream-fix-snappiness.patch deleted file mode 100644 index 82ddadfd82e3..000000000000 --- a/srcpkgs/pcaudiolib/patches/upstream-fix-snappiness.patch +++ /dev/null @@ -1,76 +0,0 @@ -commit a41d46e816d2cbcd93564c42b65a87af547bcb2d -Author: Samuel Thibault -Date: Sun Oct 11 17:34:57 2020 +0200 - - Fix cancellation snappiness - - Screen reader users report getting late cancellation, or even mixtures - of speech. This is because the default buffering parameters of alsa or - pulseaudio are relatively large. - - This change sets alsa and pulseaudio buffer sizes to 10ms worth of audio, - which is the human snappiness perception limit. - -diff --git src/alsa.c src/alsa.c -index 64d5a90..c856788 100644 ---- a/src/alsa.c -+++ b/src/alsa.c -@@ -99,6 +99,7 @@ alsa_object_open(struct audio_object *object, - - snd_pcm_hw_params_t *params = NULL; - snd_pcm_hw_params_malloc(¶ms); -+ snd_pcm_uframes_t bufsize = (rate * channels * LATENCY) / 1000; - - int err = 0; - if ((err = snd_pcm_open(&self->handle, self->device ? self->device : "default", SND_PCM_STREAM_PLAYBACK, 0)) < 0) -@@ -113,6 +114,8 @@ alsa_object_open(struct audio_object *object, - goto error; - if ((err = snd_pcm_hw_params_set_channels(self->handle, params, channels)) < 0) - goto error; -+ if ((err = snd_pcm_hw_params_set_buffer_size_near(self->handle, params, &bufsize)) < 0) -+ goto error; - if ((err = snd_pcm_hw_params(self->handle, params)) < 0) - goto error; - if ((err = snd_pcm_prepare(self->handle)) < 0) -diff --git src/audio_priv.h src/audio_priv.h -index 9526138..669a037 100644 ---- a/src/audio_priv.h -+++ b/src/audio_priv.h -@@ -52,6 +52,10 @@ struct audio_object - int error); - }; - -+/* We try to aim for 10ms cancelation latency, which will be perceived as -+ * "snappy" by users */ -+#define LATENCY 10 -+ - #if defined(_WIN32) || defined(_WIN64) - - #include -diff --git src/pulseaudio.c src/pulseaudio.c -index d23366d..2f80c62 100644 ---- a/src/pulseaudio.c -+++ b/src/pulseaudio.c -@@ -74,6 +74,13 @@ pulseaudio_object_open(struct audio_object *object, - } - - int error = 0; -+ pa_buffer_attr battr; -+ -+ battr.fragsize = (uint32_t) -1; -+ battr.maxlength = (uint32_t) -1; -+ battr.minreq = (uint32_t) -1; -+ battr.prebuf = (uint32_t) -1; -+ battr.tlength = pa_bytes_per_second(&self->ss) * LATENCY / 1000; - self->s = pa_simple_new(NULL, - self->application_name, - PA_STREAM_PLAYBACK, -@@ -81,7 +88,7 @@ pulseaudio_object_open(struct audio_object *object, - self->description, - &self->ss, - NULL, -- NULL, -+ &battr, - &error); - return error; - } diff --git a/srcpkgs/pcaudiolib/template b/srcpkgs/pcaudiolib/template index 7f40e0388e16..926e7fe212ad 100644 --- a/srcpkgs/pcaudiolib/template +++ b/srcpkgs/pcaudiolib/template @@ -1,6 +1,6 @@ # Template file for 'pcaudiolib' pkgname=pcaudiolib -version=1.1 +version=1.2 revision=1 build_style=gnu-configure hostmakedepends="automake libtool which pkg-config" @@ -10,7 +10,7 @@ maintainer="Joey " license="GPL-3.0-or-later" homepage="https://github.com/espeak-ng/pcaudiolib" distfiles="https://github.com/espeak-ng/pcaudiolib/archive/${version}.tar.gz" -checksum=699a5a347b1e12dc5b122e192e19f4db01621826bf41b9ebefb1cbc63ae2180b +checksum=44b9d509b9eac40a0c61585f756d76a7b555f732e8b8ae4a501c8819c59c6619 pre_configure() { ./autogen.sh From 89118aaef44843eaee181ed00c3a84d629b31055 Mon Sep 17 00:00:00 2001 From: Christopher Brannon Date: Tue, 1 Nov 2022 10:18:28 -0700 Subject: [PATCH 2/2] espeak-ng: update to 1.51. --- srcpkgs/espeak-ng/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/espeak-ng/template b/srcpkgs/espeak-ng/template index f6c13921feee..f5f15df88037 100644 --- a/srcpkgs/espeak-ng/template +++ b/srcpkgs/espeak-ng/template @@ -1,6 +1,6 @@ # Template file for 'espeak-ng' pkgname=espeak-ng -version=1.50 +version=1.51 revision=1 build_style=gnu-configure make_build_args="-j1" @@ -11,7 +11,7 @@ maintainer="Joey " license="GPL-3.0-or-later" homepage="https://github.com/espeak-ng/espeak-ng/" distfiles="https://github.com/espeak-ng/espeak-ng/archive/${version}.tar.gz" -checksum=5ce9f24ee662b5822a4acc45bed31425e70d7c50707b96b6c1603a335c7759fa +checksum=f0e028f695a8241c4fa90df7a8c8c5d68dcadbdbc91e758a97e594bbb0a3bdbf if [ "$CROSS_BUILD" ]; then hostmakedepends+=" espeak-ng"