Accepting request 1086211 from multimedia:libs

OBS-URL: https://build.opensuse.org/request/show/1086211
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pipewire?expand=0&rev=82
This commit is contained in:
Dominique Leuenberger 2023-05-12 18:32:20 +00:00 committed by Git OBS Bridge
commit d3cb3985b7
9 changed files with 110 additions and 104 deletions

View File

@ -1,43 +0,0 @@
From 916f1cdfbfdc414d83031aef941a9909d1e603bd Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Fri, 14 Apr 2023 16:32:18 +0200
Subject: [PATCH] Revert "alsa-mixer: allow to re-attach the mixer control
element"
This reverts commit b554fc20e9ff97064721c89eb15b1b45870584e5.
---
spa/plugins/alsa/acp/alsa-util.c | 16 ++++------------
1 file changed, 4 insertions(+), 12 deletions(-)
diff --git a/spa/plugins/alsa/acp/alsa-util.c b/spa/plugins/alsa/acp/alsa-util.c
index 38ae934eb3..c76cef3e21 100644
--- a/spa/plugins/alsa/acp/alsa-util.c
+++ b/spa/plugins/alsa/acp/alsa-util.c
@@ -1648,20 +1648,12 @@ static int mixer_class_event(snd_mixer_class_t *class, unsigned int mask,
} else if (mask & SND_CTL_EVENT_MASK_ADD) {
snd_ctl_elem_iface_t iface = snd_hctl_elem_get_interface(helem);
if (iface == SND_CTL_ELEM_IFACE_CARD || iface == SND_CTL_ELEM_IFACE_PCM) {
- snd_mixer_t *mixer = snd_mixer_class_get_mixer(class);
- snd_ctl_elem_iface_t iface = snd_hctl_elem_get_interface(helem);
- const char *name = snd_hctl_elem_get_name(helem);
- const int index = snd_hctl_elem_get_index(helem);
- const int device = snd_hctl_elem_get_device(helem);
snd_mixer_elem_t *new_melem;
- new_melem = pa_alsa_mixer_find(mixer, iface, name, index, device);
- if (!new_melem) {
- /* Put the hctl pointer as our private data - it will be useful for callbacks */
- if ((err = snd_mixer_elem_new(&new_melem, SND_MIXER_ELEM_PULSEAUDIO, 0, helem, NULL)) < 0) {
- pa_log_warn("snd_mixer_elem_new failed: %s", pa_alsa_strerror(err));
- return 0;
- }
+ /* Put the hctl pointer as our private data - it will be useful for callbacks */
+ if ((err = snd_mixer_elem_new(&new_melem, SND_MIXER_ELEM_PULSEAUDIO, 0, helem, NULL)) < 0) {
+ pa_log_warn("snd_mixer_elem_new failed: %s", pa_alsa_strerror(err));
+ return 0;
}
if ((err = snd_mixer_elem_attach(new_melem, helem)) < 0) {
--
2.40.0

View File

@ -1,43 +0,0 @@
From ea7781d7d07870871a3703c1b32fe177b8ba7a18 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Fri, 14 Apr 2023 17:52:26 +0200
Subject: [PATCH] alsa: fix area pointers
We should use the first and step fields to get to the first byte in the
area.
See #3069
---
spa/plugins/alsa/alsa-pcm.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/spa/plugins/alsa/alsa-pcm.c b/spa/plugins/alsa/alsa-pcm.c
index 53407f4b0..fd941ceb3 100644
--- a/spa/plugins/alsa/alsa-pcm.c
+++ b/spa/plugins/alsa/alsa-pcm.c
@@ -2179,7 +2179,7 @@ again:
if (SPA_LIKELY(state->use_mmap)) {
for (i = 0; i < b->buf->n_datas; i++) {
- spa_memcpy(SPA_PTROFF(my_areas[i].addr, off * frame_size, void),
+ spa_memcpy(snd_pcm_channel_area_addr(&my_areas[i], off),
SPA_PTROFF(d[i].data, offs, void), n_bytes);
}
} else {
@@ -2290,11 +2290,11 @@ push_frames(struct state *state,
for (i = 0; i < b->buf->n_datas; i++) {
spa_memcpy(d[i].data,
- SPA_PTROFF(my_areas[i].addr, offset * frame_size, void),
+ snd_pcm_channel_area_addr(&my_areas[i], offset),
l0);
if (SPA_UNLIKELY(l1 > 0))
spa_memcpy(SPA_PTROFF(d[i].data, l0, void),
- my_areas[i].addr,
+ snd_pcm_channel_area_addr(&my_areas[i], 0),
l1);
d[i].chunk->offset = 0;
d[i].chunk->size = n_bytes;
--
2.40.0

View File

@ -3,7 +3,7 @@
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://gitlab.freedesktop.org/pipewire/pipewire.git</param>
<param name="revision">0.3.69</param>
<param name="revision">0.3.70</param>
<param name="versionformat">@PARENT_TAG@</param>
<!--
<param name="revision">master</param>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0a53ff8fd8d1bd344e2e9c1d1ed851110b2410ddf7aa9a8aa65a7607c0126a55
size 11575821

3
pipewire-0.3.70.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4f8b2c2b684fa9feb61d1f2e82b44f2c60ff5bd41a90fc5577274dcbf17f4d03
size 11615757

View File

@ -1,3 +1,83 @@
-------------------------------------------------------------------
Tue May 2 11:41:03 UTC 2023 - Alexei Sorokin <sor.alexei@meowr.ru>
- Make pipewire-alsa conflict with alsa-plugins-pulse as both
provide /etc/alsa/conf.d/99-*-default.conf
- Replace "ffmpeg-5" with the ffmpeg_pref macro.
- Drop patches already included upstream:
* 0001-Revert-alsa-mixer-allow-to-re-attach-the-mixer-control.patch
* 0002-alsa-fix-area-pointers.patch
-------------------------------------------------------------------
Thu Apr 20 15:41:53 UTC 2023 - Antonio Larrosa <alarrosa@suse.com>
- Update to version 0.3.70:
* Highlights:
- Fix a regression in the scheduler that could keep some nodes
IDLE.
- Fix a regression in the biquad filters in filter-chain.
- Fix a regression and potential crash in the ALSA mixer
probing.
- Fix a regression in pipewiresrc with timestamps that could
cause cheese to record video with wrong timestamps.
- Beamforming support was enabled in the echo-canceler.
- pulse-tunnel and raop-sink will now proxy local volume
changes to the remote end.
- More bugfixes and improvements.
* PipeWire
- Fix a bug in the graph scheduler where some nodes might stay
IDLE in some cases (like when connecting the source of the
echo-canceler to the sink).
- pw-metadata can now be created from the factory with initial
values for the metadata. (#3076)
- Conditions were added to the pipewire config file to make it
possible to configure the access module and the exec sections.
- Support was added in pw-stream to intercept and override
properties for the adapter. This can be used to implement
custom volume control, for example.
* Tools
- pw-metadata can now list all available metadata objects with
the -l option.
- A new pw-config tool was added to debug configuration file
loading and parsing.
* Modules
- The webrtc echo canceler now supports beamforming. You can
provide the coordinates of the microphones and let webrtc
perform beamforming on the captured samples to improve
quality and remove noise.
- Fix a regression in the filter-chain with biquad filters.
(#3161) and improve error reporting.
- The pulse-tunnel will now proxy the volume changes to the
remote end.
- The RAOP sink will now send volume parameters to control the
volume remotely. (#2061)
* SPA
- One ALSA commit was not correctly reverted and might cause
crashes.
- The ALSA sink and source now calculate the ALSA ringbuffer
memory location more correctly wich might improve
compatibility with some hardware.
- v4l2 now sets the values of the controls in the Props param.
* Pulse-server
- The echo-canceler aec_args are now parsed like they would be
under pulseaudio.
* Bluetooth
- More work on synchronizing BAP devices.
* GStreamer
- The GStreamer source can now renegotiate the format when it
changes.
- The GStreamer source now uses the BaseSrc clocking code to
implement the clock and timing code.
- Rebase patch:
* reduce-meson-dependency.patch
- Enable the ffmpeg plugin only in TW, since ffmpeg-5-mini doesn't
seem to be available in Leap/SLE
-------------------------------------------------------------------
Tue Apr 18 20:14:27 UTC 2023 - Dirk Müller <dmueller@suse.com>
- reenable ffmpeg plugin by building against ffmpeg-5-mini
-------------------------------------------------------------------
Sat Apr 15 10:08:51 UTC 2023 - Alexei Sorokin <sor.alexei@meowr.ru>

View File

@ -1,4 +1,4 @@
name: pipewire
version: 0.3.69
mtime: 1681374012
commit: cd8be0ba3b27542253f7744b699c2ede159e2d7c
version: 0.3.70
mtime: 1681980091
commit: 9f7d60c1e84cc0481afc3f6ccf76e127567943a8

View File

@ -51,10 +51,16 @@
%bcond_without pipewire_jack_devel
%endif
%if 0%{?ffmpeg_pref:1}
%bcond_without ffmpeg
%else
%bcond_with ffmpeg
%endif
%bcond_with aptx
Name: pipewire
Version: 0.3.69
Version: 0.3.70
Release: 0
Summary: A Multimedia Framework designed to be an audio and video server and more
License: MIT
@ -64,10 +70,6 @@ Source0: %{name}-%{version}.tar.xz
Source99: baselibs.conf
# PATCH-FIX-OPENSUSE reduce-meson-dependency.patch
Patch0: reduce-meson-dependency.patch
# PATCH-FIX-UPSTREAM 0001-Revert-alsa-mixer-allow-to-re-attach-the-mixer-control.patch
Patch1: 0001-Revert-alsa-mixer-allow-to-re-attach-the-mixer-control.patch
# PATCH-FIX-UPSTREAM 0002-alsa-fix-area-pointers.patch
Patch2: 0002-alsa-fix-area-pointers.patch
BuildRequires: docutils
BuildRequires: doxygen
BuildRequires: fdupes
@ -104,10 +106,10 @@ BuildRequires: pkgconfig(jack) >= 1.9.10
BuildRequires: pkgconfig(ldacBT-abr)
BuildRequires: pkgconfig(ldacBT-enc)
%endif
# ffmpeg disabled on purpose, only used for pw-play and pw-record (break circular dependency with ffmpeg).
#BuildRequires: pkgconfig(libavcodec)
#BuildRequires: pkgconfig(libavfilter)
#BuildRequires: pkgconfig(libavformat)
%if %{with ffmpeg}
# Break circular dependency with ffmpeg
BuildRequires: %{ffmpeg_pref}-mini-devel
%endif
BuildRequires: pkgconfig(lc3)
%if %{with libcamera}
BuildRequires: libcamera-devel >= 0.0.1
@ -328,6 +330,8 @@ Summary: PipeWire media server ALSA support
Group: Development/Libraries/C and C++
Requires: %{libpipewire} >= %{version}-%{release}
Recommends: %{name} >= %{version}-%{release}
# Both providing /etc/alsa/conf.d/99-*-default.conf can cause issues
Conflicts: alsa-plugins-pulse
%description alsa
This package contains an ALSA plugin for the PipeWire media server.
@ -369,7 +373,11 @@ export CXX=g++-9
-Ddocs=enabled \
-Dman=enabled \
-Dgstreamer=enabled \
%if %{with ffmpeg}
-Dffmpeg=enabled \
%else
-Dffmpeg=disabled \
%endif
-Dsystemd=enabled \
-Dsystemd-user-unit-dir=%{_userunitdir} \
-Droc=disabled \
@ -603,7 +611,9 @@ fi
%{_libdir}/spa-%{spa_ver}/avb/
%{_libdir}/spa-%{spa_ver}/bluez5/
%{_libdir}/spa-%{spa_ver}/control/
#%%{_libdir}/spa-%%{spa_ver}/ffmpeg/
%if %{with ffmpeg}
%{_libdir}/spa-%{spa_ver}/ffmpeg/
%endif
%{_libdir}/spa-%{spa_ver}/jack/
%if %{with libcamera}
%{_libdir}/spa-%{spa_ver}/libcamera/
@ -651,6 +661,7 @@ fi
%files tools
%{_bindir}/pw-cat
%{_bindir}/pw-cli
%{_bindir}/pw-config
%{_bindir}/pw-dot
%{_bindir}/pw-dsdplay
%{_bindir}/pw-dump
@ -670,6 +681,7 @@ fi
%{_bindir}/pw-v4l2
%{_mandir}/man1/pw-cat.1%{?ext_man}
%{_mandir}/man1/pw-cli.1%{?ext_man}
%{_mandir}/man1/pw-config.1%{?ext_man}
%{_mandir}/man1/pw-dot.1%{?ext_man}
%{_mandir}/man1/pw-link.1%{?ext_man}
%{_mandir}/man1/pw-metadata.1%{?ext_man}

View File

@ -4,7 +4,7 @@ Index: pipewire-0.3.69/meson.build
+++ pipewire-0.3.69/meson.build
@@ -1,7 +1,7 @@
project('pipewire', ['c' ],
version : '0.3.69',
version : '0.3.70',
license : [ 'MIT', 'LGPL-2.1-or-later', 'GPL-2.0-only' ],
- meson_version : '>= 0.61.1',
+ meson_version : '>= 0.59.4',