diff --git a/0001-pulse-server-also-advance-read-pointer-in-underrun.patch b/0001-pulse-server-also-advance-read-pointer-in-underrun.patch deleted file mode 100644 index de4305e..0000000 --- a/0001-pulse-server-also-advance-read-pointer-in-underrun.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 0c9dd45914452a7676e0cea2c10a0d7ad5bbaf32 Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Thu, 10 Nov 2022 16:13:33 +0100 -Subject: [PATCH 1/4] pulse-server: also advance read pointer in underrun - -So that we ask for more data from the client. - -Also retested with #2799 that caused this regression. - -Fixes #2821 ---- - src/modules/module-protocol-pulse/pulse-server.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/src/modules/module-protocol-pulse/pulse-server.c b/src/modules/module-protocol-pulse/pulse-server.c -index b18273e98..07f664ba1 100644 ---- a/src/modules/module-protocol-pulse/pulse-server.c -+++ b/src/modules/module-protocol-pulse/pulse-server.c -@@ -1433,10 +1433,11 @@ static void stream_process(void *data) - stream->buffer, MAXLENGTH, - index % MAXLENGTH, - p, avail); -- index += avail; -- pd.read_inc = avail; -- spa_ringbuffer_read_update(&stream->ring, index); - } -+ index += size; -+ pd.read_inc = size; -+ spa_ringbuffer_read_update(&stream->ring, index); -+ - pd.playing_for = size; - } - pw_log_debug("%p: [%s] underrun read:%u avail:%d max:%u", --- -2.38.1 - diff --git a/0002-audioadapter-perform-setup-again-after-a-PortConfig.patch b/0002-audioadapter-perform-setup-again-after-a-PortConfig.patch deleted file mode 100644 index 738eb7c..0000000 --- a/0002-audioadapter-perform-setup-again-after-a-PortConfig.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 3d5142fa504623f6084d2938c69678256d6c2ff3 Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Tue, 15 Nov 2022 15:40:47 +0100 -Subject: [PATCH 2/4] audioadapter: perform setup again after a PortConfig - -After the ports are reconfigured, we need to perform the setup again so -that buffers and processing can happen with the right settings. - -This fixes an issue when autoswitching between A2DP and HFP with -bluetooth headsets when there is also a stereo capture device available. -The input stream of the browser is quickly reconfigured between stereo -and mono with only a Pause command in between, clearing the setup state -is enough to redo the setup when going back to Playing. - -Fixes #2764 ---- - spa/plugins/audioconvert/audioconvert.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/spa/plugins/audioconvert/audioconvert.c b/spa/plugins/audioconvert/audioconvert.c -index 6c7144d38..7fe62228f 100644 ---- a/spa/plugins/audioconvert/audioconvert.c -+++ b/spa/plugins/audioconvert/audioconvert.c -@@ -979,6 +979,7 @@ static int reconfigure_mode(struct impl *this, enum spa_param_port_config_mode m - } - - this->monitor = monitor; -+ this->setup = false; - dir->control = control; - dir->have_profile = true; - dir->mode = mode; --- -2.38.1 - diff --git a/0003-acp-do-probing-in-44100-Hz-again.patch b/0003-acp-do-probing-in-44100-Hz-again.patch deleted file mode 100644 index a141b32..0000000 --- a/0003-acp-do-probing-in-44100-Hz-again.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 197c120eb990dd48afbe8f04505f18a5b5a70457 Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Tue, 15 Nov 2022 16:30:26 +0100 -Subject: [PATCH 3/4] acp: do probing in 44100 Hz again - -Some devices don't seem to work when probed in 48000 so bring it back -to 44100 until we figure out what is going on. - -Fixes #2718 ---- - spa/plugins/alsa/acp/acp.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/spa/plugins/alsa/acp/acp.c b/spa/plugins/alsa/acp/acp.c -index c49c9e088..4bbe5ee92 100644 ---- a/spa/plugins/alsa/acp/acp.c -+++ b/spa/plugins/alsa/acp/acp.c -@@ -34,6 +34,8 @@ void *_acp_log_data; - - struct spa_i18n *acp_i18n; - -+#define DEFAULT_RATE 44100 -+ - #define VOLUME_ACCURACY (PA_VOLUME_NORM/100) /* don't require volume adjustments to be perfectly correct. don't necessarily extend granularity in software unless the differences get greater than this level */ - - static const uint32_t channel_table[PA_CHANNEL_POSITION_MAX] = { -@@ -312,7 +314,7 @@ static int add_pro_profile(pa_card *impl, uint32_t index) - snd_pcm_uframes_t try_period_size, try_buffer_size; - - ss.format = PA_SAMPLE_S32LE; -- ss.rate = 48000; -+ ss.rate = DEFAULT_RATE; - ss.channels = 64; - - ap = pa_xnew0(pa_alsa_profile, 1); -@@ -1571,7 +1573,7 @@ struct acp_card *acp_card_new(uint32_t index, const struct acp_dict *props) - } - - impl->ucm.default_sample_spec.format = PA_SAMPLE_S16NE; -- impl->ucm.default_sample_spec.rate = 48000; -+ impl->ucm.default_sample_spec.rate = DEFAULT_RATE; - impl->ucm.default_sample_spec.channels = 2; - pa_channel_map_init_extend(&impl->ucm.default_channel_map, - impl->ucm.default_sample_spec.channels, PA_CHANNEL_MAP_ALSA); --- -2.38.1 - diff --git a/0004-alsa-force-playback-start-when-buffer-is-full.patch b/0004-alsa-force-playback-start-when-buffer-is-full.patch deleted file mode 100644 index 43b973a..0000000 --- a/0004-alsa-force-playback-start-when-buffer-is-full.patch +++ /dev/null @@ -1,30 +0,0 @@ -From aa4e2cce42a049b00ef4b63547a87422da109905 Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Wed, 16 Nov 2022 20:45:38 +0100 -Subject: [PATCH 4/4] alsa: force playback start when buffer is full - -When we try to play data but the ringbuffer is full, we need to start -the device or else we will stay in this situation forever and stay -silent. - -Fixes #2830 ---- - spa/plugins/alsa/alsa-pcm.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/spa/plugins/alsa/alsa-pcm.c b/spa/plugins/alsa/alsa-pcm.c -index fed56e7bb..5e0a60b37 100644 ---- a/spa/plugins/alsa/alsa-pcm.c -+++ b/spa/plugins/alsa/alsa-pcm.c -@@ -2128,7 +2128,7 @@ again: - - state->sample_count += total_written; - -- if (SPA_UNLIKELY(!state->alsa_started && total_written > 0)) -+ if (SPA_UNLIKELY(!state->alsa_started && (total_written > 0 || frames == 0))) - do_start(state); - - return 0; --- -2.38.1 - diff --git a/pipewire.spec b/pipewire.spec index d3d870a..12cbfda 100644 --- a/pipewire.spec +++ b/pipewire.spec @@ -1,6 +1,6 @@ %global majorversion 0 %global minorversion 3 -%global microversion 60 +%global microversion 61 %global apiversion 0.3 %global spaversion 0.2 @@ -9,7 +9,7 @@ %global ms_version 0.4.1 # For rpmdev-bumpspec and releng automation -%global baserelease 5 +%global baserelease 1 #global snapdate 20210107 #global gitcommit b17db2cebc1a5ab2c01851d29c05f79cd2f262bb @@ -73,10 +73,6 @@ Source1: https://gitlab.freedesktop.org/pipewire/media-session/-/archive/ %endif ## upstream patches -Patch0001: 0001-pulse-server-also-advance-read-pointer-in-underrun.patch -Patch0002: 0002-audioadapter-perform-setup-again-after-a-PortConfig.patch -Patch0003: 0003-acp-do-probing-in-44100-Hz-again.patch -Patch0004: 0004-alsa-force-playback-start-when-buffer-is-full.patch ## upstreamable patches @@ -620,6 +616,9 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || : %endif %changelog +* Thu Nov 24 2022 Wim Taymans - 0.3.61-1 +- Update version to 0.3.61 + * Thu Nov 17 2022 Wim Taymans - 0.3.60-5 - Add patch to fix sound in qemu. diff --git a/sources b/sources index e1b3b31..dac8836 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (pipewire-0.3.60.tar.gz) = 33ef5a100107f07a2f42eb008af4dc4bc67c38f4d4929e7ab865c67f16750a3f8d9baca117dc035d5bb88e6f48ce535595435a14770e982c33c349a466508e98 +SHA512 (pipewire-0.3.61.tar.gz) = bf51154a98a0dfe8f003d088c29df2ea5d1189baa8dd678d6c349391cf10960c2ea7124177dc61f2ab3f28104417e500f0d255d24573dbc13910754227e8c96c SHA512 (media-session-0.4.1.tar.gz) = bfce472b7260b280c0d3cd74d917f48655b5be9976c89a109e94b81af2c3664e83446e97db573cedba6e5d54dedf77195b80eb0a76f6bfc0e96e342557469f99