Accepting request 950944 from multimedia:libs

OBS-URL: https://build.opensuse.org/request/show/950944
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pipewire?expand=0&rev=50
This commit is contained in:
Dominique Leuenberger 2022-02-03 23:45:53 +00:00 committed by Git OBS Bridge
commit 6d9b5f2baf
7 changed files with 388 additions and 10 deletions

View File

@ -3,7 +3,7 @@
<service name="obs_scm" mode="disabled">
<param name="scm">git</param>
<param name="url">https://gitlab.freedesktop.org/pipewire/pipewire.git</param>
<param name="revision">refs/tags/0.3.44</param>
<param name="revision">refs/tags/0.3.45</param>
<param name="versionformat">@PARENT_TAG@</param>
<!-- <param name="revision">master</param>
<param name="versionformat">@PARENT_TAG@+git%cd.%h</param>

View File

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

3
pipewire-0.3.45.obscpio Normal file
View File

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

View File

@ -1,3 +1,80 @@
-------------------------------------------------------------------
Thu Feb 3 11:56:13 UTC 2022 - Antonio Larrosa <alarrosa@suse.com>
- Update to version 0.3.45:
* Highlights
- Zoom, telegram and other apps should be able to play sound
again.
- Implement a better way to force and lock JACK buffersize.
- Default sink and source names and properties are improved.
- The config loader can now load and merge fragments in conf.d
directories for easier user configuration of config files.
- Many small bug fixes and improvements.
* PipeWire
- pw-cli can now also send Commands to nodes. This can be used
to Suspend a device, for example.
- The eventfd was removed from loops and invoke is now used to
stop the loop, this saves an fd.
- New Alpine CI target to test musl builds, various build
fixes.
- Add force-quantum and force-rate properties.
- The config loader can now load and merge fragments in conf.d
directories. (#207)
- resource error methods can be called without a resource and
then just log an error message.
- link-factory can now also work from the config. (#2095)
* modules
- module-simple-protocol has better argument parsing and can
handle channelmap now. (#2068) It's also possible to
configure latency and rate.
- The native protocol now does extra checks for invalid data.
(#2070)
* ALSA
- TI2902 chips as found in various Behringer cards should have
inputs again.
- Better handling of busy devices in udev, retry when the
inotify close event is emited.
* SPA
- plugins now handle alignment properly and only expect the max
alignment required for the CPU. (#2074)
* Bluetooth
- SBC-XQ is now enabled for the JBL Endurance RUN BT headset.
- Support for non-hexadecimal XAPL version strings to improve
compatibility.
- Use HCI commands again to probe the adapter msbc capability.
This improves compatibility with some adapters. (#2030)
- Set the right startup volume.
- Better A2DP source idle handling.
- Fix a timer bug in SCO sink that could cause busy looping.
* pulse-server
- A playback issue when the tlength > maxlength was fixed.
(#2069) This affected Zoom and other applications.
- The STREAM_BUFFER_ATTR command is now implemented.
- Module names are improved. (#2076)
- Many small fixes and improvements.
- Fix a pavucontrol crash with invalid channels. (#1442)
* JACK
- Use the new force-quantum and force-rate properties in the
JACK API to switch quantum and ensure it can't change for
the lifetime of the JACK app. (#2079)
- Rebase patch:
* reduce-meson-dependency.patch
-------------------------------------------------------------------
Tue Feb 1 14:23:13 UTC 2022 - Dario Faggioli <dfaggioli@suse.com>
- pipewire should be a true dependency, not just recommended (e.g.,
so that any setup that use no-recommends, like MicroOS, also work)
-------------------------------------------------------------------
Thu Jan 27 14:04:28 UTC 2022 - Antonio Larrosa <alarrosa@suse.com>
- Add patch to reduce the meson requirement so we can build
pipewire with Leap 15.3. This will be dropped as soon as
Leap 15.4 is released or if it becomes too hard to maintain
(whatever happens before):
* reduce-meson-dependency.patch
-------------------------------------------------------------------
Thu Jan 27 10:45:39 UTC 2022 - Alexei Sorokin <sor.alexei@meowr.ru>

View File

@ -1,4 +1,4 @@
name: pipewire
version: 0.3.44
mtime: 1643275073
commit: c4ca245b24071c33b1d131e131cf1ebc5fb64f2e
version: 0.3.45
mtime: 1643887464
commit: bdd407fe66cc9e46d4bc4dcc989d50679000482b

View File

@ -53,7 +53,7 @@
%endif
Name: pipewire
Version: 0.3.44
Version: 0.3.45
Release: 0
Summary: A Multimedia Framework designed to be an audio and video server and more
License: MIT
@ -61,6 +61,7 @@ Group: Development/Libraries/C and C++
URL: https://pipewire.org/
Source0: %{name}-%{version}.tar.xz
Source99: baselibs.conf
Patch0: reduce-meson-dependency.patch
BuildRequires: docutils
BuildRequires: doxygen
BuildRequires: fdupes
@ -70,7 +71,11 @@ BuildRequires: gcc9-c++
%endif
BuildRequires: gcc-c++
BuildRequires: graphviz
%if 0%{?sle_version} == 150300
BuildRequires: meson >= 0.54.0
%else
BuildRequires: meson >= 0.59.0
%endif
BuildRequires: pkgconfig
BuildRequires: systemd-rpm-macros
BuildRequires: pkgconfig(alsa) >= 1.1.7
@ -300,8 +305,8 @@ This package contains an ALSA plugin for the PipeWire media server.
%package pulseaudio
Summary: PipeWire PulseAudio implementation
Group: Development/Libraries/C and C++
Recommends: %{name} >= %{version}-%{release}
Requires: %{libpipewire} >= %{version}-%{release}
Requires: %{name} >= %{version}-%{release}
Conflicts: pulseaudio
%if 0%{suse_version} >= 1550
Requires(post): pulseaudio-setup
@ -320,7 +325,10 @@ This package provides a PulseAudio implementation based on PipeWire
%lang_package
%prep
%autosetup -p1
%autosetup -N
%if 0%{?sle_version} == 150300
%patch0 -p1
%endif
%build
%if %{pkg_vcmp gcc < 8}
@ -333,6 +341,7 @@ export CXX=g++-9
-Dgstreamer=enabled \
-Dffmpeg=enabled \
-Dsystemd=enabled \
-Dsystemd-user-unit-dir=%{_userunitdir} \
-Dgstreamer-device-provider=disabled \
-Droc=disabled \
%if %{with_vulkan}

View File

@ -0,0 +1,292 @@
Index: pipewire-0.3.44/meson.build
===================================================================
--- pipewire-0.3.44.orig/meson.build
+++ pipewire-0.3.44/meson.build
@@ -1,7 +1,7 @@
project('pipewire', ['c' ],
version : '0.3.45',
license : [ 'MIT', 'LGPL-2.1-or-later', 'GPL-2.0-only' ],
- meson_version : '>= 0.59.0',
+ meson_version : '>= 0.54.0',
default_options : [ 'warning_level=3',
'c_std=gnu99',
'cpp_std=c++17',
@@ -304,8 +304,8 @@ includes_inc = include_directories('incl
pipewire_inc = include_directories('src')
makedata = configuration_data()
-makedata.set('BUILD_ROOT', meson.project_build_root())
-makedata.set('SOURCE_ROOT', meson.project_source_root())
+makedata.set('BUILD_ROOT', meson.build_root())
+makedata.set('SOURCE_ROOT', meson.source_root())
makedata.set('VERSION', pipewire_version)
if version_arr.length() == 4
makedata.set('TAG', 'HEAD')
@@ -509,20 +509,20 @@ endif
setenv = find_program('pw-uninstalled.sh')
run_target('pw-uninstalled',
command : [setenv,
- '-b@0@'.format(meson.project_build_root()),
+ '-b@0@'.format(meson.build_root()),
'-v@0@'.format(pipewire_version)]
)
devenv = environment()
-builddir = meson.project_build_root()
-srcdir = meson.project_source_root()
+builddir = meson.build_root()
+srcdir = meson.source_root()
-devenv.set('PIPEWIRE_CONFIG_DIR', pipewire_dep.get_variable('confdatadir'))
-devenv.set('PIPEWIRE_MODULE_DIR', pipewire_dep.get_variable('moduledir'))
+devenv.set('PIPEWIRE_CONFIG_DIR', pipewire_dep.get_variable(internal: 'confdatadir'))
+devenv.set('PIPEWIRE_MODULE_DIR', pipewire_dep.get_variable(internal: 'moduledir'))
-devenv.set('SPA_PLUGIN_DIR', spa_dep.get_variable('plugindir'))
-devenv.set('SPA_DATA_DIR', spa_dep.get_variable('datadir'))
+devenv.set('SPA_PLUGIN_DIR', spa_dep.get_variable(internal: 'plugindir'))
+devenv.set('SPA_DATA_DIR', spa_dep.get_variable(internal: 'datadir'))
devenv.set('GST_PLUGIN_PATH', builddir / 'src'/ 'gst')
@@ -534,4 +534,6 @@ devenv.set('LD_LIBRARY_PATH', builddir /
devenv.set('PW_UNINSTALLED', '1')
-meson.add_devenv(devenv)
+if meson.version().version_compare('>=0.58.0')
+ meson.add_devenv(devenv)
+endif
Index: pipewire-0.3.44/spa/plugins/audioconvert/meson.build
===================================================================
--- pipewire-0.3.44.orig/spa/plugins/audioconvert/meson.build
+++ pipewire-0.3.44/spa/plugins/audioconvert/meson.build
@@ -140,7 +140,7 @@ foreach a : test_apps
install : installed_tests_enabled,
install_dir : installed_tests_execdir / 'audioconvert'),
env : [
- 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable('plugindir')),
+ 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable(internal: 'plugindir')),
])
if installed_tests_enabled
@@ -170,7 +170,7 @@ foreach a : benchmark_apps
install : installed_tests_enabled,
install_dir : installed_tests_execdir / 'audioconvert'),
env : [
- 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable('plugindir')),
+ 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable(internal: 'plugindir')),
])
if installed_tests_enabled
Index: pipewire-0.3.44/spa/tests/meson.build
===================================================================
--- pipewire-0.3.44.orig/spa/tests/meson.build
+++ pipewire-0.3.44/spa/tests/meson.build
@@ -5,7 +5,7 @@ find = find_program('find', required: fa
summary({'find (for header testing)': find.found()}, bool_yn: true, section: 'Optional programs')
if find.found()
spa_headers = run_command(find,
- meson.project_source_root() / 'spa' / 'include',
+ meson.source_root() / 'spa' / 'include',
'-name', '*.h',
'-not', '-name', 'type-info.h',
'-type', 'f',
@@ -41,7 +41,7 @@ foreach a : benchmark_apps
install_dir : installed_tests_execdir,
),
env : [
- 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable('plugindir')),
+ 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable(internal: 'plugindir')),
]
)
Index: pipewire-0.3.44/src/daemon/meson.build
===================================================================
--- pipewire-0.3.44.orig/src/daemon/meson.build
+++ pipewire-0.3.44/src/daemon/meson.build
@@ -18,9 +18,9 @@ conf_config.set('pulse_comment', '#')
conf_config_uninstalled = conf_config
conf_config_uninstalled.set('pipewire_path',
- meson.project_build_root() / 'src' / 'daemon' / 'pipewire')
+ meson.build_root() / 'src' / 'daemon' / 'pipewire')
conf_config_uninstalled.set('pipewire_pulse_path',
- meson.project_build_root() / 'src' / 'daemon' / 'pipewire-pulse')
+ meson.build_root() / 'src' / 'daemon' / 'pipewire-pulse')
conf_config_uninstalled.set('pulse_comment', '')
build_ms = 'media-session' in get_option('session-managers')
@@ -106,7 +106,7 @@ custom_target('pipewire-uninstalled',
install: false,
input: pipewire_exec,
output: 'pipewire-uninstalled',
- command: [ln, '-fs', meson.project_build_root() + '/@INPUT@', '@OUTPUT@'],
+ command: [ln, '-fs', meson.build_root() + '/@INPUT@', '@OUTPUT@'],
)
#desktop_file = i18n.merge_file(
Index: pipewire-0.3.44/src/daemon/systemd/user/meson.build
===================================================================
--- pipewire-0.3.44.orig/src/daemon/systemd/user/meson.build
+++ pipewire-0.3.44/src/daemon/systemd/user/meson.build
@@ -1,4 +1,4 @@
-systemd_user_services_dir = systemd.get_variable('systemduserunitdir', pkgconfig_define : [ 'prefix', prefix])
+#systemd_user_services_dir = systemd.get_variable('systemduserunitdir', pkgconfig_define : [ 'prefix', prefix])
if get_option('systemd-user-unit-dir') != ''
systemd_user_services_dir = get_option('systemd-user-unit-dir')
endif
Index: pipewire-0.3.44/src/modules/meson.build
===================================================================
--- pipewire-0.3.44.orig/src/modules/meson.build
+++ pipewire-0.3.44/src/modules/meson.build
@@ -368,9 +368,9 @@ test('pw-test-protocol-native',
install_dir : installed_tests_execdir,
),
env : [
- 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable('plugindir')),
- 'PIPEWIRE_CONFIG_DIR=@0@'.format(pipewire_dep.get_variable('confdatadir')),
- 'PIPEWIRE_MODULE_DIR=@0@'.format(pipewire_dep.get_variable('moduledir')),
+ 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable(internal: 'plugindir')),
+ 'PIPEWIRE_CONFIG_DIR=@0@'.format(pipewire_dep.get_variable(internal: 'confdatadir')),
+ 'PIPEWIRE_MODULE_DIR=@0@'.format(pipewire_dep.get_variable(internal: 'moduledir')),
]
)
Index: pipewire-0.3.44/src/tests/meson.build
===================================================================
--- pipewire-0.3.44.orig/src/tests/meson.build
+++ pipewire-0.3.44/src/tests/meson.build
@@ -13,9 +13,9 @@ foreach a : test_apps
install : installed_tests_enabled,
install_dir : installed_tests_execdir),
env : [
- 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable('plugindir')),
- 'PIPEWIRE_CONFIG_DIR=@0@'.format(pipewire_dep.get_variable('confdatadir')),
- 'PIPEWIRE_MODULE_DIR=@0@'.format(pipewire_dep.get_variable('moduledir')),
+ 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable(internal: 'plugindir')),
+ 'PIPEWIRE_CONFIG_DIR=@0@'.format(pipewire_dep.get_variable(internal: 'confdatadir')),
+ 'PIPEWIRE_MODULE_DIR=@0@'.format(pipewire_dep.get_variable(internal: 'moduledir')),
])
if installed_tests_enabled
Index: pipewire-0.3.44/test/meson.build
===================================================================
--- pipewire-0.3.44.orig/test/meson.build
+++ pipewire-0.3.44/test/meson.build
@@ -14,8 +14,8 @@ pwtest_deps = [
]
pwtest_c_args = [
- '-DBUILD_ROOT="@0@"'.format(meson.project_build_root()),
- '-DSOURCE_ROOT="@0@"'.format(meson.project_source_root()),
+ '-DBUILD_ROOT="@0@"'.format(meson.build_root()),
+ '-DSOURCE_ROOT="@0@"'.format(meson.source_root()),
]
pwtest_inc = [
Index: pipewire-0.3.44/doc/meson.build
===================================================================
--- pipewire-0.3.44.orig/doc/meson.build
+++ pipewire-0.3.44/doc/meson.build
@@ -1,8 +1,8 @@
doxyfile_conf = configuration_data()
doxyfile_conf.set('PACKAGE_NAME', meson.project_name())
doxyfile_conf.set('PACKAGE_VERSION', meson.project_version())
-doxyfile_conf.set('top_srcdir', meson.project_source_root())
-doxyfile_conf.set('top_builddir', meson.project_build_root())
+doxyfile_conf.set('top_srcdir', meson.source_root())
+doxyfile_conf.set('top_builddir', meson.build_root())
dot_found = find_program('dot', required: false).found()
summary({'dot (used with doxygen)': dot_found}, bool_yn: true, section: 'Optional programs')
@@ -48,35 +48,35 @@ extra_docs = [
inputs = []
foreach extra : extra_docs
- inputs += meson.project_source_root() / 'doc' / extra
+ inputs += meson.source_root() / 'doc' / extra
endforeach
foreach h : pipewire_headers
- inputs += meson.project_source_root() / 'src' / 'pipewire' / h
+ inputs += meson.source_root() / 'src' / 'pipewire' / h
endforeach
foreach h : pipewire_ext_headers
- inputs += meson.project_source_root() / 'src' / 'pipewire' / 'extensions' / h
+ inputs += meson.source_root() / 'src' / 'pipewire' / 'extensions' / h
endforeach
foreach h : pipewire_ext_sm_headers
- inputs += meson.project_source_root() / 'src' / 'pipewire' / 'extensions' / h
+ inputs += meson.source_root() / 'src' / 'pipewire' / 'extensions' / h
endforeach
foreach h : pipewire_sources
- inputs += meson.project_source_root() / 'src' / 'pipewire' / h
+ inputs += meson.source_root() / 'src' / 'pipewire' / h
endforeach
foreach h : module_sources
- inputs += meson.project_source_root() / 'src' / 'modules' / h
+ inputs += meson.source_root() / 'src' / 'modules' / h
endforeach
-inputs += meson.project_source_root() / 'test' / 'pwtest.h'
-input_dirs = [ meson.project_source_root() / 'spa' / 'include' / 'spa' ]
+inputs += meson.source_root() / 'test' / 'pwtest.h'
+input_dirs = [ meson.source_root() / 'spa' / 'include' / 'spa' ]
path_prefixes = [
- meson.project_source_root() / 'src',
- meson.project_source_root() / 'spa' / 'include',
- meson.project_source_root(),
+ meson.source_root() / 'src',
+ meson.source_root() / 'spa' / 'include',
+ meson.source_root(),
]
cssfiles = [
- meson.project_source_root() / 'doc' / 'doxygen-awesome.css',
- meson.project_source_root() / 'doc' / 'custom.css'
+ meson.source_root() / 'doc' / 'doxygen-awesome.css',
+ meson.source_root() / 'doc' / 'custom.css'
]
# Example files (in order from simple to esoteric)
@@ -116,13 +116,25 @@ input_dirs += [ 'doc/examples.dox' ]
man_doxygen = []
man_subpages = []
+manpages = [
+ 'pipewire.1.rst.in',
+ 'pipewire-pulse.1.rst.in',
+ 'pipewire.conf.5.rst.in',
+ 'pw-cat.1.rst.in',
+ 'pw-cli.1.rst.in',
+ 'pw-dot.1.rst.in',
+ 'pw-metadata.1.rst.in',
+ 'pw-mididump.1.rst.in',
+ 'pw-mon.1.rst.in',
+ 'pw-profiler.1.rst.in',
+]
foreach m : manpages
manconf = configuration_data()
- pagename = 'page_man_' + m.split('.rst.in').get(0).replace('.', '_').replace('-', '_')
+ pagename = 'page_man_' + m.split('.rst.in').get(0).underscorify()
filename = m.split('.rst.in').get(0) + '.dox'
manconf.set('pagename', pagename)
- manconf.set('title', m.split('.rst.in').get(0).replace('.1','').replace('.5',''))
- manconf.set('filename', meson.project_source_root() / 'man' / m)
+ manconf.set('title', m.split('.rst.in').get(0).strip('.15'))
+ manconf.set('filename', meson.source_root() / 'man' / m)
manfile = configure_file(input: 'manpage.dox.in',
output: filename,
configuration: manconf)
@@ -141,8 +153,8 @@ input_dirs += [ 'doc/pipewire-tools.dox'
doxyfile_conf.set('inputs', ' '.join(inputs + input_dirs))
doxyfile_conf.set('cssfiles', ' '.join(cssfiles))
doxyfile_conf.set('path_prefixes', ' '.join(path_prefixes))
-doxyfile_conf.set('c_input_filter', meson.project_source_root() / 'doc' / 'input-filter.sh')
-doxyfile_conf.set('h_input_filter', meson.project_source_root() / 'doc' / 'input-filter-h.sh')
+doxyfile_conf.set('c_input_filter', meson.source_root() / 'doc' / 'input-filter.sh')
+doxyfile_conf.set('h_input_filter', meson.source_root() / 'doc' / 'input-filter-h.sh')
doxyfile = configure_file(input: 'Doxyfile.in',
output: 'Doxyfile',