Update version to 0.3.65
This commit is contained in:
parent
1a3017e153
commit
7b44622e89
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1,3 @@
|
||||
/pipewire-*.tar.gz
|
||||
/media-session-0.4.1.tar.gz
|
||||
/media-session-0.4.2.tar.gz
|
||||
|
||||
25
0001-modules-also-install-module-combine-stream.patch
Normal file
25
0001-modules-also-install-module-combine-stream.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From fba7083f8ceb210c7c20aceafeb5c9a8767cf705 Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Thu, 26 Jan 2023 11:57:45 +0100
|
||||
Subject: [PATCH] modules: also install module-combine-stream
|
||||
|
||||
---
|
||||
src/modules/meson.build | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/modules/meson.build b/src/modules/meson.build
|
||||
index 89e4233d9..1bfb03b4b 100644
|
||||
--- a/src/modules/meson.build
|
||||
+++ b/src/modules/meson.build
|
||||
@@ -139,7 +139,7 @@ pipewire_module_echo_cancel_sources = [
|
||||
pipewire_module_combine_stream = shared_library('pipewire-module-combine-stream',
|
||||
[ 'module-combine-stream.c' ],
|
||||
include_directories : [configinc],
|
||||
- install : false,
|
||||
+ install : true,
|
||||
install_dir : modules_install_dir,
|
||||
install_rpath: modules_install_dir,
|
||||
dependencies : [spa_dep, dl_lib, pipewire_dep],
|
||||
--
|
||||
2.39.1
|
||||
|
||||
@ -1,75 +0,0 @@
|
||||
From f27ccf1fc4d58bd707c1907c4c137181566e274f Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Mon, 16 Jan 2023 18:28:31 +0100
|
||||
Subject: [PATCH 1/3] spa: Fix audioconvert overflow when scaling
|
||||
|
||||
Add SPA_SCALE32_UP that scales a uint32 without overflow.
|
||||
Use this for scaling the threshold in ALSA.
|
||||
Fix the scaling in audioconvert of the buffer size, the scaling was
|
||||
wrong and it was also causing an overflow resulting in choppy sound in
|
||||
some cases.
|
||||
|
||||
See #2680
|
||||
---
|
||||
spa/include/spa/utils/defs.h | 8 ++++++++
|
||||
spa/plugins/alsa/alsa-pcm.c | 4 ++--
|
||||
spa/plugins/audioconvert/audioconvert.c | 2 +-
|
||||
3 files changed, 11 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/spa/include/spa/utils/defs.h b/spa/include/spa/utils/defs.h
|
||||
index c602c9348..3b4862663 100644
|
||||
--- a/spa/include/spa/utils/defs.h
|
||||
+++ b/spa/include/spa/utils/defs.h
|
||||
@@ -274,6 +274,14 @@ struct spa_fraction {
|
||||
#define SPA_ROUND_DOWN_N(num,align) ((num) & ~SPA_ROUND_MASK(num, align))
|
||||
#define SPA_ROUND_UP_N(num,align) ((((num)-1) | SPA_ROUND_MASK(num, align))+1)
|
||||
|
||||
+#define SPA_SCALE32_UP(val,num,denom) \
|
||||
+({ \
|
||||
+ uint64_t _val = (val); \
|
||||
+ uint64_t _denom = (denom); \
|
||||
+ (uint32_t)(((_val) * (num) + (_denom)-1) / (_denom)); \
|
||||
+})
|
||||
+
|
||||
+
|
||||
#define SPA_PTR_ALIGNMENT(p,align) ((intptr_t)(p) & ((align)-1))
|
||||
#define SPA_IS_ALIGNED(p,align) (SPA_PTR_ALIGNMENT(p,align) == 0)
|
||||
#define SPA_PTR_ALIGN(p,align,type) ((type*)SPA_ROUND_UP_N((intptr_t)(p), (intptr_t)(align)))
|
||||
diff --git a/spa/plugins/alsa/alsa-pcm.c b/spa/plugins/alsa/alsa-pcm.c
|
||||
index 76fe433b8..d93e2869e 100644
|
||||
--- a/spa/plugins/alsa/alsa-pcm.c
|
||||
+++ b/spa/plugins/alsa/alsa-pcm.c
|
||||
@@ -1985,7 +1985,7 @@ static inline void check_position_config(struct state *state)
|
||||
(state->rate_denom != state->position->clock.rate.denom))) {
|
||||
state->duration = state->position->clock.duration;
|
||||
state->rate_denom = state->position->clock.rate.denom;
|
||||
- state->threshold = (state->duration * state->rate + state->rate_denom-1) / state->rate_denom;
|
||||
+ state->threshold = SPA_SCALE32_UP(state->duration, state->rate, state->rate_denom);
|
||||
state->max_error = SPA_MAX(256.0f, state->threshold / 2.0f);
|
||||
state->resample = ((uint32_t)state->rate != state->rate_denom) || state->matching;
|
||||
state->alsa_sync = true;
|
||||
@@ -2547,7 +2547,7 @@ int spa_alsa_start(struct state *state)
|
||||
setup_matching(state);
|
||||
|
||||
spa_dll_init(&state->dll);
|
||||
- state->threshold = (state->duration * state->rate + state->rate_denom-1) / state->rate_denom;
|
||||
+ state->threshold = SPA_SCALE32_UP(state->duration, state->rate, state->rate_denom);
|
||||
state->last_threshold = state->threshold;
|
||||
state->max_error = SPA_MAX(256.0f, state->threshold / 2.0f);
|
||||
|
||||
diff --git a/spa/plugins/audioconvert/audioconvert.c b/spa/plugins/audioconvert/audioconvert.c
|
||||
index 578f70ff9..783ab8174 100644
|
||||
--- a/spa/plugins/audioconvert/audioconvert.c
|
||||
+++ b/spa/plugins/audioconvert/audioconvert.c
|
||||
@@ -1755,7 +1755,7 @@ impl_node_port_enum_params(void *object, int seq,
|
||||
size = this->quantum_limit * 2;
|
||||
/* scale the buffer size when we can. */
|
||||
if (irate != 0 && orate != 0)
|
||||
- size = size * (irate + orate - 1) / orate;
|
||||
+ size = SPA_SCALE32_UP(size, irate, orate);
|
||||
}
|
||||
|
||||
param = spa_pod_builder_add_object(&b,
|
||||
--
|
||||
2.39.0
|
||||
|
||||
@ -1,26 +0,0 @@
|
||||
From 2dc1bf3af7572eab99899b565aefa9f22b993a1f Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Tue, 17 Jan 2023 09:24:00 +0100
|
||||
Subject: [PATCH 2/3] filter-chain: fix AVX dsp_sum index increment
|
||||
|
||||
Fixes #2965
|
||||
---
|
||||
src/modules/module-filter-chain/dsp-ops-avx.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/modules/module-filter-chain/dsp-ops-avx.c b/src/modules/module-filter-chain/dsp-ops-avx.c
|
||||
index 64abcaa44..7ea5456fa 100644
|
||||
--- a/src/modules/module-filter-chain/dsp-ops-avx.c
|
||||
+++ b/src/modules/module-filter-chain/dsp-ops-avx.c
|
||||
@@ -59,7 +59,7 @@ void dsp_sum_avx(struct dsp_ops *ops, float *r, const float *a, const float *b,
|
||||
_mm256_store_ps(&r[n+24], in[3]);
|
||||
}
|
||||
} else {
|
||||
- for (n = 0; n < unrolled; n += 16) {
|
||||
+ for (n = 0; n < unrolled; n += 32) {
|
||||
in[0] = _mm256_loadu_ps(&a[n+ 0]);
|
||||
in[1] = _mm256_loadu_ps(&a[n+ 8]);
|
||||
in[2] = _mm256_loadu_ps(&a[n+16]);
|
||||
--
|
||||
2.39.0
|
||||
|
||||
@ -1,68 +0,0 @@
|
||||
From 7acd8551be3b8614b62026077931bd57c5368cfd Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Tue, 17 Jan 2023 11:58:04 +0100
|
||||
Subject: [PATCH 3/3] keys: don't remove deprecated symbols by default
|
||||
|
||||
Add a new macro to mark deprecated keys. The macro will emit a warning
|
||||
about the symbol being deprecated.
|
||||
PW_ENABLE_DEPRECATED will suppress the deprecation warning.
|
||||
Add PW_REMOVE_DEPRECATED to completely remove the deprecated symbols.
|
||||
|
||||
Fixes #2952
|
||||
---
|
||||
src/pipewire/keys.h | 11 ++++++-----
|
||||
src/pipewire/utils.h | 6 ++++++
|
||||
2 files changed, 12 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/pipewire/keys.h b/src/pipewire/keys.h
|
||||
index 81c9c30e0..c7cbf9da1 100644
|
||||
--- a/src/pipewire/keys.h
|
||||
+++ b/src/pipewire/keys.h
|
||||
@@ -29,6 +29,7 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
+#include <pipewire/utils.h>
|
||||
/**
|
||||
* \defgroup pw_keys Key Names
|
||||
*
|
||||
@@ -334,14 +335,14 @@ extern "C" {
|
||||
#define PW_KEY_VIDEO_FORMAT "video.format" /**< a video format */
|
||||
#define PW_KEY_VIDEO_SIZE "video.size" /**< a video size as "<width>x<height" */
|
||||
|
||||
-#ifdef PW_ENABLE_DEPRECATED
|
||||
-#define PW_KEY_PRIORITY_MASTER "priority.master" /**< deprecated */
|
||||
-#define PW_KEY_NODE_TARGET "node.target" /**< deprecated since 0.3.64, use target.object. */
|
||||
-#endif /* PW_ENABLE_DEPRECATED */
|
||||
-
|
||||
#define PW_KEY_TARGET_OBJECT "target.object" /**< a target object to link to. This can be
|
||||
* and object name or object.serial */
|
||||
|
||||
+#ifndef PW_REMOVE_DEPRECATED
|
||||
+#define PW_KEY_PRIORITY_MASTER PW_DEPRECATED("priority.master") /**< deprecated, use priority.driver */
|
||||
+#define PW_KEY_NODE_TARGET PW_DEPRECATED("node.target") /**< deprecated since 0.3.64, use target.object. */
|
||||
+#endif /* PW_REMOVE_DEPRECATED */
|
||||
+
|
||||
/** \}
|
||||
*/
|
||||
|
||||
diff --git a/src/pipewire/utils.h b/src/pipewire/utils.h
|
||||
index 8106710dc..d8d45e000 100644
|
||||
--- a/src/pipewire/utils.h
|
||||
+++ b/src/pipewire/utils.h
|
||||
@@ -94,6 +94,12 @@ ssize_t pw_getrandom(void *buf, size_t buflen, unsigned int flags);
|
||||
|
||||
void* pw_reallocarray(void *ptr, size_t nmemb, size_t size);
|
||||
|
||||
+#ifdef PW_ENABLE_DEPRECATED
|
||||
+#define PW_DEPRECATED(v) (v)
|
||||
+#else
|
||||
+#define PW_DEPRECATED(v) ({ __typeof__(v) _v SPA_DEPRECATED = (v); (void)_v; (v); })
|
||||
+#endif /* PW_ENABLE_DEPRECATED */
|
||||
+
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
--
|
||||
2.39.0
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
%global majorversion 0
|
||||
%global minorversion 3
|
||||
%global microversion 64
|
||||
%global microversion 65
|
||||
|
||||
%global apiversion 0.3
|
||||
%global spaversion 0.2
|
||||
%global soversion 0
|
||||
%global libversion %{soversion}.%(bash -c '((intversion = (%{minorversion} * 100) + %{microversion})); echo ${intversion}').0
|
||||
%global ms_version 0.4.1
|
||||
%global ms_version 0.4.2
|
||||
|
||||
# For rpmdev-bumpspec and releng automation
|
||||
%global baserelease 3
|
||||
%global baserelease 1
|
||||
|
||||
#global snapdate 20210107
|
||||
#global gitcommit b17db2cebc1a5ab2c01851d29c05f79cd2f262bb
|
||||
@ -73,9 +73,7 @@ Source1: https://gitlab.freedesktop.org/pipewire/media-session/-/archive/
|
||||
%endif
|
||||
|
||||
## upstream patches
|
||||
Patch0001: 0001-spa-Fix-audioconvert-overflow-when-scaling.patch
|
||||
Patch0002: 0002-filter-chain-fix-AVX-dsp_sum-index-increment.patch
|
||||
Patch0003: 0003-keys-don-t-remove-deprecated-symbols-by-default.patch
|
||||
Patch0001: 0001-modules-also-install-module-combine-stream.patch
|
||||
|
||||
## upstreamable patches
|
||||
|
||||
@ -512,6 +510,7 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || :
|
||||
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-avb.so
|
||||
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-client-device.so
|
||||
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-client-node.so
|
||||
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-combine-stream.so
|
||||
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-echo-cancel.so
|
||||
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-fallback-sink.so
|
||||
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-filter-chain.so
|
||||
@ -666,6 +665,9 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || :
|
||||
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-x11-bell.so
|
||||
|
||||
%changelog
|
||||
* Thu Jan 26 2023 Wim Taymans <wtaymans@redhat.com> - 0.3.65-1
|
||||
- Update version to 0.3.65
|
||||
|
||||
* Thu Jan 19 2023 Wim Taymans <wtaymans@redhat.com> - 0.3.64-3
|
||||
- Add patch to avoid DSP mixing issues with AVX in filter-chain.
|
||||
- Add patch to revert API breakage with deprecated symbols.
|
||||
|
||||
4
sources
4
sources
@ -1,2 +1,2 @@
|
||||
SHA512 (pipewire-0.3.64.tar.gz) = ce4bbd7ac5a95318154cd5716ef684d271b43bfd3e10677c300e2d74f1652a64cac63779bbba8534f9f9a7139cbbca4006d805d80dbdf5cdc189ab7d6cb19518
|
||||
SHA512 (media-session-0.4.1.tar.gz) = bfce472b7260b280c0d3cd74d917f48655b5be9976c89a109e94b81af2c3664e83446e97db573cedba6e5d54dedf77195b80eb0a76f6bfc0e96e342557469f99
|
||||
SHA512 (pipewire-0.3.65.tar.gz) = ca217039f8e3d9095282844771ad5585567928fbeb10642797453c2e5db7ebbef7f0b71b1d23f3dd6d42ddd7301820b8c8b59023736fd962119d7f9d06929024
|
||||
SHA512 (media-session-0.4.2.tar.gz) = ca3bce52141853b7d47228130d9f636a6ac0e0698f174d5fbab53af44242122e18cc5b5d3f5779101535bc7d779a17347d1b2cc44b30bf37ae89bbd965891ed0
|
||||
|
||||
Loading…
Reference in New Issue
Block a user