[neon/backports-focal/pipewire]: Summary of bulk changes made

KDE Git Services - Bulk Change null at kde.org
Mon Jul 5 09:36:21 BST 2021


Git repository change summary for neon/backports-focal/pipewire
Pushed by sitter into branch 'Neon/release-lts'.
Changed from 7f872523991ce43f4539d4900e6335466efcdd4c to b97b320f5231afef9605080a3fb99288fb97b245
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.

This change contains the following new commits:

Git commit 4c64afc4ff189f887b11188f723ce469899a20de by Wim Taymans on 09/06/2021 at 07:41..
acp: add hw-mute and hw-volume as properties
https://invent.kde.org/neon/backports-focal/pipewire/commit/4c64afc4ff189f887b11188f723ce469899a20de

Git commit c12bdb8c6c734f826138d146f6f72ef9f2c0ee76 by Wim Taymans on 09/06/2021 at 07:41..
pipewire: cleanup on error

To make leak checks more accurate.
https://invent.kde.org/neon/backports-focal/pipewire/commit/c12bdb8c6c734f826138d146f6f72ef9f2c0ee76

Git commit 750cafd7d107b200c24511ca89154c48c18ded02 by Wim Taymans on 09/06/2021 at 07:41..
context: use pw_context_destroy() in error cases

Make sure we free all the resources of a context when it can't be
created.
https://invent.kde.org/neon/backports-focal/pipewire/commit/750cafd7d107b200c24511ca89154c48c18ded02

Git commit fee4d0eae1657a0d892ab59199ab9b8f58be8bd9 by Wim Taymans (on behalf of Peter Hutterer) on 09/06/2021 at 07:43..
spa: switch the include header test to C++ by default

If we have a C++ compiler, compile all the #include tests with that - it'll
pick up any issues that a C compiler will pick up anyway. This saves us from
having a separate C++ compiler test and it'll test each header separately for
C++ compatibility..
https://invent.kde.org/neon/backports-focal/pipewire/commit/fee4d0eae1657a0d892ab59199ab9b8f58be8bd9

Git commit 0054319d882ce1062770f5d974f07c25cbc9d356 by Wim Taymans (on behalf of Peter Hutterer) on 09/06/2021 at 07:47..
meson.build: add -D_GNU_SOURCE to the project arguments

This appends it to every compilation command so we can get rid of the c_args
for (almost all) executables.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0054319d882ce1062770f5d974f07c25cbc9d356

Git commit ed3f882fa95aaa84fc25894fb1edf24d228053bd by Peter Hutterer on 09/06/2021 at 08:00..
test: add the pwtest test framework

Heavily inspired by libinput's litest framework (built around check), this is
a from-scratch framework that simplifies adding tests for various parts of
pipewire. See the pwtest.h documentation for details but the basics are:

- PW_TEST() and PWTEST_SUITE() specify the tests to be run
- Test are run in forked processes, any errors/signals are caught and printed
  to the log
- Tests have a custom pipewire daemon started on demand to talk to [1]. The
  daemon's log is available in the test output.
- Output is YAML to be processed into whatever format needed

[1] There are limits here, since we can't emulate devices yet there is only
so much we can rely on with the daemon.
https://invent.kde.org/neon/backports-focal/pipewire/commit/ed3f882fa95aaa84fc25894fb1edf24d228053bd

Git commit e01faf42a107fb824ba3f04ad6c976e5061a046b by Peter Hutterer on 09/06/2021 at 08:00..
test: give each test its own XDG_RUNTIME_DIR and TMPDIR

On startup, create /tmp/pwtest-$TIME-$RANDOM/ and give each test an
XDG_RUNTIME_DIR and TMPDIR inside that (simply numerically numbered). This
avoids the tests interfering with the system like accidentally connecting to
the real pipewire instance or trying to create files where they shouldn't.
https://invent.kde.org/neon/backports-focal/pipewire/commit/e01faf42a107fb824ba3f04ad6c976e5061a046b

Git commit 2073269f47558063d3faf87d83e877dc6d77f96b by Peter Hutterer on 09/06/2021 at 08:00..
test: set PIPEWIRE_REMOTE to a garbage value if we didn't start a test daemon

Don't let tests connect to the system daemon which would happen if we don't
have PIPEWIRE_REMOTE set at all.
https://invent.kde.org/neon/backports-focal/pipewire/commit/2073269f47558063d3faf87d83e877dc6d77f96b

Git commit 50180532a432b5f25ed5609d66758f733c0917d2 by Peter Hutterer on 09/06/2021 at 08:00..
test: add errno check macros
https://invent.kde.org/neon/backports-focal/pipewire/commit/50180532a432b5f25ed5609d66758f733c0917d2

Git commit dd3f14d9d6e8188541eb5ba8eea1797b910ddf48 by Peter Hutterer on 09/06/2021 at 08:00..
test: add a function to load a SPA interface

Helper function to load a SPA interface. This enables a test to easily load a
specific interface and run tests against that interface without having to
instantiate a whole pipewire daemon.
https://invent.kde.org/neon/backports-focal/pipewire/commit/dd3f14d9d6e8188541eb5ba8eea1797b910ddf48

Git commit dc5751b569f9eecb6db872fafca1e3ea3ed39e84 by Peter Hutterer on 09/06/2021 at 08:00..
test: add a helper function for making tempfiles

Having a helper aids with the file being in the right directory and cleaned up
automatically on exit. Plus, failing the test with the sytem error status code
signals that it's not the actual test failing here.
https://invent.kde.org/neon/backports-focal/pipewire/commit/dc5751b569f9eecb6db872fafca1e3ea3ed39e84

Git commit 9bc840efe216164a4166d39a2ab46641da68a889 by Peter Hutterer on 09/06/2021 at 08:00..
test: detect if we're running through gdb and disable forking mode
https://invent.kde.org/neon/backports-focal/pipewire/commit/9bc840efe216164a4166d39a2ab46641da68a889

Git commit 28f74dc6b23765f229e236964a8d069da1fee6d7 by Peter Hutterer on 09/06/2021 at 08:00..
test: fall back to a timerfd if pidfd fails

Looks like we don't have pidfd in the CI runners, so let's fall back to a
timerfd that pings us every 20ms in case the test finished.
https://invent.kde.org/neon/backports-focal/pipewire/commit/28f74dc6b23765f229e236964a8d069da1fee6d7

Git commit 5911a629f31f1d254ef28f58ab1f0c9d7f47bb50 by Peter Hutterer on 09/06/2021 at 08:00..
test: add an example test for a failing daemon test

If we don't start a daemon from the test suite, we should fail connecting to
one even where a system daemon is running.
https://invent.kde.org/neon/backports-focal/pipewire/commit/5911a629f31f1d254ef28f58ab1f0c9d7f47bb50

Git commit 44dcca0d998d5434ce8b3ebc5d16f104fedab76a by Peter Hutterer on 09/06/2021 at 08:00..
test: add tests for pw_properties
https://invent.kde.org/neon/backports-focal/pipewire/commit/44dcca0d998d5434ce8b3ebc5d16f104fedab76a

Git commit 3865d8846ebea3d26e26785e3d103c8b6f3d0687 by Peter Hutterer on 09/06/2021 at 08:00..
test: add a simple test for the library version
https://invent.kde.org/neon/backports-focal/pipewire/commit/3865d8846ebea3d26e26785e3d103c8b6f3d0687

Git commit 493f0724b5196e42514e8dd15c4fdd0c027a81eb by Peter Hutterer on 09/06/2021 at 08:00..
test: move the array tests to pwtest

Add them to the existing pw_properties test binary and rename that to
pw-utils.

Same functionality as before for the pw_array tests.
https://invent.kde.org/neon/backports-focal/pipewire/commit/493f0724b5196e42514e8dd15c4fdd0c027a81eb

Git commit 7909c99eadbfac3c0f5f49f91f790812ad8198a1 by Peter Hutterer on 09/06/2021 at 08:00..
test: convert two spa tests to pwtest
https://invent.kde.org/neon/backports-focal/pipewire/commit/7909c99eadbfac3c0f5f49f91f790812ad8198a1

Git commit 53215a66b926c60e6f0a854739bd3a7ac38b899f by Peter Hutterer on 09/06/2021 at 08:00..
test: hook up a valgrind test run in meson

Use with:
	meson test -C builddir --setup=valgrind
https://invent.kde.org/neon/backports-focal/pipewire/commit/53215a66b926c60e6f0a854739bd3a7ac38b899f

Git commit dcfd6745d082767980b9c96d94c589ca51258ae5 by Peter Hutterer on 09/06/2021 at 08:00..
test: move the context tests to here
https://invent.kde.org/neon/backports-focal/pipewire/commit/dcfd6745d082767980b9c96d94c589ca51258ae5

Git commit 518ffde9ec5841c46fcce3bd9b27081bc674a455 by Peter Hutterer on 09/06/2021 at 08:00..
test: add a test for the logger truncation

See c851349f174db4e28e792cd4ef167ac5c670b1da
https://invent.kde.org/neon/backports-focal/pipewire/commit/518ffde9ec5841c46fcce3bd9b27081bc674a455

Git commit 7240058bee8c38f66278506b8444bf798438dd7f by Peter Hutterer on 09/06/2021 at 08:00..
test: add test for logger's ANSI escape sequences

Set up the logger with colors enabled but since our log file is not a tty,
this should not print any ansi sequences into the log.
https://invent.kde.org/neon/backports-focal/pipewire/commit/7240058bee8c38f66278506b8444bf798438dd7f

Git commit 008195924ca9b68d9d52ba562ad979fef76fa0ef by Peter Hutterer on 09/06/2021 at 08:00..
test: add a test for the properties stack overflow

See #1249
https://invent.kde.org/neon/backports-focal/pipewire/commit/008195924ca9b68d9d52ba562ad979fef76fa0ef

Git commit 9a65d90e88f4bc40cb1504901ad151a67b8a25f2 by Peter Hutterer on 09/06/2021 at 08:00..
test: move the spa tests to pwtest

Move the spa tests to the pwtest framework. The pod tests have only been
wrapped in the function callers, they don't use the variuos pwtest helpers -
too much work for very little gain here. Can be done incrementally if needed.

Note that this removes the spa tests from the installed tests. Arguably,
installing those tests was unnecessary anyway since they are static binaries
and don't load anything. So having them installed runs the same tests as
having them run in the source tree.

Goal for the pwtest framework is to allow for installed tests, just not there
yet.
https://invent.kde.org/neon/backports-focal/pipewire/commit/9a65d90e88f4bc40cb1504901ad151a67b8a25f2

Git commit d09df66aecccddce826d4b03d3d10a57b6311671 by Peter Hutterer on 09/06/2021 at 09:41..
test: drop the valgrind timeout multiplier to 3

30s * 100 as timeout for a single test is a bit too much.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d09df66aecccddce826d4b03d3d10a57b6311671

Git commit db44fe47ee771101819c8350e8a69edb9471cb38 by Wim Taymans on 09/06/2021 at 10:15..
conf: Load and stack all config files.

Load and parse config files in the following order:

$PIPEWIRE_CONFIG_DIR or /usr/share/pipewire
/etc/pipewire
$XDG_CONFIG_DIR or ~/.config/pipewire

This ensure we always load a working base config and reduce the
chances of failing because of a back user config file.

The user config file now only needs to contain the section that
needs the be changed.

See #207
https://invent.kde.org/neon/backports-focal/pipewire/commit/db44fe47ee771101819c8350e8a69edb9471cb38

Git commit 85d34d8d94d94f8bd62c99325d380cc30ed70702 by Wim Taymans on 09/06/2021 at 13:25..
conf: add comment about removing sections

Sections that don't need to be changed can be removed because they
are now taken from the main config file.
https://invent.kde.org/neon/backports-focal/pipewire/commit/85d34d8d94d94f8bd62c99325d380cc30ed70702

Git commit 4b6fb5e96a27676c7a9f448c3edca7814ea1bf22 by Wim Taymans on 09/06/2021 at 15:15..
v4l2: report latency
https://invent.kde.org/neon/backports-focal/pipewire/commit/4b6fb5e96a27676c7a9f448c3edca7814ea1bf22

Git commit a10cb3a59775604ca9c1e28cae412215e7b75a3a by Wim Taymans on 09/06/2021 at 15:57..
jack: unlock mutex on error path

This needs some more fixing because it leaks everything.
https://invent.kde.org/neon/backports-focal/pipewire/commit/a10cb3a59775604ca9c1e28cae412215e7b75a3a

Git commit 54326abd5479f2f8366501597de05d5b23126418 by Wim Taymans on 09/06/2021 at 15:57..
properties: improve serialize method

Properly escape the keys because we're trying to generate
valid JSON.
Always place ',' after items.
Add a flag to add a '\n' before each item.
Don't try to string-encode the value when it's already a string.
https://invent.kde.org/neon/backports-focal/pipewire/commit/54326abd5479f2f8366501597de05d5b23126418

Git commit 262e609b73b02983bc5999fa310d89747c478df5 by Wim Taymans on 09/06/2021 at 16:00..
conf: use serialize_dict to write state files

Instead of our home-brew version.
https://invent.kde.org/neon/backports-focal/pipewire/commit/262e609b73b02983bc5999fa310d89747c478df5

Git commit eb8546a682795febefa65181c99ffc97e73955aa by Wim Taymans on 09/06/2021 at 16:03..
json: also escape '/' as required by JSON
https://invent.kde.org/neon/backports-focal/pipewire/commit/eb8546a682795febefa65181c99ffc97e73955aa

Git commit d91cc99d92d830f4c47e44d2e8ed7e950d69284c by Wim Taymans on 09/06/2021 at 16:08..
properties: escape '/' as well
https://invent.kde.org/neon/backports-focal/pipewire/commit/d91cc99d92d830f4c47e44d2e8ed7e950d69284c

Git commit 667fa185269d7e62dcac5fda650d1e27e69aa9fd by Wim Taymans on 09/06/2021 at 16:17..
test: fix property test

The long key is now ignored instead of truncated.
https://invent.kde.org/neon/backports-focal/pipewire/commit/667fa185269d7e62dcac5fda650d1e27e69aa9fd

Git commit 1b5ffa789180da7e42e8d3de74dc8ebcea142bf9 by Wim Taymans on 09/06/2021 at 19:12..
filter: init the Latency param correctly

See #911
https://invent.kde.org/neon/backports-focal/pipewire/commit/1b5ffa789180da7e42e8d3de74dc8ebcea142bf9

Git commit b2206e2530b61e6e740cc9878d525e9a10e1dcdf by Peter Hutterer on 09/06/2021 at 23:04..
test: change VERSION to HOOK_VERSION for the spa hooks test

VERSION is defined in config.h for the project version which will cause a
conflict here.
https://invent.kde.org/neon/backports-focal/pipewire/commit/b2206e2530b61e6e740cc9878d525e9a10e1dcdf

Git commit e38cc427bfdd9d9463a241e72958fb58d80c326c by Peter Hutterer on 09/06/2021 at 23:04..
spa: fix indentation in audioconvert/meson.build

Was partially using spaces, partially 2-space tabs. Use 2 spaces only and fix
the few lines where the indentation was completely out of whack.
https://invent.kde.org/neon/backports-focal/pipewire/commit/e38cc427bfdd9d9463a241e72958fb58d80c326c

Git commit 5ba43b83493db0e138e8eb12f04d94eaca36df16 by Peter Hutterer on 09/06/2021 at 23:04..
audioconvert: add config.h to include directories

Some of the files here #include "config.h"
https://invent.kde.org/neon/backports-focal/pipewire/commit/5ba43b83493db0e138e8eb12f04d94eaca36df16

Git commit da339c286f19255b08a609de35e4e672d4fc1f8d by Peter Hutterer on 09/06/2021 at 23:04..
meson.build: drop HAVE_CONFIG_H

This is an autotools leftover, with meson we're always guaranteed to have
the config.h file.
https://invent.kde.org/neon/backports-focal/pipewire/commit/da339c286f19255b08a609de35e4e672d4fc1f8d

Git commit 5cf3c28fa44e36a567a66c1fafd854dd4cf4af03 by Peter Hutterer on 09/06/2021 at 23:04..
config.h is a local header, not a system one

Change the #include accordingly, that's what we use in the rest of the tree
too.
https://invent.kde.org/neon/backports-focal/pipewire/commit/5cf3c28fa44e36a567a66c1fafd854dd4cf4af03

Git commit 731f45ed5012ddfd2a34a272359eab1062f13e7b by Peter Hutterer on 10/06/2021 at 05:13..
test: add sigabbrev_np() for systems where it's not available

sigabbrev_np() was first added to glibc 2.32 (Aug 2020) which is too recent
for some of the distributions we support.
https://invent.kde.org/neon/backports-focal/pipewire/commit/731f45ed5012ddfd2a34a272359eab1062f13e7b

Git commit 18b3efa2ed9b4a3d1681ce61229884c941be4285 by Peter Hutterer on 10/06/2021 at 05:19..
spa: make two headers compatible with older gcc-c++

c++ 7.5.0 can only initialize structs with continuous members, so let's
initialize the fields explicitly to NULL.

Fixes #1284
https://invent.kde.org/neon/backports-focal/pipewire/commit/18b3efa2ed9b4a3d1681ce61229884c941be4285

Git commit 14eb43ea8656ada19a7983202f1b186afb96890f by Peter Hutterer on 10/06/2021 at 05:19..
meson.build: check for SYS_pidfd_open
https://invent.kde.org/neon/backports-focal/pipewire/commit/14eb43ea8656ada19a7983202f1b186afb96890f

Git commit 478e1cc5160682f67718504026f31468699aa477 by Wim Taymans (on behalf of Peter Hutterer) on 10/06/2021 at 07:30..
meson.build: define WORDS_BIGENDIAN if need be

Drop the Apple-specific defines from config.h.meson - this was never true in
the meson build anyway as nothing set the AC_APPLE_UNIVERSAL_BUILD and the
else condition only undef'd WORDS_BIGENDIAN if... it was not defined.

Drop this and replace it with a meson endian check. There is only one source
file that checks for this #define in spa/plugins/alsa/acp/compat.h, let's hope
nothing breaks here.
https://invent.kde.org/neon/backports-focal/pipewire/commit/478e1cc5160682f67718504026f31468699aa477

Git commit d1e2ab1eac958818667d94510812942ba77fdb66 by Wim Taymans (on behalf of Peter Hutterer) on 10/06/2021 at 07:30..
config.h.meson: remove hack for MacOS 10.5

https://lists.gnu.org/r/bug-autoconf/2020-02/msg00004.html

MacOS 10.6 no longer requires that hack and it predates our initial commit by
6 years (2009 vs 2015), so let's conservatively assume this hack is not needed
here.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d1e2ab1eac958818667d94510812942ba77fdb66

Git commit 66abafaa3def29fb098b27b58d67ab6a731629a3 by Wim Taymans (on behalf of Peter Hutterer) on 10/06/2021 at 07:30..
meson.build: drop the PIPEWIRE_PACKAGE_NAME define

The only user of this was the dbus protocol, dropped in 7cbdaeb3b69fc
https://invent.kde.org/neon/backports-focal/pipewire/commit/66abafaa3def29fb098b27b58d67ab6a731629a3

Git commit c4e3efbcf8047a8512cf802294125c5217bf69af by Wim Taymans (on behalf of Peter Hutterer) on 10/06/2021 at 07:30..
meson.build: drop PIPEWIRE_PACKAGE_ORIGIN and PIPEWIRE_LICENSE defines

These seems to be a copy/paste from GST_* but was never actually used anywhere
in our tree.
https://invent.kde.org/neon/backports-focal/pipewire/commit/c4e3efbcf8047a8512cf802294125c5217bf69af

Git commit b5e98027b7e32de4e2ef46a437d9aadd1a9b14db by Wim Taymans (on behalf of Peter Hutterer) on 10/06/2021 at 07:30..
meson.build: drop VERSION, use PACKAGE_VERSION in the C sources

Slightly better namespaced since it's not usually used anywhere else, VERSION
is too generic.
https://invent.kde.org/neon/backports-focal/pipewire/commit/b5e98027b7e32de4e2ef46a437d9aadd1a9b14db

Git commit 0cd0d6e826ad69d3c81572755a9ca4ceff933a2e by Wim Taymans (on behalf of Peter Hutterer) on 10/06/2021 at 07:30..
meson.build: split the version data into a separate config

Use this for the version.h file so we enforce that being used everywhere
instead of accidentaly relying on whatever ends up in config.h.

The generated version.h file is identical.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0cd0d6e826ad69d3c81572755a9ca4ceff933a2e

Git commit 2d238f1d33ec2b25736c161d9c6f5e45a483a874 by Wim Taymans (on behalf of Peter Hutterer) on 10/06/2021 at 07:31..
meson.build: drop config.h.meson

This seems to be a leftover from the autotools conversion but it
does not provide huge benefits. Meson's default behavior is to generate a
header like this, the main advantage of a config.h.meson header is to *filter*
things that should show up in the config.h file. That comes at the cost of
having to #mesondefine every single variable we want.

In most cases, it's easier with meson to just use different configuration_data
objects instead - which we do for most of the code.

The new header file is identical to the old one, discounting comments, sort
order and the following #defines that didn't end up in the config.h before:
  HAVE_STRNDUPA
  HAVE_STDDEF_H
https://invent.kde.org/neon/backports-focal/pipewire/commit/2d238f1d33ec2b25736c161d9c6f5e45a483a874

Git commit 7177d82c34e1e6f0c2a13fce33d4cd5927d77585 by Wim Taymans (on behalf of Peter Hutterer) on 10/06/2021 at 07:36..
test: check for CAP_SYS_PTRACE before testing for an attached debugger

If we don't have the capability to ptrace, we are probably running inside a
container, not the debugger. Check this first so we don't disable forking
mode.

Make this conditional on libcap - where libcap is not available always assume
we *do not* have a debugger attached. This is easier than telling everyone who
runs the tests in a confined system to install libcap.

Fixes #1285
https://invent.kde.org/neon/backports-focal/pipewire/commit/7177d82c34e1e6f0c2a13fce33d4cd5927d77585

Git commit 51d01b33c81b344bd449292171abd4a54486f6a7 by Wim Taymans (on behalf of takooakes) on 10/06/2021 at 07:39..
Expose output select for Soundblaster cards

Enable selecting Speakers or Headphones for Soundblaster cards.
This switch was name Output Select.
https://invent.kde.org/neon/backports-focal/pipewire/commit/51d01b33c81b344bd449292171abd4a54486f6a7

Git commit d8e0176bcfcd4b692222e567d297f57a63a75059 by Wim Taymans on 10/06/2021 at 07:58..
alsa: open UCM only once.

See #1286 #1269
https://invent.kde.org/neon/backports-focal/pipewire/commit/d8e0176bcfcd4b692222e567d297f57a63a75059

Git commit 61007dd412554120da6d5b1da918b82106c517cb by Wim Taymans on 10/06/2021 at 09:27..
Revert "conf: add comment about removing sections"

This reverts commit 85d34d8d94d94f8bd62c99325d380cc30ed70702.
https://invent.kde.org/neon/backports-focal/pipewire/commit/61007dd412554120da6d5b1da918b82106c517cb

Git commit 342ae0b643004e6ddbd64ff9eee414e6a8dfacd2 by Wim Taymans on 10/06/2021 at 09:28..
Revert "conf: Load and stack all config files."

This reverts commit db44fe47ee771101819c8350e8a69edb9471cb38.

We should not be merging config files at this point. Generating config
files should be done offline and only the result is loaded here.
https://invent.kde.org/neon/backports-focal/pipewire/commit/342ae0b643004e6ddbd64ff9eee414e6a8dfacd2

Git commit 3f325819da6d99e85d7779e3a041986ff9957545 by Peter Hutterer on 10/06/2021 at 10:39..
gitlab CI: add a build job for Ubuntu 20.04

To avoid adding dependencies that may be considered a bit too recent, let's
build on the current Ubuntu LTS.

Unlike the current Fedora job, this is just the default build with no special
options. They can be added by anyone motivated enough to track down the
required package names :)
https://invent.kde.org/neon/backports-focal/pipewire/commit/3f325819da6d99e85d7779e3a041986ff9957545

Git commit 461ae02c50ddc904564daf885677b1f50a0af81d by Peter Hutterer on 10/06/2021 at 10:39..
test: shut up a compiler warning about an unused variable

gcc 9 complains about `v` being potentially uninitialized. This is a false
positive, we'd exit() on any error before using `v` but the compiler doesn't
seem to know that. Let's shut up the warning.
https://invent.kde.org/neon/backports-focal/pipewire/commit/461ae02c50ddc904564daf885677b1f50a0af81d

Git commit 23a0f29d48781118a24f3752c94e81e470f89bb7 by Wim Taymans on 10/06/2021 at 11:25..
acp: don't use the card index for alibpref

The alibpref fallback does not contain the card number but it is
a local counter instead. Just check if it starts with something in
case the alsa library is not patched to return _alibpref.
https://invent.kde.org/neon/backports-focal/pipewire/commit/23a0f29d48781118a24f3752c94e81e470f89bb7

Git commit 283e13629c0e98669a1b39597f233eaa0f61f552 by Wim Taymans on 10/06/2021 at 11:25..
alsa: use the local alibpref of the card

The _alibpref of the device was created in the session manager and
does not match our local _alibpref. Patch the device name with
the local _alibpref to make things match.

See #1286
https://invent.kde.org/neon/backports-focal/pipewire/commit/283e13629c0e98669a1b39597f233eaa0f61f552

Git commit 1c513464c83a1459a111681c2738b673b25047f0 by Wim Taymans on 10/06/2021 at 13:36..
alsa: strip and add the _alibpref from device names

Strip the _alibpref from the device name, it contains a local counter
to identify the ucm card that should remain internal. We set a flag on
the device to notify of this.

Re-add the _alibpref of the local card to the device name if the
device was flagged.

See #1286
https://invent.kde.org/neon/backports-focal/pipewire/commit/1c513464c83a1459a111681c2738b673b25047f0

Git commit 826f52344f96ebec8d62cbd3721f99ff78bef5a3 by Wim Taymans on 10/06/2021 at 14:32..
spa: properly re-encode the keys and string values

Instead of pasting quotes around them.
https://invent.kde.org/neon/backports-focal/pipewire/commit/826f52344f96ebec8d62cbd3721f99ff78bef5a3

Git commit 77a4ae380e4c53dd62179df3c480214522d48ac3 by Wim Taymans on 10/06/2021 at 16:02..
json: remove obsolete # comment handling

Comments are handled by the parser now. Keys and values starting
with # are intentional now.
https://invent.kde.org/neon/backports-focal/pipewire/commit/77a4ae380e4c53dd62179df3c480214522d48ac3

Git commit 01875ad223235d363131ce72779e885eca55303e by Nicolai Syvertsen on 10/06/2021 at 20:21..
pipewire-pulse: set description

Some applications like TeamSpeak crash when this isn't set.
https://invent.kde.org/neon/backports-focal/pipewire/commit/01875ad223235d363131ce72779e885eca55303e

Git commit a6b687ee980e071cef9bbb4f0a925963267c82f0 by Wim Taymans on 10/06/2021 at 21:42..
audioadapter: proxy Latency param from follower port
https://invent.kde.org/neon/backports-focal/pipewire/commit/a6b687ee980e071cef9bbb4f0a925963267c82f0

Git commit b7c2e7a693cfdfe59f2897c20c5ba9d53b046c62 by Wim Taymans on 10/06/2021 at 21:47..
conf: the midi bridge example is from a spa-node-factory

Fixes #1294
https://invent.kde.org/neon/backports-focal/pipewire/commit/b7c2e7a693cfdfe59f2897c20c5ba9d53b046c62

Git commit a90c86dd47e795b60ba45ddb27b4a54562ee443b by Wim Taymans on 11/06/2021 at 18:05..
defs: reorganize the assert macros a little

Make a special Coverity version of spa_assert_se borrowed from
PulseAudio
NDEBUG now compiles the asserts to nop, except for the _se one.

See !755
https://invent.kde.org/neon/backports-focal/pipewire/commit/a90c86dd47e795b60ba45ddb27b4a54562ee443b

Git commit cd0eb829ddd401506d7500a85fcb56c079b40a0a by Barnabás Pőcze on 11/06/2021 at 18:50..
pulse-server: remove redundant log messages from modules

The same information is printed in
* `on_module_loaded()`,
* `module_load()`, and
* `module_unload()`.
https://invent.kde.org/neon/backports-focal/pipewire/commit/cd0eb829ddd401506d7500a85fcb56c079b40a0a

Git commit 1d5fb2a7dbcc4d993a3b1a9ed15c604aa0e3420f by Barnabás Pőcze on 11/06/2021 at 18:50..
pulse-server: remove unnecessary struct members
https://invent.kde.org/neon/backports-focal/pipewire/commit/1d5fb2a7dbcc4d993a3b1a9ed15c604aa0e3420f

Git commit d9befc079244e2df35d209437bdfa0c8bf5a0ba1 by Barnabás Pőcze on 11/06/2021 at 18:50..
pulse-server: eliminate some memory leaks in modules
https://invent.kde.org/neon/backports-focal/pipewire/commit/d9befc079244e2df35d209437bdfa0c8bf5a0ba1

Git commit 6f5b0897678864ca686c15bdd0dc1cba23ac8167 by Barnabás Pőcze on 11/06/2021 at 18:50..
pulse-server: clear hook list when module is freed

Moreover, rename the hook list to "listener_list".
https://invent.kde.org/neon/backports-focal/pipewire/commit/6f5b0897678864ca686c15bdd0dc1cba23ac8167

Git commit 09c162c8bf2e62e2c11a601daded5c527a9f891f by Barnabás Pőcze on 11/06/2021 at 18:50..
pulse-server: module-null-sink: add missing version to events struct
https://invent.kde.org/neon/backports-focal/pipewire/commit/09c162c8bf2e62e2c11a601daded5c527a9f891f

Git commit 12359b490d437618e37f0dc0046f70db2e8d3024 by Barnabás Pőcze on 11/06/2021 at 18:50..
pulse-server: module-null-sink: provide fallback name

If no `sink_name` has been specified, use "null-sink" to avoid a
NULL pointer dereference later in the function.
https://invent.kde.org/neon/backports-focal/pipewire/commit/12359b490d437618e37f0dc0046f70db2e8d3024

Git commit 3eaea123f9a15f17b46ff0f736c9e0696021d457 by Barnabás Pőcze on 11/06/2021 at 18:50..
pulse-server: module-simple-protocol-tcp: add module listener
https://invent.kde.org/neon/backports-focal/pipewire/commit/3eaea123f9a15f17b46ff0f736c9e0696021d457

Git commit f26358e958be3c6d2d538d437e9cbcfc4c731c3c by Barnabás Pőcze on 11/06/2021 at 18:50..
pulse-server: module-simple-protocol-tcp: remove unnecessary struct member
https://invent.kde.org/neon/backports-focal/pipewire/commit/f26358e958be3c6d2d538d437e9cbcfc4c731c3c

Git commit 4d02233ff3063c55014345911a8ba90d36ef9b60 by Barnabás Pőcze on 11/06/2021 at 18:50..
pulse-server: don't broadcast remove event when a module wasn't loaded
https://invent.kde.org/neon/backports-focal/pipewire/commit/4d02233ff3063c55014345911a8ba90d36ef9b60

Git commit bd6f63fecda384ccb895fb70a805456b135f8afc by Barnabás Pőcze on 11/06/2021 at 18:50..
pulse-server: improve module loading

Modules no longer need to emit the "loaded" event manually
if they can load immediately. In that case, the module loading
code will take care of emitting the event. If they can't,
they must return an async spa result, and emit the "loaded" event
when they see fit.

Fixes #1232
https://invent.kde.org/neon/backports-focal/pipewire/commit/bd6f63fecda384ccb895fb70a805456b135f8afc

Git commit e66125ede0ab24113c98a332f015af5af5030c61 by Wim Taymans (on behalf of Sanchayan Maity) on 12/06/2021 at 17:56..
module-protocol-pulse: Factor out some common code

Factor out some of the common code that will be required for zeroconf
support next.
https://invent.kde.org/neon/backports-focal/pipewire/commit/e66125ede0ab24113c98a332f015af5af5030c61

Git commit cf93fd7f9a976ae325a2afe8c2ca103b15d4bfb7 by Wim Taymans (on behalf of Sanchayan Maity) on 12/06/2021 at 17:56..
module-protocol-pulse: Add Avahi zeroconf publish module
https://invent.kde.org/neon/backports-focal/pipewire/commit/cf93fd7f9a976ae325a2afe8c2ca103b15d4bfb7

Git commit ba402209ba3a6425539b4c92740a7e5078ed1f26 by Wim Taymans on 12/06/2021 at 18:29..
pulse-server: use PulseAudio name for format and channels

Use the pulseaudio names for the format and channels, like the real
pulseaudio.
https://invent.kde.org/neon/backports-focal/pipewire/commit/ba402209ba3a6425539b4c92740a7e5078ed1f26

Git commit 1bc383a7b78f3d4e81f0388c0a29a03c7561e36e by Wim Taymans on 12/06/2021 at 18:30..
pipewire-pulse: also store format/channels for sources
https://invent.kde.org/neon/backports-focal/pipewire/commit/1bc383a7b78f3d4e81f0388c0a29a03c7561e36e

Git commit e3a2f4a64552b225b109d65e14a68a92c1d13a8f by Wim Taymans on 13/06/2021 at 17:26..
jack: keep context lock locked for callbacks

Also keep the context lock locked with emiting the registration,
portregistration and connect callbacks.

All the other callbacks are emited with the lock and it makes sense to
also emit these ones with the lock so that code in the callback gets
a consitent view.

See #1265
https://invent.kde.org/neon/backports-focal/pipewire/commit/e3a2f4a64552b225b109d65e14a68a92c1d13a8f

Git commit b6559289f18297465a9e4d74a009880cc8c4e787 by Wim Taymans on 14/06/2021 at 13:43..
pulse-server: fix compilation on some compilers
https://invent.kde.org/neon/backports-focal/pipewire/commit/b6559289f18297465a9e4d74a009880cc8c4e787

Git commit 4be1981f5408b9a36db8389391712b0eaef05cee by Sanchayan Maity on 15/06/2021 at 05:24..
module-protocol-pulse: Clean up unused #define ERROR_RETURN
https://invent.kde.org/neon/backports-focal/pipewire/commit/4be1981f5408b9a36db8389391712b0eaef05cee

Git commit 18ef422f3f36d8ab52690fd821cda31c61db8f21 by Haochen Tong on 15/06/2021 at 12:11..
filter-chain: reformat configuration
https://invent.kde.org/neon/backports-focal/pipewire/commit/18ef422f3f36d8ab52690fd821cda31c61db8f21

Git commit a168e4261ff46d9aeac545a76b9a2ac9b49bc57b by Wim Taymans (on behalf of Barnabás Pőcze) on 15/06/2021 at 17:58..
doc: move color overrides into light color scheme block

Otherwise when a user is visiting with dark color scheme
preference, the code fragments would appear with far too
bright colors.
https://invent.kde.org/neon/backports-focal/pipewire/commit/a168e4261ff46d9aeac545a76b9a2ac9b49bc57b

Git commit d5ee0ad8cc1dfaf2457651bd432626bb1d47ba61 by Sanchayan Maity on 16/06/2021 at 08:00..
module-pipe-sink: Fix usage of spa_strerror

spa_strerror() works with negative error codes and async spa results.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d5ee0ad8cc1dfaf2457651bd432626bb1d47ba61

Git commit 96c77e1f2f91073b63b3952af950c9e8af456a29 by Wim Taymans (on behalf of Sanchayan Maity) on 16/06/2021 at 08:05..
pulse-server: Implement module-pipe-source
https://invent.kde.org/neon/backports-focal/pipewire/commit/96c77e1f2f91073b63b3952af950c9e8af456a29

Git commit 9984dcd1ea2091e6483759efa58421f7d78d913a by Wim Taymans on 16/06/2021 at 10:17..
pipewire: small comment fix
https://invent.kde.org/neon/backports-focal/pipewire/commit/9984dcd1ea2091e6483759efa58421f7d78d913a

Git commit 9d9e3f2d23be2757c355bef528269c11a1e333e1 by Wim Taymans on 16/06/2021 at 10:17..
metadata: add client-id to properties

Add the client that owns the metadata to the properties.
https://invent.kde.org/neon/backports-focal/pipewire/commit/9d9e3f2d23be2757c355bef528269c11a1e333e1

Git commit f15d585f8d1f3f9fd126506955d3e5cf1a6ea942 by Wim Taymans on 16/06/2021 at 10:17..
metadata: check M permissions before changing metadata

To change a metadata, we need to be able to read the subject and also
have the M permission on it.
https://invent.kde.org/neon/backports-focal/pipewire/commit/f15d585f8d1f3f9fd126506955d3e5cf1a6ea942

Git commit 07d43a001bcfdb5f871206bc21ba0b27f3b3a9c8 by Wim Taymans on 16/06/2021 at 10:17..
pw-dump: remember the subject of metadata

So that we can also print it instead of printing 0.
https://invent.kde.org/neon/backports-focal/pipewire/commit/07d43a001bcfdb5f871206bc21ba0b27f3b3a9c8

Git commit 22bb2666c4b70d46f9f8607bb1ca32d0f16c4660 by Wim Taymans on 16/06/2021 at 10:17..
metadata: remove metadata when the global is removed

So that we can ensure the metadata only contains valid subject
ids.
https://invent.kde.org/neon/backports-focal/pipewire/commit/22bb2666c4b70d46f9f8607bb1ca32d0f16c4660

Git commit f43c57afdb45a6152d43dad01c07a2d2ced92739 by Wim Taymans on 16/06/2021 at 10:17..
pulse-server: add context listener last

Add if after we have done everything else because if there is an
error we don't remove it and there will be an invalid hook registered
in the context.
https://invent.kde.org/neon/backports-focal/pipewire/commit/f43c57afdb45a6152d43dad01c07a2d2ced92739

Git commit 61bcd4f98881d45a94767d6eef9cea41d58ebb73 by Wim Taymans on 16/06/2021 at 10:17..
jack: only use the "default" metadata
https://invent.kde.org/neon/backports-focal/pipewire/commit/61bcd4f98881d45a94767d6eef9cea41d58ebb73

Git commit 58e254ec6348bf06d270ad8070f856ea99ec4595 by Barnabás Pőcze on 16/06/2021 at 14:40..
pulse-server: module-zeroconf-publish: remove unnecessary emit

Since !737 it is not required of modules to emit the "loaded"
event if they can load immediately, therefore remove the
unnecessary `module_emit_loaded()` call.

Furthermore remove redundant log messages as well.
https://invent.kde.org/neon/backports-focal/pipewire/commit/58e254ec6348bf06d270ad8070f856ea99ec4595

Git commit bbbf5724bec2e235a18eb84728c6f13d33a0eb58 by Wim Taymans (on behalf of Barnabás Pőcze) on 16/06/2021 at 17:39..
pipewire: module-zeroconf-discover: free correct pointer

Retrieve the pointer returned by `calloc()` and free that
instead of freeing the pointer to a member. This has worked
so far because as of yet `api` is the first member of the struct.
https://invent.kde.org/neon/backports-focal/pipewire/commit/bbbf5724bec2e235a18eb84728c6f13d33a0eb58

Git commit 7cecb1567d3d71f9e6c9fc3dc5d4bcdcfa121063 by Barnabás Pőcze on 16/06/2021 at 17:45..
spa: tests: remove double dot from names of test files

Previously, the configured test file would be named like the following:

  spa-include-test-spa_control_control_h..cpp

fix that by removing one of the dots.

Furthermore, use the already existing `find` object instead of
calling `find_program` one more time.
https://invent.kde.org/neon/backports-focal/pipewire/commit/7cecb1567d3d71f9e6c9fc3dc5d4bcdcfa121063

Git commit 08525e865d9caad157e71b8f2002e97bacb14266 by Wim Taymans (on behalf of Peter Hutterer) on 17/06/2021 at 07:02..
daemon: simplify configuration file generation

We convert from conf.in to conf, let's make this hardcoded so we stick to
the same scheme everywhere.
https://invent.kde.org/neon/backports-focal/pipewire/commit/08525e865d9caad157e71b8f2002e97bacb14266

Git commit 7a6fa505755c6035ad6f69a8062bfb65c34a1a0a by Wim Taymans (on behalf of Peter Hutterer) on 17/06/2021 at 07:02..
daemon: drop the obsolete dbus policy file
https://invent.kde.org/neon/backports-focal/pipewire/commit/7a6fa505755c6035ad6f69a8062bfb65c34a1a0a

Git commit 62e98aa8360f06669d0d4114ad3d7e88d06b0583 by Wim Taymans (on behalf of Peter Hutterer) on 17/06/2021 at 07:08..
test: move some of the property tests to pwtest

Mostly 1:1 move of the test-properties.c file in src to the one in test, but a
few checks were merged into the existing functions.
https://invent.kde.org/neon/backports-focal/pipewire/commit/62e98aa8360f06669d0d4114ad3d7e88d06b0583

Git commit 4c9ac08310e68c23a6e6ca15ae2d6a61b7c79c89 by Wim Taymans (on behalf of Huang-Huang Bao) on 17/06/2021 at 07:22..
bluez5: always emit node object info for dynamic node

impl_add_listener() could be called more than one time, ensure that we always emit node info
so that session manager(bluez-monitor) can receives it.

Fixes #1308
https://invent.kde.org/neon/backports-focal/pipewire/commit/4c9ac08310e68c23a6e6ca15ae2d6a61b7c79c89

Git commit 3e52c6598b78621d0467f970b0716cb72ad81cfe by Wim Taymans on 17/06/2021 at 07:23..
jack: add more port checks

Check if the port id and direction is valid before accessing the
port array.
Handle unknown and invalid ports in many methods.
Free the port item after we removed the item from pipewire because
more methods are being called while removing the port and we don't
want them to fail.
https://invent.kde.org/neon/backports-focal/pipewire/commit/3e52c6598b78621d0467f970b0716cb72ad81cfe

Git commit 0f9fd45a588c909492a6ae40e66a6beea3713604 by Wim Taymans on 17/06/2021 at 08:46..
jack: rework locking

Ensure all callbacks are called from the thread_loop and release
the thread lock before calling the callback.

Introduce a new rt_lock that is taken while the callbacks are called.
Only call the process_callback when we can acquire the rt_lock in the
data thread. This ensures the process callback is never called
concurrently with any other callback.

Give a warning when we try to call do_sync from the thread_loop
itself. We would deadlock because the thread that is supposed to do
the sync operation would be blocked in wait().

Fixes #1313
https://invent.kde.org/neon/backports-focal/pipewire/commit/0f9fd45a588c909492a6ae40e66a6beea3713604

Git commit 0ec760315e02928a2c1b10779245dbc48bb8ed1f by Wim Taymans on 17/06/2021 at 08:56..
jack: there is no need to lock in get_aliases

See #1313
https://invent.kde.org/neon/backports-focal/pipewire/commit/0ec760315e02928a2c1b10779245dbc48bb8ed1f

Git commit c726dd887c1a12fa5ed88355c316c0d0ce8f95b5 by Wim Taymans on 17/06/2021 at 09:11..
alsa: refactory _io_position checking

Move the code to check the position duration for changes to one
new method.
Also check for samplerate changes and adjust the resampler state
accordingly.
https://invent.kde.org/neon/backports-focal/pipewire/commit/c726dd887c1a12fa5ed88355c316c0d0ce8f95b5

Git commit ed80d72d516b758f608fedc2026b4e8af3b3c00c by Wim Taymans on 17/06/2021 at 09:11..
audioconvert: also set io_position on channelmix

Also make the channelmix node aware of the io_position so that
is can use this later to get the default rate.
https://invent.kde.org/neon/backports-focal/pipewire/commit/ed80d72d516b758f608fedc2026b4e8af3b3c00c

Git commit 7ba7179eee3b9764eada633773c569b1b59cba7a by Wim Taymans on 17/06/2021 at 09:11..
audioconvert: use the position rate to negotiate

When we have an io_position, use the rate as the samplerate when
negotiating.
https://invent.kde.org/neon/backports-focal/pipewire/commit/7ba7179eee3b9764eada633773c569b1b59cba7a

Git commit 519bd342be33f4cecb05bcdeb87c163e4b380880 by Wim Taymans on 17/06/2021 at 09:11..
audioconvert: don't use samplerate to negotiate

The merger and splitter use the samplerate from the _io_position
for the DSP formats so set the samplerate to 0 to make sure we
don't use it to negotiate a format with the peer.
https://invent.kde.org/neon/backports-focal/pipewire/commit/519bd342be33f4cecb05bcdeb87c163e4b380880

Git commit 2ad202b8e89544a337471315e64f4887bc276764 by Wim Taymans on 17/06/2021 at 09:11..
audioconvert: track and compensate for rate changes

Follow the rate of the _io_position area and adjust the resampler
to match. This ensures that we always process at the DSP samplerate
to the target negotiated fixed rate of the device/stream.
https://invent.kde.org/neon/backports-focal/pipewire/commit/2ad202b8e89544a337471315e64f4887bc276764

Git commit d8ad87fd0950b18cf6c17922d500aaa69bf7b6e6 by Wim Taymans on 17/06/2021 at 09:11..
context: improve settings and defaults

Make structure with defaults that holds the defaults as they are loaded
from the config file or initialized with default values.

Copy this structure to a settings version that is used at runtime.

Add a force-quantum and force-rate field in the settings that can be
used to force a quantum and samplerate if != 0.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d8ad87fd0950b18cf6c17922d500aaa69bf7b6e6

Git commit 80ef77f9945175fb00ae3a736b43585bb2824168 by Wim Taymans on 17/06/2021 at 09:11..
context: add metadata implementation

Add a simple metadata implementation to the core that clients can
use to manage metadata or export.
https://invent.kde.org/neon/backports-focal/pipewire/commit/80ef77f9945175fb00ae3a736b43585bb2824168

Git commit beb80a06e853b331aa8b6b60ca1ee6291c08e917 by Wim Taymans on 17/06/2021 at 09:11..
media-session: use core metadata implementation

Use the core metadata implementation and export that one.
https://invent.kde.org/neon/backports-focal/pipewire/commit/beb80a06e853b331aa8b6b60ca1ee6291c08e917

Git commit f6ce23cbe32fdd17e2593c7bd37dfcba0e6e72cc by Wim Taymans on 17/06/2021 at 09:11..
metadata: add vargs format method for metadata values
https://invent.kde.org/neon/backports-focal/pipewire/commit/f6ce23cbe32fdd17e2593c7bd37dfcba0e6e72cc

Git commit e301048abb7d861b81a31da47dd2f394d8953354 by Wim Taymans on 17/06/2021 at 09:13..
settings: use metadata for settings

The settings metadata can be used to modify global context properties
at runtime such as min/max quantum, loglevel and samplerate.

See #1288
https://invent.kde.org/neon/backports-focal/pipewire/commit/e301048abb7d861b81a31da47dd2f394d8953354

Git commit c46cb0645ecf7b9ef34b66d98e63d3936fee0123 by Wim Taymans on 17/06/2021 at 09:14..
test: fix test

There is now one more global item.
https://invent.kde.org/neon/backports-focal/pipewire/commit/c46cb0645ecf7b9ef34b66d98e63d3936fee0123

Git commit b167ada994cc35145be407bd38d42a9ee7244801 by Wim Taymans on 17/06/2021 at 09:31..
impl-node: take settings into account for quantum and rate
https://invent.kde.org/neon/backports-focal/pipewire/commit/b167ada994cc35145be407bd38d42a9ee7244801

Git commit 16755cef529cc06b263e4893e603bd10c84d07ab by Wim Taymans on 17/06/2021 at 10:38..
impl-metadata: fix include
https://invent.kde.org/neon/backports-focal/pipewire/commit/16755cef529cc06b263e4893e603bd10c84d07ab

Git commit 4aa80c7a711efac97791463c3d8a6a63ff542c79 by Wim Taymans on 17/06/2021 at 16:34..
splitter: we always produce output

Always set the HAVE_OUTPUT flag because we always consume the
input and produce output, either to a buffer or an error.
This makes sure processing never stalls when something is wrong
on the output side.

See #1305
https://invent.kde.org/neon/backports-focal/pipewire/commit/4aa80c7a711efac97791463c3d8a6a63ff542c79

Git commit 38c721993fa8dc3c3117ae2fe05401d0dd4bbd00 by Wim Taymans on 17/06/2021 at 16:36..
pulse-server: limit the amount of connections

Set to 64, like pulseaudio. We might want to configure this.

See #1305
https://invent.kde.org/neon/backports-focal/pipewire/commit/38c721993fa8dc3c3117ae2fe05401d0dd4bbd00

Git commit 3944687a14b137c563c03545397f8f2040382bed by Wim Taymans on 17/06/2021 at 16:37..
module-protocol-simple: limit to 10 connections

Like in pulseaudio.
https://invent.kde.org/neon/backports-focal/pipewire/commit/3944687a14b137c563c03545397f8f2040382bed

Git commit 2d251509db343e143d425311e7c985b2fcb965ba by Arun Raghavan on 17/06/2021 at 20:39..
doc: Drop duplicate reference to pw_global
https://invent.kde.org/neon/backports-focal/pipewire/commit/2d251509db343e143d425311e7c985b2fcb965ba

Git commit 3272940731e56c3d8a244199d5dcf59620b41351 by Arun Raghavan on 17/06/2021 at 21:04..
echo-cancel: Don't use application name for stream node name

This is not too useful while looking at pipeline graphs, etc. We will
likely want to expand this to also include the module id or something to
distinguish multiple echo-cancel instances (which we can currently do
via the factory ID).
https://invent.kde.org/neon/backports-focal/pipewire/commit/3272940731e56c3d8a244199d5dcf59620b41351

Git commit a870af02f0e2943ac8a757017aca845f31f924c0 by Wim Taymans (on behalf of Michal Vasilek) on 18/06/2021 at 09:03..
module-rt: define RLIMIT_RTTIME if not defined

older versions of musl libc (before 1.2) don't define RLIMIT_RTTIME
https://invent.kde.org/neon/backports-focal/pipewire/commit/a870af02f0e2943ac8a757017aca845f31f924c0

Git commit 8cf2f134b7a0049b6e27f4b94d992a97a90d5080 by George Kiagiadakis on 18/06/2021 at 10:34..
gstpipewiresink: also break the connection loop when the state is STREAMING

Under some schedulers (observed in a virtualbox VM), the state may
go from PAUSED to STREAMING before this code has a chance to test it
https://invent.kde.org/neon/backports-focal/pipewire/commit/8cf2f134b7a0049b6e27f4b94d992a97a90d5080

Git commit adee3d79b98d9c3fc28c1e18899f7947b830c278 by Wim Taymans on 18/06/2021 at 13:26..
connection: handle truncated control data

We can't recover from truncated control data so return a fatal error
that should stop the client. Truncated control data can happen when
there are no more fds available, for example.

See #1305
https://invent.kde.org/neon/backports-focal/pipewire/commit/adee3d79b98d9c3fc28c1e18899f7947b830c278

Git commit 22b5b6b120c7fa16eaf92cc77e22f321afe98d0f by Wim Taymans on 18/06/2021 at 13:26..
connection: make sure we don't overrun the fd array

Do some checks on the fd array and error out when we would overrun.
https://invent.kde.org/neon/backports-focal/pipewire/commit/22b5b6b120c7fa16eaf92cc77e22f321afe98d0f

Git commit def0caf2817be7d9f8c177cfc60df87a35bd3dae by Wim Taymans on 18/06/2021 at 13:26..
pulse-server: handle out-of-files better

When we don't have enough files to accept the connection, clear the
_IN flag so that we don't try to accept if over and over again.
When a client disconnects, set the flag again so that we try to
accecpt new connections again.

See #1305
https://invent.kde.org/neon/backports-focal/pipewire/commit/def0caf2817be7d9f8c177cfc60df87a35bd3dae

Git commit fb992c3f2d3d34c073763e841888c83c6db7fe53 by Wim Taymans on 18/06/2021 at 13:26..
impl-metadata: use the metadata method

so that we call the method of the actual implementation, not our
own implementation.
https://invent.kde.org/neon/backports-focal/pipewire/commit/fb992c3f2d3d34c073763e841888c83c6db7fe53

Git commit 1662e3834fb38ce14bb173c66c4d023c43e7ca84 by Wim Taymans on 18/06/2021 at 13:26..
impl-metadata: don't leak the property
https://invent.kde.org/neon/backports-focal/pipewire/commit/1662e3834fb38ce14bb173c66c4d023c43e7ca84

Git commit 4518eded5bbe344873d4c47ed28ade5aaac32753 by Wim Taymans on 18/06/2021 at 13:26..
context: clean up the settings object as well
https://invent.kde.org/neon/backports-focal/pipewire/commit/4518eded5bbe344873d4c47ed28ade5aaac32753

Git commit 05c633a4f504cee1f51e14398bd0aa6497adcf96 by Wim Taymans on 18/06/2021 at 13:42..
profiler: Fix crash with many streams

Write the profiler data to an allocated buffer instead of the stack
so that we can make it a little larger.

Don't try to process the data when the builder had to truncate it
because it didn't fit.
https://invent.kde.org/neon/backports-focal/pipewire/commit/05c633a4f504cee1f51e14398bd0aa6497adcf96

Git commit bbbc79647f0121f7b2a781ea8354b90b532e6485 by Wim Taymans on 18/06/2021 at 13:56..
pulse-server: return INTERNAL error for ENFILE/EMFILE
https://invent.kde.org/neon/backports-focal/pipewire/commit/bbbc79647f0121f7b2a781ea8354b90b532e6485

Git commit 1f04e911c5b5568daedbb3ee320b1cf31971ad19 by Wim Taymans on 18/06/2021 at 14:29..
module: handle work queue create errors

Handle NULL when creating a work queue instead of crashing. The
create can fail when we run out of fds.
https://invent.kde.org/neon/backports-focal/pipewire/commit/1f04e911c5b5568daedbb3ee320b1cf31971ad19

Git commit 953dc22f5026ea700f65aaa0d13d44dfb4dba699 by George Kiagiadakis on 18/06/2021 at 14:54..
src: move extensions into pipewire

This allows having the same directory structure for headers as it
is in $prefix/include when installed, so that we can build other
projects using pipewire uninstalled (via the -uninstalled.pc or
by using meson subprojects). Otherwise, external code that reasonably
includes <pipewire/extensions/foo.h> fails to compile.
https://invent.kde.org/neon/backports-focal/pipewire/commit/953dc22f5026ea700f65aaa0d13d44dfb4dba699

Git commit 59407d2f08118d4de9cea67030eb9d19c8f4c13a by George Kiagiadakis on 18/06/2021 at 14:54..
includes: update all references to extensions to point to pipewire/extensions

This also brings the advantage that all tools, examples, modules, components
can also be compiled standalone out-of-tree using libpipewire from the system
https://invent.kde.org/neon/backports-focal/pipewire/commit/59407d2f08118d4de9cea67030eb9d19c8f4c13a

Git commit 19bcdaebe29b95edae2b285781dab1cc841be638 by George Kiagiadakis on 18/06/2021 at 14:54..
meson: use newer version of pkgconfig.generate()

pkgconfig.generate() takes a positional argument, which
is the library target for which to generate a pkgconfig file

The previous way of adding the libpipewire target in
the libraries list is deprecated in recent meson
https://invent.kde.org/neon/backports-focal/pipewire/commit/19bcdaebe29b95edae2b285781dab1cc841be638

Git commit 7ab5c35cadc075bcdf44031f1f7d95352cf9a13b by George Kiagiadakis on 18/06/2021 at 14:54..
meson: declare spa_dep and override_dependency() for spa and pipewire

This allows meson subprojects (or projects using pipewire as a meson
subproject) to be able to use dependency('libpipewire-0.3') and
dependency('libspa-0.2') to find the uninstalled versions of these
libraries directly from the build dir instead of going through pkg-config
https://invent.kde.org/neon/backports-focal/pipewire/commit/7ab5c35cadc075bcdf44031f1f7d95352cf9a13b

Git commit 7ee5172ce888140f3b5e5a6d641817b268ca82e5 by George Kiagiadakis on 18/06/2021 at 14:54..
meson: integrate wireplumber as a subproject

This allows building wireplumber as part of the pipewire build
and running it in the uninstalled environment instead of media-session.

Building each session manager is individually contolled by the options:
 -Dmedia-session=auto/enabled/disabled
 -Dwireplumber=auto/enabled/disabled

And controlling which one is used in pipewire.conf is done with:
 -Dsession-manager=media-session/wireplumber

Wireplumber's source tree must be in subprojects/wireplumber/
If this is missing, the .wrap file ensures that the latest git
master is downloaded while meson configures the build.
This git tree will not be automatically updated later, you need
to ensure that it is up-to-date on your own.
https://invent.kde.org/neon/backports-focal/pipewire/commit/7ee5172ce888140f3b5e5a6d641817b268ca82e5

Git commit 9e0ce7cbd6bb1bc0ff21882008c59521874930c2 by George Kiagiadakis on 18/06/2021 at 15:06..
ci: install a more recent meson in the ubuntu 20.04 image
https://invent.kde.org/neon/backports-focal/pipewire/commit/9e0ce7cbd6bb1bc0ff21882008c59521874930c2

Git commit 2723b0c6e27c28f5139a031c5f529102bc2fba7d by George Kiagiadakis on 18/06/2021 at 16:24..
meson: export plugin and data dirs for other projects to find them

SPA_PLUGIN_DIR is exported in pkgconfig as 'plugindir'
PIPEWIRE_MODULE_DIR is exported as 'moduledir'
PIPEWIRE_CONFIG_DIR is exported only in uninstalled environments
as 'confdatadir' (not making this public due to the possible upcoming
configuration changes in pipewire)

All variables are also exported on the meson dependency objects,
so that subprojects can find them.

Wireplumber can then find them like this:

  pipewire_moduledir = pipewire_dep.get_variable(
    pkgconfig: 'moduledir', internal: 'moduledir', default_value: '')

... and this works regardless of whether wireplumber is being
configured as a subproject or using the uninstalled pkgconfig files
or using the system installation of pipewire.

This is required in order to run wireplumber tests in the
uninstalled environment with 'meson test'
https://invent.kde.org/neon/backports-focal/pipewire/commit/2723b0c6e27c28f5139a031c5f529102bc2fba7d

Git commit 80e3da9b01424e108a9e98acb10625803bf944d1 by Wim Taymans (on behalf of Barnabás Pőcze) on 19/06/2021 at 17:28..
pulse-server: add missing minus sign

Noticed by @QuLogic.

Fixes: 87c00a6f00ed ("pulse-server: add missing EWOULDBLOCK check")
https://invent.kde.org/neon/backports-focal/pipewire/commit/80e3da9b01424e108a9e98acb10625803bf944d1

Git commit e1036ee0fc0c4865ffcd106623c1faf43bad7255 by dreamer on 19/06/2021 at 19:19..
set the same builddir as INSTALL.md
https://invent.kde.org/neon/backports-focal/pipewire/commit/e1036ee0fc0c4865ffcd106623c1faf43bad7255

Git commit a19ab4a20add1170a40c6b0718ad6d0cad480630 by Wim Taymans on 20/06/2021 at 10:00..
use builddir everywhere

So that it matches thr INSTALL.md instructions
https://invent.kde.org/neon/backports-focal/pipewire/commit/a19ab4a20add1170a40c6b0718ad6d0cad480630

Git commit b44fdf5ebb87904f891a015f497a8489474d0fc3 by Pauli Virtanen on 20/06/2021 at 16:40..
bluez5: backend-native: don't send +BCS if no codec negotiation

Fix issue with sending +BCS for CVSD even though codec negotation is not
available for the RFCOMM.
https://invent.kde.org/neon/backports-focal/pipewire/commit/b44fdf5ebb87904f891a015f497a8489474d0fc3

Git commit 3433f40cd9aab21788f5bae43319cf2f8616728c by Wim Taymans (on behalf of Huang-Huang Bao) on 21/06/2021 at 07:10..
bluez5: fix device connection issue if profile(UUIDs) info is delayed

Keep all types of devices, only emit device info if device has audio profiles.
Heuristically add profiles based on bluez actions so device can still be connected
even without initial UUIDs info from signal InterfaceAdded for org.bluez.Device1.

Fixes #1330
https://invent.kde.org/neon/backports-focal/pipewire/commit/3433f40cd9aab21788f5bae43319cf2f8616728c

Git commit db6e73895fa335efee49a3a905e96abfea1bc124 by Wim Taymans (on behalf of Huang-Huang Bao) on 21/06/2021 at 07:10..
bluez5: clean up connection status handling

Also separate device info emitting into a new function.
https://invent.kde.org/neon/backports-focal/pipewire/commit/db6e73895fa335efee49a3a905e96abfea1bc124

Git commit ea28cb95c0593147d266db13186c18e0ef5e1b74 by Wim Taymans (on behalf of Huang-Huang Bao) on 21/06/2021 at 07:10..
bluez5: don't autoconnect device if no profiles

Otherwise timers would be created for every bluetooth devices, even they don't have audio profiles.
https://invent.kde.org/neon/backports-focal/pipewire/commit/ea28cb95c0593147d266db13186c18e0ef5e1b74

Git commit 00bc5f0e3beb2499136901bc5e1fec1628950bec by Wim Taymans (on behalf of Peter Hutterer) on 21/06/2021 at 07:17..
test: drop duplicate init of test->result

Set to the same value 5 lines above
https://invent.kde.org/neon/backports-focal/pipewire/commit/00bc5f0e3beb2499136901bc5e1fec1628950bec

Git commit 3c798ea413dcfc441ca1b84357040e466e9acc35 by Wim Taymans (on behalf of Peter Hutterer) on 21/06/2021 at 07:17..
test: force TMPDIR to /tmp if it is unset

This way we can rely on it everywhere without having multiple checks for it.
https://invent.kde.org/neon/backports-focal/pipewire/commit/3c798ea413dcfc441ca1b84357040e466e9acc35

Git commit f9985636de01268059c9c353ac608bb228266fdb by Wim Taymans (on behalf of Peter Hutterer) on 21/06/2021 at 07:17..
test: fail if we can't chdir to $TMPDIR

Otherwise our tests may have unpredictable behavior depending on leftover
files in $PWD.
https://invent.kde.org/neon/backports-focal/pipewire/commit/f9985636de01268059c9c353ac608bb228266fdb

Git commit a4bdf83e3918b2c5708fd54a26420a5eb1681dd6 by Wim Taymans (on behalf of Peter Hutterer) on 21/06/2021 at 07:17..
test: explicitly ignore the read() result from the timerfd/pidfd

We don't care about the actual read() being successful - it won't be on pidfd
and on timerfd it's just a timestamp we don't need.
https://invent.kde.org/neon/backports-focal/pipewire/commit/a4bdf83e3918b2c5708fd54a26420a5eb1681dd6

Git commit 0a5ae1cf475e8d56e06f67cec8711154398be766 by Wim Taymans (on behalf of Peter Hutterer) on 21/06/2021 at 07:17..
pipewire: drop \memberof declarations

This is obsolete since the move to doxygen groups and having \memberof blocked
the documentation in the source file from being merged with the header file.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0a5ae1cf475e8d56e06f67cec8711154398be766

Git commit f85b0bfd1695c8d6e59e9ed105cbc2b24acf2ef8 by Wim Taymans on 21/06/2021 at 08:50..
pulse-server: Avoid overflow in stream read/write index

Keep separate counters for the ringbuffer and stream read/write
indexes.

The ringbuffer has 32 bits indexes while the pulse server is required
to keep 64 bit read/write indexes.

Also handle invalid seek flags.

Fixes #1331
https://invent.kde.org/neon/backports-focal/pipewire/commit/f85b0bfd1695c8d6e59e9ed105cbc2b24acf2ef8

Git commit 6186fc775d0e8c77061ffccb888c5fae9167d94d by Wim Taymans on 21/06/2021 at 09:25..
jack: improve debug

Log info messages when a port and client are added/removed
Log an info message when port_by_name/id can't find the port.

See #1265
https://invent.kde.org/neon/backports-focal/pipewire/commit/6186fc775d0e8c77061ffccb888c5fae9167d94d

Git commit c3d7561d17aa7b5715ad0d05a4a06ddad1010dd0 by Wim Taymans (on behalf of Evgeniy Khramtsov) on 21/06/2021 at 09:28..
test: unbreak FreeBSD
https://invent.kde.org/neon/backports-focal/pipewire/commit/c3d7561d17aa7b5715ad0d05a4a06ddad1010dd0

Git commit dddbc285a84ecd0effaab976d28463581be1fe70 by Niklāvs Koļesņikovs on 21/06/2021 at 11:56..
meson_options.txt: replace auto with enabled/disabled where possible

For cases where auto has an always known value, explicitly set it for
the sake of clarity. This commit only deals with the most trivial uses
that do not require rewriting the internal logic and where auto is not
behaving in a third way that's distinct from both enabled and disabled.
https://invent.kde.org/neon/backports-focal/pipewire/commit/dddbc285a84ecd0effaab976d28463581be1fe70

Git commit 35129774501315c925d9c6e6911a22dd53a2b248 by Wim Taymans (on behalf of Konstantin Kharlamov) on 21/06/2021 at 13:08..
media-session: correct availability type

It is actually an enum, not a uint32_t
https://invent.kde.org/neon/backports-focal/pipewire/commit/35129774501315c925d9c6e6911a22dd53a2b248

Git commit 84acfbbda5b2a635a361f31f15907ab7dc28cf18 by Wim Taymans (on behalf of Konstantin Kharlamov) on 21/06/2021 at 13:08..
media-session: switch to the route when availability changed

When a user plugs in headphones, they expect to hear an audio through
them. Currently, that usecase might or might not work with pipewire
depending on the user's luck, because pipewire instead uses port
priorities, and those apparently rarely have sane default values.

PulseAudio ignored priorities here, instead it made use of the port
right away. This should better match user expectations (who plugged in
headphones and is expecting to hear sound), so let's do the same in
pipewire.

Fixes: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1170
https://invent.kde.org/neon/backports-focal/pipewire/commit/84acfbbda5b2a635a361f31f15907ab7dc28cf18

Git commit 28a9253622950666de49ba26379f003cde8cfc31 by Peter Hutterer on 22/06/2021 at 05:48..
pipewire: fix a doxygen group assignment
https://invent.kde.org/neon/backports-focal/pipewire/commit/28a9253622950666de49ba26379f003cde8cfc31

Git commit a152ad95d5e043182985c7a9951d70a482f91e1c by Wim Taymans on 22/06/2021 at 07:15..
filter: check port id and direction

Don't crash in case someone tries to access invalid direction or
port.
https://invent.kde.org/neon/backports-focal/pipewire/commit/a152ad95d5e043182985c7a9951d70a482f91e1c

Git commit 83b198215d9bbec8ba0db573e79a7f6cc3ede68b by Wim Taymans on 22/06/2021 at 07:18..
filter: use the user param_info field for updates

Keep track of the number of updates in the user field and before
emiting the info, flip the serial flag. This makes it possible to
even emit updates when setting an even number of params.
https://invent.kde.org/neon/backports-focal/pipewire/commit/83b198215d9bbec8ba0db573e79a7f6cc3ede68b

Git commit 368a12b6e925c52dfec2b8a247db13775985811a by Wim Taymans on 22/06/2021 at 07:21..
filter: Initialize info before adding params

First initialize the port and node info, then add the params so that
the param_info flags are updated correctly. Otherwise, adding the
params would make the param readable but the init of the param_info
later would reset it back to 0 and the param would not be visible.
https://invent.kde.org/neon/backports-focal/pipewire/commit/368a12b6e925c52dfec2b8a247db13775985811a

Git commit 6c582d5445e50e6f4627f1ae4c844f6de14285e7 by Wim Taymans on 22/06/2021 at 07:28..
filter: improve latency handling

Keep track of Latency params on ports. When adding a latency param,
parse and update the port latency info.

Add both input and output latency params on the port, even when only
one changed. Use the stored info to do this.

Implement a default latency handler that simply combines and forwards
the Latency settings on ports.

Add a CUSTOM_LATENCY flag that allows you to bypass the default
handler and implement custom logic.

See #911
https://invent.kde.org/neon/backports-focal/pipewire/commit/6c582d5445e50e6f4627f1ae4c844f6de14285e7

Git commit 2c9764da1dec638fa0618328828b5ed66f6cc031 by Pauli Virtanen on 22/06/2021 at 07:58..
bluez5: parse bluez vendor/product ids

It seems few devices support the Device Id via bluez.

Try to figure out vendor/product ids for usb devices also via sysfs.
Also try to figure out the adapter bus type.
https://invent.kde.org/neon/backports-focal/pipewire/commit/2c9764da1dec638fa0618328828b5ed66f6cc031

Git commit 88077a29db9d0841b617b256baa737901cad3253 by Pauli Virtanen on 22/06/2021 at 07:58..
media-session: add bluez hw database conf files
https://invent.kde.org/neon/backports-focal/pipewire/commit/88077a29db9d0841b617b256baa737901cad3253

Git commit b57ae8c2a657c46edb4f728625a9ed6e8299eec0 by Pauli Virtanen on 22/06/2021 at 07:58..
bluez5: add support for hardware quirk/feature database

Implement hardware quirk/feature database with pattern matching.
https://invent.kde.org/neon/backports-focal/pipewire/commit/b57ae8c2a657c46edb4f728625a9ed6e8299eec0

Git commit 5e0b63b149559154a6164dbc064aefc7e773c03a by Pauli Virtanen on 22/06/2021 at 07:58..
bluez5: backend-native: use quirks + usb adapter caps for checking msbc

Use the quirks database to check whether to enable MSBC codec for each
device.

If quirks don't allow ALT1 mode for an USB adapter, check whether the
adapter has an usable ALT6 mode and disable MSBC if not.
https://invent.kde.org/neon/backports-focal/pipewire/commit/5e0b63b149559154a6164dbc064aefc7e773c03a

Git commit 9422e76d89275b441c85279e595dbe00df649c88 by Pauli Virtanen on 22/06/2021 at 07:58..
bluez5: enable hw volume on all profiles, if device quirks permit it
https://invent.kde.org/neon/backports-focal/pipewire/commit/9422e76d89275b441c85279e595dbe00df649c88

Git commit 4899b75410de6ba1ecc57b0130720115cca1414f by Pauli Virtanen on 22/06/2021 at 07:58..
media-session: add hardware volume quirks

Data from interop list in AOSP Fluoride stack.
https://invent.kde.org/neon/backports-focal/pipewire/commit/4899b75410de6ba1ecc57b0130720115cca1414f

Git commit 9d38d375d204b9055af569ac3a6c9d7d2a70a061 by Pauli Virtanen on 22/06/2021 at 07:58..
bluez5: add and use quirk for broken mic HW volume

Some headsets emit AT+VGM even though +VGM commands do not actually
adjust the recording volume.
https://invent.kde.org/neon/backports-focal/pipewire/commit/9d38d375d204b9055af569ac3a6c9d7d2a70a061

Git commit b98b9e0e777a64507f5d02cd3acfb01317f27072 by Pauli Virtanen on 22/06/2021 at 07:58..
bluez5: deal with old libusb versions
https://invent.kde.org/neon/backports-focal/pipewire/commit/b98b9e0e777a64507f5d02cd3acfb01317f27072

Git commit 8c77713a7b87f356550df8b9237910bf24a52175 by Wim Taymans on 22/06/2021 at 09:16..
jack: don't emit connect callback with unknown ports

Lookup of globals needs a thread lock or context lock. There is no
need to take the context lock when we already have the thread lock.

Make a new method to find an object of a type.

Check that link objects are referencing valid ports. Check that the
connect callback is referencing valid ports.

Only return connections with valid ports.

See #1265
https://invent.kde.org/neon/backports-focal/pipewire/commit/8c77713a7b87f356550df8b9237910bf24a52175

Git commit 79866a93cdd993b2ac46bcc6553c89a90d7f00dc by Wim Taymans on 22/06/2021 at 14:29..
Param: add process latency param and info
https://invent.kde.org/neon/backports-focal/pipewire/commit/79866a93cdd993b2ac46bcc6553c89a90d7f00dc

Git commit f5f79cc0b9d677e977c0d87f9eebae1ac10bea7d by Wim Taymans on 22/06/2021 at 14:29..
filter: implement enum and set_param on the filter
https://invent.kde.org/neon/backports-focal/pipewire/commit/f5f79cc0b9d677e977c0d87f9eebae1ac10bea7d

Git commit 575d4456e1166d022a6068bf34995bfdb31eb1e8 by Wim Taymans on 22/06/2021 at 14:31..
tests: fix test
https://invent.kde.org/neon/backports-focal/pipewire/commit/575d4456e1166d022a6068bf34995bfdb31eb1e8

Git commit 5ee9133b607eb4af6b795a6ce48f7b893a2b9b6b by Wim Taymans (on behalf of George Kiagiadakis) on 22/06/2021 at 14:48..
alsa plugin: allow specifying a media.role on the virtual device name

So that we can do:
  aplay -D pipewire:ROLE=Music music.wav
  aplay -D pipewire:ROLE=Notification notice.wav
https://invent.kde.org/neon/backports-focal/pipewire/commit/5ee9133b607eb4af6b795a6ce48f7b893a2b9b6b

Git commit 252e798ece04edd7c536c5880060f42e0c8ee2e8 by Konstantin Kharlamov on 22/06/2021 at 19:42..
alsa: remove unused res variable in alsa_on_timeout_event
https://invent.kde.org/neon/backports-focal/pipewire/commit/252e798ece04edd7c536c5880060f42e0c8ee2e8

Git commit ed9560fb03a889d43d1200cb9c9339c14e9cce32 by Konstantin Kharlamov on 22/06/2021 at 19:42..
alsa: fix "`now.tv_sec` maybe used uninitialized" warnings

Fixes a number of warnings that look like this:

    In file included from ../spa/include/spa/utils/result.h:37,
                     from ../spa/plugins/alsa/alsa-seq.c:35:
    In function ‘set_timers’,
        inlined from ‘do_reassign_follower’ at ../spa/plugins/alsa/alsa-seq.c:909:2:
    ../spa/include/spa/utils/defs.h:191:39: warning: ‘now.tv_sec’ may be used uninitialized [-Wmaybe-uninitialized]
      191 | #define SPA_TIMESPEC_TO_NSEC(ts) ((ts)->tv_sec * SPA_NSEC_PER_SEC + (ts)->tv_nsec)
          |                                   ~~~~^~~~~~~~
    ../spa/plugins/alsa/alsa-seq.c:840:28: note: in expansion of macro ‘SPA_TIMESPEC_TO_NSEC’
      840 |         state->next_time = SPA_TIMESPEC_TO_NSEC(&now);
          |                            ^~~~~~~~~~~~~~~~~~~~
    ../spa/plugins/alsa/alsa-seq.c: In function ‘do_reassign_follower’:
    ../spa/plugins/alsa/alsa-seq.c:836:25: note: ‘now’ declared here
      836 |         struct timespec now;
          |                         ^~~

The reason for these warnings is that spa_system_clock_gettime() may
fail if a version check fails, but the code in question didn't check for
the possible fail. If it failed, then execution would continue, and the
arguments that were passed to the macro will be used uninitialized.

Fix this by checking whether function succeeded.
https://invent.kde.org/neon/backports-focal/pipewire/commit/ed9560fb03a889d43d1200cb9c9339c14e9cce32

Git commit 8cf5927e953505fe388751639949acc0eed73599 by Wim Taymans on 24/06/2021 at 07:59..
alsa: keep track of input and output latency

track and report both input and output latency.
https://invent.kde.org/neon/backports-focal/pipewire/commit/8cf5927e953505fe388751639949acc0eed73599

Git commit 4c09eb227f4c175c94147c1704dc32b0e25fe95b by Wim Taymans on 24/06/2021 at 08:03..
alsa: rename indexes into port and node params
https://invent.kde.org/neon/backports-focal/pipewire/commit/4c09eb227f4c175c94147c1704dc32b0e25fe95b

Git commit f03f1926e34861b2e195dd42801b68b2b2f6ca9b by Wim Taymans on 24/06/2021 at 08:04..
seq: track port latency
https://invent.kde.org/neon/backports-focal/pipewire/commit/f03f1926e34861b2e195dd42801b68b2b2f6ca9b

Git commit 8ee9a7b5e522a0b233bd5154d4eb068e0eaa764f by Wim Taymans on 24/06/2021 at 10:07..
audioadapter: latency is writable
https://invent.kde.org/neon/backports-focal/pipewire/commit/8ee9a7b5e522a0b233bd5154d4eb068e0eaa764f

Git commit 22fe0b293aa0146e1431000413071d9a621404f0 by Wim Taymans on 24/06/2021 at 10:11..
audioconvert: add some more debug
https://invent.kde.org/neon/backports-focal/pipewire/commit/22fe0b293aa0146e1431000413071d9a621404f0

Git commit 48e6e41d95692b578b3536ada0d8fa39fc54af8c by Wim Taymans on 24/06/2021 at 10:20..
audioconvert: improve latency handling

When setting the Latency parameter on one side of the converter, set
it also on the other size. We should actually implement propagating
the latency through all the elements of the converter later.

Implement latency handling on fmtconvert.

merger and splitter change latency on all ports when on port changes.

All this makes the configured and exposed latencies visible on all
ports from adapter.
https://invent.kde.org/neon/backports-focal/pipewire/commit/48e6e41d95692b578b3536ada0d8fa39fc54af8c

Git commit 17f02d8c6d9202bf353500b24063d49004dccf1a by Wim Taymans on 24/06/2021 at 10:50..
filter: refactor function to fix the datatype
https://invent.kde.org/neon/backports-focal/pipewire/commit/17f02d8c6d9202bf353500b24063d49004dccf1a

Git commit 8a25076c4ea7002dc1436f60e41279db1dc57621 by Wim Taymans (on behalf of Peter Hutterer) on 24/06/2021 at 10:54..
doc: define __USE_ISOC11 for doxygen to pick up the logger #defines

This way doxygen will pick up the #defines for spa_log_error, etc. Without
this define it uses the else part of the condition which uses macros to
construct function names.
https://invent.kde.org/neon/backports-focal/pipewire/commit/8a25076c4ea7002dc1436f60e41279db1dc57621

Git commit 0f0565175e62d2af5a8a961708b009646792fc32 by Wim Taymans (on behalf of Peter Hutterer) on 24/06/2021 at 10:54..
doc: rework the SPA plugin documentation

Add more info to the main SPA page and split the design vs plugin pages up,
together with some more documentation to ideally lower make this easier to
understand on a glance.

Most of the actual plugin loading documentation are unmodified.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0f0565175e62d2af5a8a961708b009646792fc32

Git commit 50e015fa879bd8cbd85c86805fb29a0b3676d040 by Wim Taymans (on behalf of Peter Hutterer) on 24/06/2021 at 10:54..
doc: add a reference to the PipeWire Under The Hood post

A good writeup that provides more details than our own documentation, so
let's at least link to it.
https://invent.kde.org/neon/backports-focal/pipewire/commit/50e015fa879bd8cbd85c86805fb29a0b3676d040

Git commit e60498df51dcae0f36f0ffc7052954098049416e by Wim Taymans (on behalf of Sanchayan Maity) on 24/06/2021 at 11:04..
module-protocol-pulse: Add module-roc-sink
https://invent.kde.org/neon/backports-focal/pipewire/commit/e60498df51dcae0f36f0ffc7052954098049416e

Git commit badb76147f2f6b1d504f01724641d04178592a4d by Wim Taymans (on behalf of Sanchayan Maity) on 24/06/2021 at 11:04..
module-protocol-pulse: Add module-roc-source
https://invent.kde.org/neon/backports-focal/pipewire/commit/badb76147f2f6b1d504f01724641d04178592a4d

Git commit 01c2cb3d45fd808bd5456f29bc6f8cfa2de9f7a7 by Wim Taymans (on behalf of Peter Hutterer) on 24/06/2021 at 11:14..
test: shut up coverity complaints about side effects

CID 1457494:  Incorrect expression  (ASSERT_SIDE_EFFECT)
Assignment "ai = (void *)((uint8_t *)pod + 16)" has a side effect.  This code will work differently in a non-debug build.
550             spa_assert((ai = SPA_POD_ARRAY_VALUES(pod)) != NULL);

Patch generated with coccinelle snippet
	@@
	expression E1, E2;
	@@
	- spa_assert((E1 = E2) != NULL);
	+ E1 = E2;
	+ spa_assert(E1 != NULL);

And run again for == NULL
https://invent.kde.org/neon/backports-focal/pipewire/commit/01c2cb3d45fd808bd5456f29bc6f8cfa2de9f7a7

Git commit 7ef78b4464bb009a16134d93877a9741b0ca6270 by Wim Taymans on 24/06/2021 at 13:49..
jack: add extra object check

Make an invalid object type and mark removed objects as invalid.
Make sure we don't reference an invalid object for the various
callbacks and methods.

See #1265
https://invent.kde.org/neon/backports-focal/pipewire/commit/7ef78b4464bb009a16134d93877a9741b0ca6270

Git commit 679df3f9d927567da0c1ffa7415614831c8a4000 by Wim Taymans on 24/06/2021 at 14:05..
v4l2: implement latency get and set
https://invent.kde.org/neon/backports-focal/pipewire/commit/679df3f9d927567da0c1ffa7415614831c8a4000

Git commit 2acf29a86c8fffeb644fb5b23b3199901cf530eb by Wim Taymans on 24/06/2021 at 14:12..
Revert "json: also escape '/' as required by JSON"

This reverts commit eb8546a682795febefa65181c99ffc97e73955aa.

We don't need to escape the / according to  RFC7159
https://invent.kde.org/neon/backports-focal/pipewire/commit/2acf29a86c8fffeb644fb5b23b3199901cf530eb

Git commit 016f02616bcbb7801455d50fdab5f8af4c5d399a by Wim Taymans on 24/06/2021 at 14:18..
json: don't escape /
https://invent.kde.org/neon/backports-focal/pipewire/commit/016f02616bcbb7801455d50fdab5f8af4c5d399a

Git commit d7cddbdb611bd51f21e01d3ff8609989cd232e61 by Wim Taymans (on behalf of Niklāvs Koļesņikovs) on 24/06/2021 at 14:22..
meson: changes meson switches for controlling session manager

Some distributions set --auto_features=enabled which messes with the
internal logic of the build system when features are used for other
purposes than pure dependency control. The only solution is to either
avoid the value auto or change the type of the option to non-feature.

This commit does the later by replacing -Dmedia-session, -Dwireplumber
and -Dsession-manager with the new -Dsession-managers array and
-Ddefault-session-manager combo options.

Fixes #1333
Fixes #1336
https://invent.kde.org/neon/backports-focal/pipewire/commit/d7cddbdb611bd51f21e01d3ff8609989cd232e61

Git commit 5e9f6c8eccdc991c38a988fd9b74898fa3f687b1 by Wim Taymans on 24/06/2021 at 18:31..
jack: use system:monitor_ prefix for monitor ports
https://invent.kde.org/neon/backports-focal/pipewire/commit/5e9f6c8eccdc991c38a988fd9b74898fa3f687b1

Git commit 8208e60b33e96f096ea204344045c610fc21a1b6 by Barnabás Pőcze on 25/06/2021 at 01:21..
pulse-server: add include guard to defs.h

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/8208e60b33e96f096ea204344045c610fc21a1b6

Git commit 738b764253f92fef98736957818cbc44ca78b9de by Barnabás Pőcze on 25/06/2021 at 01:22..
pulse-server: do not define NAME in header

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/738b764253f92fef98736957818cbc44ca78b9de

Git commit 8ac60cb0ae1713c01315d43251499da829086be3 by Barnabás Pőcze on 25/06/2021 at 01:22..
pulse-server: split out commands

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/8ac60cb0ae1713c01315d43251499da829086be3

Git commit 43e2c64307fbd6b5c4a79bd7621efd356c875599 by Barnabás Pőcze on 25/06/2021 at 01:22..
pulse-server: split out format handling

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/43e2c64307fbd6b5c4a79bd7621efd356c875599

Git commit 4496c3375123b8df9dc3af90ccd3dd707087bd84 by Barnabás Pőcze on 25/06/2021 at 01:23..
pulse-server: split out volume handling

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/4496c3375123b8df9dc3af90ccd3dd707087bd84

Git commit acffe1b90b35070e7eeb783905485195f922394f by Barnabás Pőcze on 25/06/2021 at 01:23..
pulse-server: split out "collect" functions

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/acffe1b90b35070e7eeb783905485195f922394f

Git commit bc4370e1959c474c5487947344b0b7b271bb4f78 by Barnabás Pőcze on 25/06/2021 at 01:23..
pulse-server: split out D-Bus parts

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/bc4370e1959c474c5487947344b0b7b271bb4f78

Git commit bee97b09e2b5217e4c5230fbfaadac9979a8fcb6 by Barnabás Pőcze on 25/06/2021 at 01:23..
pulse-server: split out sample, sample-play

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/bee97b09e2b5217e4c5230fbfaadac9979a8fcb6

Git commit 8a0f52ab783422c964e8ec1fdcc69105ee0bfff0 by Barnabás Pőcze on 25/06/2021 at 01:23..
pulse-server: split out pending-sample

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/8a0f52ab783422c964e8ec1fdcc69105ee0bfff0

Git commit 62832609c1d345d77674ffd358755b0314778296 by Barnabás Pőcze on 25/06/2021 at 01:23..
pulse-server: split out utils

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/62832609c1d345d77674ffd358755b0314778296

Git commit 5318c0eeca28ee48d0a26accb82d063b85325f86 by Barnabás Pőcze on 25/06/2021 at 01:23..
pulse-server: split out media roles

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/5318c0eeca28ee48d0a26accb82d063b85325f86

Git commit b2ec1fb60a5aacd6d0b1d2121b825b9879ed759d by Barnabás Pőcze on 25/06/2021 at 01:23..
pulse-server: split out message handling

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/b2ec1fb60a5aacd6d0b1d2121b825b9879ed759d

Git commit 49d31ea0af99beedd83e3f482e731db0a5f32c95 by Barnabás Pőcze on 25/06/2021 at 01:23..
pulse-server: split out reply, operation, client, stream

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/49d31ea0af99beedd83e3f482e731db0a5f32c95

Git commit d3664871167178a41f67a7f82f27513f0c221c4f by Barnabás Pőcze on 25/06/2021 at 01:23..
pulse-server: split out server creation and socket handling

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d3664871167178a41f67a7f82f27513f0c221c4f

Git commit c49ae39888308fbae7df1428981291e3dbdec3b5 by Barnabás Pőcze on 25/06/2021 at 01:23..
pulse-server: split out extension handling

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/c49ae39888308fbae7df1428981291e3dbdec3b5

Git commit c9f5deb81dbe5c5370ef8367b9d3119c73edf19d by Barnabás Pőcze on 25/06/2021 at 01:23..
pulse-server: split out module handling

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/c9f5deb81dbe5c5370ef8367b9d3119c73edf19d

Git commit e966b1d6f2ac43c9b89c96afb376d2373470f44a by Barnabás Pőcze on 25/06/2021 at 01:23..
pulse-server: split out message-handler

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/e966b1d6f2ac43c9b89c96afb376d2373470f44a

Git commit 480fcbbba9288970eff70e19d6098fdbe2b21652 by Barnabás Pőcze on 25/06/2021 at 01:23..
pulse-server: module-zeroconf-publish: use <> for system include

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/480fcbbba9288970eff70e19d6098fdbe2b21652

Git commit 0e48ae9f5016a29935b567ce37f819b19c99fa9d by Barnabás Pőcze on 25/06/2021 at 01:23..
pulse-server: remove unnecessary struct member and includes

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0e48ae9f5016a29935b567ce37f819b19c99fa9d

Git commit 378ba0d51bd71a44638638313b2a85f8b412abe6 by Barnabás Pőcze on 25/06/2021 at 01:23..
pulse-server: clean up includes

* use <> for pipewire includes
* add missing includes
* move "manager.h"

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/378ba0d51bd71a44638638313b2a85f8b412abe6

Git commit 887876bea80823837d905193e97e0cb21394519f by Barnabás Pőcze on 25/06/2021 at 01:24..
pulse-server: add missing forward declarations

Part of !776.
https://invent.kde.org/neon/backports-focal/pipewire/commit/887876bea80823837d905193e97e0cb21394519f

Git commit 5e76f39e9d65b7bf87b3aa6506e52cd8b9dfa769 by Wim Taymans (on behalf of Peter Hutterer) on 25/06/2021 at 08:25..
meson.build: move -D_GNU_SOURCE to the other hardcoded args

No need for this to be on its own line
https://invent.kde.org/neon/backports-focal/pipewire/commit/5e76f39e9d65b7bf87b3aa6506e52cd8b9dfa769

Git commit c69ebf6361c79c436920cc3b2c4f8dd2fbd1c2b6 by Wim Taymans (on behalf of Peter Hutterer) on 25/06/2021 at 08:25..
meson.build: define cpp dependency as non-native

meson.build:93: WARNING: add_languages is missing native:,
  assuming languages are wanted for both host and build.

Doesn't matter for our use-case (compilation check only), so let's define it
as non-native.
https://invent.kde.org/neon/backports-focal/pipewire/commit/c69ebf6361c79c436920cc3b2c4f8dd2fbd1c2b6

Git commit 243d534476913f53d5fb980b4db1673ac3d82408 by Wim Taymans (on behalf of Stefano Ragni) on 25/06/2021 at 08:26..
dbus: fix bus type reported in logs
https://invent.kde.org/neon/backports-focal/pipewire/commit/243d534476913f53d5fb980b4db1673ac3d82408

Git commit 71d39e90ed6bd8729f6ae0ab8d1bf5d2640bc3df by Wim Taymans (on behalf of Niklāvs Koļesņikovs) on 25/06/2021 at 08:31..
meson: adds post meson setup/--reconfigure summary for auto features

As suggested by George Kiagiadakis, adds calls to summary() function
for each feature that is by default set to auto, so that an overview
of their effective state is printed at the end of meson setup or
meson --reconfigure command.

Currently ordering is a bit messy but tidying it up would detach
the summary() functions from the dependencies they rely on and could
be done later along with meson_options.txt re-ordering so that the
two match as much as possible.
https://invent.kde.org/neon/backports-focal/pipewire/commit/71d39e90ed6bd8729f6ae0ab8d1bf5d2640bc3df

Git commit 0880ff9a84432b39f0371d8f2e7d1d39f67fc3e3 by Wim Taymans (on behalf of Peter Hutterer) on 25/06/2021 at 08:42..
spa: add spa_strendswith (copy from protocol-pulse)

Useful function, let's make it generally available.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0880ff9a84432b39f0371d8f2e7d1d39f67fc3e3

Git commit 9956637ce52b476c8ad3cce402d09063e9c0d04f by Wim Taymans (on behalf of Peter Hutterer) on 25/06/2021 at 08:42..
doc: drop unused variable from meson.build
https://invent.kde.org/neon/backports-focal/pipewire/commit/9956637ce52b476c8ad3cce402d09063e9c0d04f

Git commit f181232a618857e15e2ee9851c31dd1816444f4e by Wim Taymans (on behalf of Peter Hutterer) on 25/06/2021 at 08:42..
doc: add the documentation infrastructure for pipewire modules

All empty pages for now but at least this makes them show up in the
documentation.
https://invent.kde.org/neon/backports-focal/pipewire/commit/f181232a618857e15e2ee9851c31dd1816444f4e

Git commit b23dfc4dc19067817017b4ef3a7cc96903b472a1 by Wim Taymans (on behalf of Peter Hutterer) on 25/06/2021 at 08:42..
doc: make the pipewire keys show up in the doxygen output
https://invent.kde.org/neon/backports-focal/pipewire/commit/b23dfc4dc19067817017b4ef3a7cc96903b472a1

Git commit 4e3d155dc16024a6be7eeeffede492cf1ab466f1 by Wim Taymans (on behalf of Peter Hutterer) on 25/06/2021 at 08:42..
doc: document the access module
https://invent.kde.org/neon/backports-focal/pipewire/commit/4e3d155dc16024a6be7eeeffede492cf1ab466f1

Git commit eb262beb223c5e47025ac859187fa3c521558b9d by Wim Taymans (on behalf of Peter Hutterer) on 25/06/2021 at 08:42..
doc: document the echo-cancel module
https://invent.kde.org/neon/backports-focal/pipewire/commit/eb262beb223c5e47025ac859187fa3c521558b9d

Git commit 0c14ec769f82df3400c013f84f35b5386d7e91e1 by Wim Taymans on 25/06/2021 at 11:23..
pulse-server: improve sink/source state

When a sink is RUNNING but there is nothing linked to the input it must
be the monitor that is keeping it active, report IDLE for the sink in
that case.

When a source is RUNNING but there is nothing linked to the output it
must be the sink part that is keeping it active, report IDLE for the
source.

Fixes #1345
https://invent.kde.org/neon/backports-focal/pipewire/commit/0c14ec769f82df3400c013f84f35b5386d7e91e1

Git commit 0a02396995ae4db2beace1eedd7a327e2225b4d7 by Wim Taymans (on behalf of Ivan) on 25/06/2021 at 11:27..
meson: Make summary() respect vulkan headers detection

Fix false positive that caused by summary() checking only for vulkan
library but not headers.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0a02396995ae4db2beace1eedd7a327e2225b4d7

Git commit 38d5de789d65e0a8597dbafa96f6ea63589600b5 by Niklāvs Koļesņikovs on 25/06/2021 at 12:12..
meson_options.txt: disable vulkan option since it's not ready for use

According to George Kiagiadakis it being set to auto is an accident,
because the Vulkan support does not [yet] provide anything useful.
https://invent.kde.org/neon/backports-focal/pipewire/commit/38d5de789d65e0a8597dbafa96f6ea63589600b5

Git commit b55bafae090caeb276e5718fc82c4b515f1c15a1 by Niklāvs Koļesņikovs on 25/06/2021 at 12:13..
meson.build: move libcamera and libdrm summary() to 'Backend' section
https://invent.kde.org/neon/backports-focal/pipewire/commit/b55bafae090caeb276e5718fc82c4b515f1c15a1

Git commit de72ed55904919bd1c98a0d537189bf5c796706f by Niklāvs Koļesņikovs on 25/06/2021 at 12:13..
meson.build: adds V4L2 header and enablement reporting via summary()

Until now the 'v4l2' feature was not actually checking that its
required header has been found, this commit adds a check for
<linux/videodev2.h> and correctly reports both header status and whether
the feature itself ends up enabled (depends on libudev).
https://invent.kde.org/neon/backports-focal/pipewire/commit/de72ed55904919bd1c98a0d537189bf5c796706f

Git commit aa4de60032f4ca9e281e65042db2b2266615781f by Wim Taymans on 25/06/2021 at 13:51..
modules: pulse-tunnel can use RT_PROCESS

It writes samples to a ringbuffer and will not do any rt-unsafe
methods.
https://invent.kde.org/neon/backports-focal/pipewire/commit/aa4de60032f4ca9e281e65042db2b2266615781f

Git commit 417c9ab887f50cb692eb485b7293499f38f71c5d by Wim Taymans on 25/06/2021 at 14:44..
modules: add an example sink and source
https://invent.kde.org/neon/backports-focal/pipewire/commit/417c9ab887f50cb692eb485b7293499f38f71c5d

Git commit 3ba62287ade5cdba2e4c3f0628dcbeb6fa15a2cb by Evgeniy Khramtsov on 25/06/2021 at 15:53..
pulse-server: add missing definitions for FreeBSD

Define struct statfs and LOCAL_PEERCRED for FreeBSD.

Fixes: 62832609c1d345d77674ffd358755b0314778296
https://invent.kde.org/neon/backports-focal/pipewire/commit/3ba62287ade5cdba2e4c3f0628dcbeb6fa15a2cb

Git commit cb6dbd165a37c2f488a8f4e3db02940794added8 by Evgeniy Khramtsov on 25/06/2021 at 16:08..
pulse-server: move defines to the common utils.h

Previous commit was an older version that got accidentally pushed.

Improves: 3ba62287ade5cdba2e4c3f0628dcbeb6fa15a2cb
https://invent.kde.org/neon/backports-focal/pipewire/commit/cb6dbd165a37c2f488a8f4e3db02940794added8

Git commit 2b515b5e504b90e20a4ee02345c1374bc7ec7a6c by Pauli Virtanen on 26/06/2021 at 13:11..
dbus: keep a ref to DBusConnection if reconnecting is not handled

Several places in the code don't handle reconnecting DBus connections
yet. In those cases, a ref to the DBusConnection handle needs to be
kept, so that there's no use-after-free if it gets freed by spa_dbus
if the connection is broken.

Adjust spa_dbus so that others keeping additional refs is safe.
https://invent.kde.org/neon/backports-focal/pipewire/commit/2b515b5e504b90e20a4ee02345c1374bc7ec7a6c

Git commit d06a2e21405cb6f49d61a4d2a8fec33f7c09ae25 by Wim Taymans (on behalf of Barnabás Pőcze) on 27/06/2021 at 18:24..
spa: meson.build: look for libcamera under another name

libcamera commit ec7afef665a87eb389a5a4cb9ff35e9c24bbcc29 (2021-06-24)
changed the name of the generated pkg-config file from 'camera.pc'
to 'libcamera.pc'.

First look for the libcamera dependency under the new name 'libcamera',
and if that's not found, look for it under the older name 'camera'.

Fixes #1355
https://invent.kde.org/neon/backports-focal/pipewire/commit/d06a2e21405cb6f49d61a4d2a8fec33f7c09ae25

Git commit d8b5ab13a5e14c22f4051101f6af44dd1bac2768 by Sanchayan Maity on 28/06/2021 at 06:51..
modules: Allow roc source/sink to be used as native modules

Move the implementation of roc source and sink so that they can be used
as pipewire native modules and make the pulse module implementation use
those.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d8b5ab13a5e14c22f4051101f6af44dd1bac2768

Git commit 82f02dc502304e012653ef68388ae88750fa7da9 by Wim Taymans on 28/06/2021 at 10:22..
jack: create threads with FIFO scheduling

Make jack_client_create_thread() create FIFO threads, like the
JACK implementation did. We should probably hook that into the
module-rt functions somehow.

Fixes #1349
https://invent.kde.org/neon/backports-focal/pipewire/commit/82f02dc502304e012653ef68388ae88750fa7da9

Git commit c90bd14edecfd8d03937b7f358f405b2f280b477 by Wim Taymans on 28/06/2021 at 10:23..
thread-loop: improve thread name

The thread name can only be 16 chars. We don't need to strdup the
name but copy and trunc into a fixed buffer.
We can also set the thread name right after we created the thread.
Emit a warning when we can't set the thread name
https://invent.kde.org/neon/backports-focal/pipewire/commit/c90bd14edecfd8d03937b7f358f405b2f280b477

Git commit 4fb878e449cb3f88a6dabfbb1d3d6c6a50351439 by Wim Taymans on 28/06/2021 at 10:23..
jack: name the thread-loop differently
https://invent.kde.org/neon/backports-focal/pipewire/commit/4fb878e449cb3f88a6dabfbb1d3d6c6a50351439

Git commit de99fc35159d3ff4d41bd4ab99d55f4103b26817 by Wim Taymans on 28/06/2021 at 10:23..
module-rt: use FIFO scheduling

FIFO scheduling is recommended for RT usage these days.
https://invent.kde.org/neon/backports-focal/pipewire/commit/de99fc35159d3ff4d41bd4ab99d55f4103b26817

Git commit 0d71068ab2d295e4dc86792d10bbba064c4d8b9e by Wim Taymans on 28/06/2021 at 10:24..
jack: make JACK use module-rt

It is more like how JACK2 does things.
We get FIFO scheduling by default and we don't get killed by RTKit
when doing long operations, which seem to be the case for many
plugins.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0d71068ab2d295e4dc86792d10bbba064c4d8b9e

Git commit c68a7cd6035c097d1ff0ccec38635022b8e0af6d by Wim Taymans on 28/06/2021 at 10:43..
pulse-server: silence the ENOTSUP warnings

To stop the device restore extension warnings.
https://invent.kde.org/neon/backports-focal/pipewire/commit/c68a7cd6035c097d1ff0ccec38635022b8e0af6d

Git commit d6a569620c72b29c2eaf67b52278042a6f15f765 by Wim Taymans on 28/06/2021 at 12:55..
v4l2: DmaBuf and MemFd are mostly the same

If the caller asks for MemFd, pass a DmaBuf because it is mostly
the same for v4l2.

Not very correct but it's not yet trivial to fall back to memfd.
And this way we have something to give to the clients that will work
when the client asks for MemFd or MemPtr.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d6a569620c72b29c2eaf67b52278042a6f15f765

Git commit 84b9644ee3761183172f3fbbed95f649fdfea5e1 by Wim Taymans (on behalf of Barnabás Pőcze) on 28/06/2021 at 13:07..
spa: utils: defs: fix SPA_FOR_EACH_ELEMENT usage example

To iterate over an array of `T`, the iterator must be `(const) T *`,
so that the types are compatible when `T[]` decays into `T *`.

In the example when `struct foo *[]` decays, it becomes `struct foo **`,
which is not compatible with the the type of iterator, `struct foo *`.

Fix that by changing the type of the array to `struct foo[]`.
https://invent.kde.org/neon/backports-focal/pipewire/commit/84b9644ee3761183172f3fbbed95f649fdfea5e1

Git commit c43dabcc96e2e072cdf08e5f094bb677d9017c6b by Wim Taymans on 28/06/2021 at 13:32..
0.3.31
https://invent.kde.org/neon/backports-focal/pipewire/commit/c43dabcc96e2e072cdf08e5f094bb677d9017c6b

Git commit 589374dbadb20fe86d257ba99bc830facc64db1e by Dylan Aïssi on 29/06/2021 at 08:07..
Merge tag '0.3.31' into upstream/latest
https://invent.kde.org/neon/backports-focal/pipewire/commit/589374dbadb20fe86d257ba99bc830facc64db1e

Git commit 5ff4f6d53ab252e75b39c792ac6e7ed8af8dbcdf by Dylan Aïssi on 29/06/2021 at 08:08..
Merge tag 'upstream/0.3.31' into debian/experimental
https://invent.kde.org/neon/backports-focal/pipewire/commit/5ff4f6d53ab252e75b39c792ac6e7ed8af8dbcdf

Git commit 083553d51108b22ebaa71658aded3d2c1a8e57f8 by Dylan Aïssi on 29/06/2021 at 08:13..
Bump d/changelog
https://invent.kde.org/neon/backports-focal/pipewire/commit/083553d51108b22ebaa71658aded3d2c1a8e57f8

Git commit 12b0aa6d85635c2f8702ab85eb8526ae38543b40 by Dylan Aïssi on 29/06/2021 at 08:25..
Add libusb-1.0-0-dev to Build-Depends
https://invent.kde.org/neon/backports-focal/pipewire/commit/12b0aa6d85635c2f8702ab85eb8526ae38543b40

Git commit 29c5d607fbe92995ddfa6d62d23f18541e4cbc18 by Dylan Aïssi on 29/06/2021 at 09:09..
Disable roc module at least for now
https://invent.kde.org/neon/backports-focal/pipewire/commit/29c5d607fbe92995ddfa6d62d23f18541e4cbc18

Git commit 9f53c59f081c84d91b3010972218042cf2c45464 by Dylan Aïssi on 29/06/2021 at 09:31..
Install bluez-hardware.conf in pipewire-media-session
https://invent.kde.org/neon/backports-focal/pipewire/commit/9f53c59f081c84d91b3010972218042cf2c45464

Git commit 0c59371119dd444dfed4d8438f01f15eeba4db9e by Dylan Aïssi on 29/06/2021 at 09:38..
Update symbols file
https://invent.kde.org/neon/backports-focal/pipewire/commit/0c59371119dd444dfed4d8438f01f15eeba4db9e

Git commit eedc8700b174cba53540fb2a9dc5ad880655f690 by Dylan Aïssi on 29/06/2021 at 10:10..
Upload to experimental
https://invent.kde.org/neon/backports-focal/pipewire/commit/eedc8700b174cba53540fb2a9dc5ad880655f690

Git commit b97b320f5231afef9605080a3fb99288fb97b245 by Harald Sitter on 05/07/2021 at 08:35..
Merge tag 'debian/0.3.31-1' into Neon/release-lts

pipewire Debian release 0.3.31-1
https://invent.kde.org/neon/backports-focal/pipewire/commit/b97b320f5231afef9605080a3fb99288fb97b245


More information about the Neon-commits mailing list