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


Fri Jan 29 11:50:10 GMT 2021


Git repository change summary for neon/backports-focal/pipewire
Pushed by sitter into branch 'Neon/release-lts'.
Changed from 0c5bba4b9f940793ccb15923c694f990b8e234ef to 10c9abd38ba54e93b6f0caf8d1b3ebb0a929de26
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 b8c7b36d3b8be16593f554964cf2f852c21b5c2c by Wim Taymans on 04/11/2020 at 15:13..
protocol-native: do version check on HELLO

Always do the version check on HELLO because the connection could
have been moved from a v3 portal to a v0 client (like chrome)

Fixes #270
https://invent.kde.org/neon/backports-focal/pipewire/commit/b8c7b36d3b8be16593f554964cf2f852c21b5c2c

Git commit 7a43769648544d86af19ea3d0396cc64ce0e8a48 by Wim Taymans on 04/11/2020 at 16:41..
pulse: guard against NULL core

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

Git commit 6444147a126f7493b7dec3082d6fbb056c69e1a5 by Wim Taymans on 04/11/2020 at 18:27..
pulse: protect context

Make sure the context is READY when calling function
Protect pa_operation_sync against disconnected context

Fixes #365
https://invent.kde.org/neon/backports-focal/pipewire/commit/6444147a126f7493b7dec3082d6fbb056c69e1a5

Git commit 38bcab4610fcf1756bb1b247fce5e9814365f124 by Wim Taymans on 04/11/2020 at 20:05..
jack: handle connect errors

Listen on the proxy for errors and report this to the caller. This
avoids hanging in jack_connect.
https://invent.kde.org/neon/backports-focal/pipewire/commit/38bcab4610fcf1756bb1b247fce5e9814365f124

Git commit 17e3087397caafb69dd9774bb970ce429734de11 by Wim Taymans on 05/11/2020 at 08:46..
bluez5: fix some whitespace and indent
https://invent.kde.org/neon/backports-focal/pipewire/commit/17e3087397caafb69dd9774bb970ce429734de11

Git commit 5a98a9b1cd3499f991025d5ef1cfa8327802b962 by Wim Taymans on 05/11/2020 at 09:00..
alsa: reload alsa configuration

Fixes #332
https://invent.kde.org/neon/backports-focal/pipewire/commit/5a98a9b1cd3499f991025d5ef1cfa8327802b962

Git commit b472abe65b458cdb1f32dbfce92d853fc31aa17a by Wim Taymans on 05/11/2020 at 09:36..
pulse-server: improve GET_SERVER_INFO

We don't need to bind to the core object again, we can just use the
events on the manager core.
We don't actually have info when the Core is added so don't try to
use it to get defaults for the client.
Use the manager core info in server info.
https://invent.kde.org/neon/backports-focal/pipewire/commit/b472abe65b458cdb1f32dbfce92d853fc31aa17a

Git commit 2a5087a51e46b26b5dbe9141014c7490c0d0c03a by Wim Taymans on 05/11/2020 at 09:46..
pulse-server: set client id
https://invent.kde.org/neon/backports-focal/pipewire/commit/2a5087a51e46b26b5dbe9141014c7490c0d0c03a

Git commit a362889712dda1935f196c58df08744a8839e7a2 by Georges Basile Stavracas Neto on 05/11/2020 at 14:57..
pulse-server: Implement module load and unload

Implement a minimal version of the LOAD_MODULE and UNLOAD_MODULE
stream commands. The only supported module for now is the null
sink.

Modules are stored on a per-client bases, so that when clients
are disconnected, the modules they loaded is removed too.

This is enough to allow GNOME Network Displays to register a sink.
https://invent.kde.org/neon/backports-focal/pipewire/commit/a362889712dda1935f196c58df08744a8839e7a2

Git commit 3fe31862efd514b9a535ae536e7f1264324ab7e9 by Wim Taymans on 05/11/2020 at 19:22..
proxy: remove hooks in _destroy

Callers of _destroy should be able to reply on the fact that no
more events will be emited on the proxy whitout being required to
remove the hooks themselves.

Because of the refcount in the proxy, it can stay alive after the
_destroy and being used to emit events, like emit an error in
protocol-native.

Fixes #366
https://invent.kde.org/neon/backports-focal/pipewire/commit/3fe31862efd514b9a535ae536e7f1264324ab7e9

Git commit cd71b05fd01e5d57fb588e98728bc781bc5f3049 by Wim Taymans on 06/11/2020 at 08:30..
tests: zero test data

hooks need to be zeroed or else they causes crashes on _remove when the
remove callback is called.

Fixes #368
https://invent.kde.org/neon/backports-focal/pipewire/commit/cd71b05fd01e5d57fb588e98728bc781bc5f3049

Git commit 80967e88ad71b4017b4c47d9b0b52a653bacd01e by Wim Taymans on 06/11/2020 at 14:32..
utils: add function to clean hook list
https://invent.kde.org/neon/backports-focal/pipewire/commit/80967e88ad71b4017b4c47d9b0b52a653bacd01e

Git commit 06bfbe55d36a703688b23139750f6917d3fba656 by Wim Taymans on 06/11/2020 at 14:34..
proxy: also clean the object_listeners

Fixes #366
https://invent.kde.org/neon/backports-focal/pipewire/commit/06bfbe55d36a703688b23139750f6917d3fba656

Git commit 42319e32beab08df88a7c15ae7599497902baece by Wim Taymans on 06/11/2020 at 14:35..
pulse-server: handle NULL registry
https://invent.kde.org/neon/backports-focal/pipewire/commit/42319e32beab08df88a7c15ae7599497902baece

Git commit 6317bc4deb05073984bc8e6fae28096a22d99deb by Wim Taymans on 06/11/2020 at 14:37..
module-spa: remove the listeners correctly

In the module destroy, remove the module listener and in the
factory_destroy, the factory_listener.
https://invent.kde.org/neon/backports-focal/pipewire/commit/6317bc4deb05073984bc8e6fae28096a22d99deb

Git commit 1570e626352a949e1c7cc57049da7e9fcbc1d22c by Wim Taymans on 06/11/2020 at 14:53..
remove hooks from objects

Remove the hooks we installed on objects in the destroy/free event
or before calling _destroy. This is not really needed but it is
a nice thing to do because it calls the hook removed callbacks.
https://invent.kde.org/neon/backports-focal/pipewire/commit/1570e626352a949e1c7cc57049da7e9fcbc1d22c

Git commit a2549fc63873d3d58136a09120feaa3c7a6136c1 by Wim Taymans on 06/11/2020 at 14:55..
clean the hook lists

Make sure the hook lists are emptied so that the removed callbacks
are called. The callers should really remove the hook they installed
themselves but this is a last chance to fix things up.
https://invent.kde.org/neon/backports-focal/pipewire/commit/a2549fc63873d3d58136a09120feaa3c7a6136c1

Git commit 96599f74e76c13d9c4cb9634a936e77768d1310c by Wim Taymans on 06/11/2020 at 15:09..
pulse-server: use invalid id for unused connect_tag

Because 0 happens to be the first tag and can cause confusion.
https://invent.kde.org/neon/backports-focal/pipewire/commit/96599f74e76c13d9c4cb9634a936e77768d1310c

Git commit 65289a218533eb340fb372248d5c172628017dde by Wim Taymans on 06/11/2020 at 15:13..
pulse-sever: increase socket priority
https://invent.kde.org/neon/backports-focal/pipewire/commit/65289a218533eb340fb372248d5c172628017dde

Git commit 24280928a9be65946a04112eb619aaa64b75de7d by Wim Taymans on 06/11/2020 at 15:30..
pulse-server: improve debug
https://invent.kde.org/neon/backports-focal/pipewire/commit/24280928a9be65946a04112eb619aaa64b75de7d

Git commit 1507f40eb04d01729451a24fd68ae07da752a25b by Wim Taymans on 06/11/2020 at 15:37..
pulse-server: keep on reading commands until we hit EAGAIN

Only log a warning for anything else than EAGAIN
https://invent.kde.org/neon/backports-focal/pipewire/commit/1507f40eb04d01729451a24fd68ae07da752a25b

Git commit 28af82e6d97ebf42d30c2d714248f95460a5337d by Wim Taymans (on behalf of Sergey Bugaev) on 06/11/2020 at 15:51..
meson: rename HAVE_SYSTEMD_DAEMON to HAVE_SYSTEMD

This variable describes whether we have systemd and libsystemd,
not just <systemd/sd-daemon.h>

While at it, sneak in a fix for the warning message:
"systemd should never ever be capitalized".

Signed-off-by: Sergey Bugaev <bugaevc at gmail.com>
https://invent.kde.org/neon/backports-focal/pipewire/commit/28af82e6d97ebf42d30c2d714248f95460a5337d

Git commit c101ff20577bd5df31a428f6000d9b48aa738664 by Wim Taymans (on behalf of Sergey Bugaev) on 06/11/2020 at 15:51..
support: add a journald logger implementation

Closes https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/358

Signed-off-by: Sergey Bugaev <bugaevc at gmail.com>
https://invent.kde.org/neon/backports-focal/pipewire/commit/c101ff20577bd5df31a428f6000d9b48aa738664

Git commit d7d4f094a8a5f1c6c0be1624659ee14c111e8f10 by Wim Taymans (on behalf of Sergey Bugaev) on 06/11/2020 at 15:51..
pipewire: load journald logging when available

See https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/358

Signed-off-by: Sergey Bugaev <bugaevc at gmail.com>
https://invent.kde.org/neon/backports-focal/pipewire/commit/d7d4f094a8a5f1c6c0be1624659ee14c111e8f10

Git commit b6efcd90a7176849722eb5e168c09a4baea6c64d by Wim Taymans on 09/11/2020 at 08:42..
pulse-server: improve message debug, add offset
https://invent.kde.org/neon/backports-focal/pipewire/commit/b6efcd90a7176849722eb5e168c09a4baea6c64d

Git commit 18c57efb3975920434d2c4b6a10901c72cf2d04f by Wim Taymans on 09/11/2020 at 08:42..
pulse-server: take type from info
https://invent.kde.org/neon/backports-focal/pipewire/commit/18c57efb3975920434d2c4b6a10901c72cf2d04f

Git commit 8abb648ec3c8bae4907f15b7cc2576cad5e609da by Wim Taymans on 09/11/2020 at 10:13..
pulse-server: Improve timing reporting

Use the same logic as pulseaudio to improve the timing reporting
and improve compatibility with vlc.
https://invent.kde.org/neon/backports-focal/pipewire/commit/8abb648ec3c8bae4907f15b7cc2576cad5e609da

Git commit bd57c1a4575845e5dd8a96695d693ea674590cd8 by Wim Taymans on 09/11/2020 at 11:06..
pulse-server: improve under and overrun handling
https://invent.kde.org/neon/backports-focal/pipewire/commit/bd57c1a4575845e5dd8a96695d693ea674590cd8

Git commit fba8cd9f56bef12060274dc0e8a593e7bda5600d by Wim Taymans (on behalf of Greg V) on 09/11/2020 at 11:14..
protocol-pulse: ifdef Linux-specific errnos and socket opts
https://invent.kde.org/neon/backports-focal/pipewire/commit/fba8cd9f56bef12060274dc0e8a593e7bda5600d

Git commit cc0386e1c5f51be560f569220a9f5b0e97d109eb by Wim Taymans (on behalf of Greg V) on 09/11/2020 at 11:14..
media-session: ifdef Linux-specific file option
https://invent.kde.org/neon/backports-focal/pipewire/commit/cc0386e1c5f51be560f569220a9f5b0e97d109eb

Git commit 90ade199e63134fda8002b053e38a662211dc0a0 by Wim Taymans (on behalf of Greg V) on 09/11/2020 at 11:14..
Provide a strndupa implementation when it is absent

strndupa is a glibc exclusive, not even musl implements it
https://invent.kde.org/neon/backports-focal/pipewire/commit/90ade199e63134fda8002b053e38a662211dc0a0

Git commit 6ffb997c5ab82c1d9e2403f6fdf5076e6e15d16f by Wim Taymans (on behalf of Greg V) on 09/11/2020 at 11:14..
Use memfd on FreeBSD 13, shm_open(SHM_ANON) on older versions

/dev/shm usually does not exist on FreeBSD, so the mkostemp call was failing.
FreeBSD 13 offers memfd support complete with seals, use it.
https://invent.kde.org/neon/backports-focal/pipewire/commit/6ffb997c5ab82c1d9e2403f6fdf5076e6e15d16f

Git commit c1cda26ce856a1929b9dd038743e732b803a3ff8 by Wim Taymans (on behalf of Greg V) on 09/11/2020 at 11:14..
protocol-native: get pid/gid/uid on FreeBSD using LOCAL_PEERCRED
https://invent.kde.org/neon/backports-focal/pipewire/commit/c1cda26ce856a1929b9dd038743e732b803a3ff8

Git commit 2ae840bc128576d68a2374b504379d4638f42644 by Wim Taymans (on behalf of Greg V) on 09/11/2020 at 11:14..
access: only check for Flatpak on Linux
https://invent.kde.org/neon/backports-focal/pipewire/commit/2ae840bc128576d68a2374b504379d4638f42644

Git commit 779579b349f09a2a878f90ddff2a9d8a2ecf56fd by Wim Taymans on 09/11/2020 at 11:20..
utils: check for strndupa defined

The meson check does not completely work in detecting strndupa so do
an extra check before we define it.
https://invent.kde.org/neon/backports-focal/pipewire/commit/779579b349f09a2a878f90ddff2a9d8a2ecf56fd

Git commit 42dd52c7fecab220963a34bfe481a8cb729983cc by Wim Taymans on 09/11/2020 at 14:01..
acp: clean up card object

Fixes #369
https://invent.kde.org/neon/backports-focal/pipewire/commit/42dd52c7fecab220963a34bfe481a8cb729983cc

Git commit f8186665d9118f4c8d8dc944c33bd3588a5493dd by Wim Taymans on 09/11/2020 at 14:35..
spa-node: remove unused factory_name
https://invent.kde.org/neon/backports-focal/pipewire/commit/f8186665d9118f4c8d8dc944c33bd3588a5493dd

Git commit a0b2e5b498ae5abf305ea43e0fbfd2ee7a479867 by Wim Taymans on 09/11/2020 at 14:35..
pulse-server: improve stream cleanup

Make sure we finish processing of the pending messages before
destroying the stream.
https://invent.kde.org/neon/backports-focal/pipewire/commit/a0b2e5b498ae5abf305ea43e0fbfd2ee7a479867

Git commit 29d6179328203ade11526d833f224d863c4b9f16 by Wim Taymans on 09/11/2020 at 14:36..
spa-device: cleanup in the free signal

Cleanup and close the plugin in the free signal so that the object
has a chance to remove the event handlers from the object.
https://invent.kde.org/neon/backports-focal/pipewire/commit/29d6179328203ade11526d833f224d863c4b9f16

Git commit ecf10e0b1cffcb742b302a2bbead9f9d55fe362e by Wim Taymans on 09/11/2020 at 14:51..
pulse-server: remove useless allocation
https://invent.kde.org/neon/backports-focal/pipewire/commit/ecf10e0b1cffcb742b302a2bbead9f9d55fe362e

Git commit 31216c09c4a2528969b4f76142683e13e0a2f8cd by Wim Taymans on 09/11/2020 at 15:48..
bluez5: fix memleak
https://invent.kde.org/neon/backports-focal/pipewire/commit/31216c09c4a2528969b4f76142683e13e0a2f8cd

Git commit d4fc9187371590cf04c8c6475c4a7cb4b65fba2d by Wim Taymans on 09/11/2020 at 15:49..
module-adapter: don't remove the listener in destroy

Or else we won't receive the free event anymore and we leak the
adapter.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d4fc9187371590cf04c8c6475c4a7cb4b65fba2d

Git commit a6c35d1df4d4088202715fd15efce6bc7e58f8b9 by Wim Taymans on 09/11/2020 at 15:50..
module-portal: don't leak dbus error
https://invent.kde.org/neon/backports-focal/pipewire/commit/a6c35d1df4d4088202715fd15efce6bc7e58f8b9

Git commit 99fcc95d18fb08294358784b52bd85ea31396960 by Wim Taymans on 09/11/2020 at 15:51..
pulse-server: don't leak formats
https://invent.kde.org/neon/backports-focal/pipewire/commit/99fcc95d18fb08294358784b52bd85ea31396960

Git commit cd3610367b1611964e96fca0e1fd11e9f71ea97c by Wim Taymans on 09/11/2020 at 15:52..
pulse-server: free object info

Don't remove the listeners before destroying the proxy because
we clean up the info in the destroy event.
https://invent.kde.org/neon/backports-focal/pipewire/commit/cd3610367b1611964e96fca0e1fd11e9f71ea97c

Git commit 239615f5ae0cea42a5e55472aa706e5190bb3d99 by Wim Taymans on 09/11/2020 at 15:53..
pulse-server: improve some debug
https://invent.kde.org/neon/backports-focal/pipewire/commit/239615f5ae0cea42a5e55472aa706e5190bb3d99

Git commit bd259a7eb63a29a771821cca8a3d740428b21b49 by Wim Taymans on 11/11/2020 at 11:24..
utils: don't include config.h

don't include config.h in public header. Just check if strndupa
is defined and if not, define it.
https://invent.kde.org/neon/backports-focal/pipewire/commit/bd259a7eb63a29a771821cca8a3d740428b21b49

Git commit 218689ff9ae4ebf150b15990cd550e3c25c53115 by Wim Taymans on 11/11/2020 at 16:19..
manager: also make a Core global

So that we can checke the permissions for the metadata
https://invent.kde.org/neon/backports-focal/pipewire/commit/218689ff9ae4ebf150b15990cd550e3c25c53115

Git commit 6c7a84a0ff3bcb9d9fed156457798e58502b699d by Wim Taymans on 12/11/2020 at 09:17..
pulse-server: rate limit the underrun warnings
https://invent.kde.org/neon/backports-focal/pipewire/commit/6c7a84a0ff3bcb9d9fed156457798e58502b699d

Git commit c368768b93debb59f0293f7e9f5d8ff15a1c0b9e by Wim Taymans on 12/11/2020 at 10:01..
pulse-server: append remote name to native socket

This way we don't interfere with the pulseaudio daemon in any way
and we can implement fallback to pulse-server in the pulseaudio
client library config file.
https://invent.kde.org/neon/backports-focal/pipewire/commit/c368768b93debb59f0293f7e9f5d8ff15a1c0b9e

Git commit 1d001974d72a9fe68aa2d03d48192a127d0c865f by Wim Taymans on 12/11/2020 at 10:11..
media-session: enable pulse-bridge by default

Now that we don't interfere with pulseaudio, enable it by default.
https://invent.kde.org/neon/backports-focal/pipewire/commit/1d001974d72a9fe68aa2d03d48192a127d0c865f

Git commit 6e2ab9973bd5d07faa9454019580aca5eca1d841 by Wim Taymans on 12/11/2020 at 11:17..
pulse-server: alsa safely make native socket

Only make the native socket when it's not there or when it appears
dead when we can't seem to connect to it.

- When the socket is not found, we take it.
- When an existing pulseaudio is running we won't unlink and take
  over the socket because we can connect to it
- When a crashed pulseaudio leaves a stale socket, we fail to
  connect and then we unlink and take over.
https://invent.kde.org/neon/backports-focal/pipewire/commit/6e2ab9973bd5d07faa9454019580aca5eca1d841

Git commit 593c183166415c9b5762d8a0ea930abcee6ae779 by Wim Taymans on 12/11/2020 at 12:02..
pulse-server: improve stale socket detection

Only declare stale when ECONNREFUSED and not socket activated.
https://invent.kde.org/neon/backports-focal/pipewire/commit/593c183166415c9b5762d8a0ea930abcee6ae779

Git commit 5ebb95a3463ff72618f7f1352554943542d85b9f by Wim Taymans on 12/11/2020 at 12:33..
pulse-server: improve debug, add client name
https://invent.kde.org/neon/backports-focal/pipewire/commit/5ebb95a3463ff72618f7f1352554943542d85b9f

Git commit 34cc13a60c70e9b43ee8b4f0793c1b63d0b8c397 by Wim Taymans on 12/11/2020 at 13:54..
pulse-server: set the right error when socket is busy
https://invent.kde.org/neon/backports-focal/pipewire/commit/34cc13a60c70e9b43ee8b4f0793c1b63d0b8c397

Git commit 5bfc3b90ef2d9644da41e5344b2f742a8083ba92 by Wim Taymans on 12/11/2020 at 14:13..
pulse-server: improve error log
https://invent.kde.org/neon/backports-focal/pipewire/commit/5bfc3b90ef2d9644da41e5344b2f742a8083ba92

Git commit 346e35eed5e23a348296856b19e94916f719d4b3 by Wim Taymans on 12/11/2020 at 14:18..
deprecate the libpulse replacement

Don't build by default, update the README
With pulse-server we are more flexible and compatible and we don't
have to (badly) reimplement libpulse anymore.
https://invent.kde.org/neon/backports-focal/pipewire/commit/346e35eed5e23a348296856b19e94916f719d4b3

Git commit 4eb3cc37ea80aaa41d656b5c68d4a79f823a9046 by Wim Taymans on 12/11/2020 at 14:35..
pulse-server: add socket activation
https://invent.kde.org/neon/backports-focal/pipewire/commit/4eb3cc37ea80aaa41d656b5c68d4a79f823a9046

Git commit 044876b51ce762f85a103d2c7617b113b61606e1 by Wim Taymans on 12/11/2020 at 14:44..
pulse-server: improve error message
https://invent.kde.org/neon/backports-focal/pipewire/commit/044876b51ce762f85a103d2c7617b113b61606e1

Git commit 024b9dc0ca299d9424f7a8330b3e83499e1ba7f6 by Wim Taymans on 12/11/2020 at 14:58..
pulse-server: remove unused code

We already checked the systemd sockets above and never call is_stale
for them.
https://invent.kde.org/neon/backports-focal/pipewire/commit/024b9dc0ca299d9424f7a8330b3e83499e1ba7f6

Git commit 10207456f0c43d95b146fc6a2f1023b40945e636 by Wim Taymans on 12/11/2020 at 15:50..
media-session: don't start pulse-bridge automatically

Don't start the pulse-bridge automatically because we don't
know what socket to listen on.
Also, listen by default on a safe socket, not used by pulseaudio.
https://invent.kde.org/neon/backports-focal/pipewire/commit/10207456f0c43d95b146fc6a2f1023b40945e636

Git commit 798bcc10b139e3f38c255a71ac56d629e8778886 by Wim Taymans on 12/11/2020 at 15:53..
pulse: add a small pulseaudio daemon

Add a small application that loads the pulse server and makes it
listen on the pulseaudio socket.
Add some systemd activation files to start the service.
https://invent.kde.org/neon/backports-focal/pipewire/commit/798bcc10b139e3f38c255a71ac56d629e8778886

Git commit ca2ea2db4b600aedba4ed05667fb4a06d87d6082 by Wim Taymans on 12/11/2020 at 16:37..
pulse-server: add more errno to error mappings
https://invent.kde.org/neon/backports-focal/pipewire/commit/ca2ea2db4b600aedba4ed05667fb4a06d87d6082

Git commit 041d1a142d9aa7c2da5452ce42357e0930745acf by Wim Taymans on 12/11/2020 at 16:43..
Add commented out option to start pipewire-pulse
https://invent.kde.org/neon/backports-focal/pipewire/commit/041d1a142d9aa7c2da5452ce42357e0930745acf

Git commit 22cec7823e8c6fb3cb331140bd8bf11d12790481 by Wim Taymans on 13/11/2020 at 08:52..
pulse-server: skip objects being created

Skip iterating over objects that still have pending updates.
Make sure we have all info and properties before we process
objects.

Fixes #376
https://invent.kde.org/neon/backports-focal/pipewire/commit/22cec7823e8c6fb3cb331140bd8bf11d12790481

Git commit 8b9d398df6c96d0dba46653c764edbdbe8f3c8aa by Wim Taymans on 13/11/2020 at 12:28..
pulse-server: implement sample cache
https://invent.kde.org/neon/backports-focal/pipewire/commit/8b9d398df6c96d0dba46653c764edbdbe8f3c8aa

Git commit b8b2ce6ba93ccac0eaff815319be48e4e4a7e471 by Wim Taymans on 13/11/2020 at 15:50..
loop: always wake up blocking items

We should always wake up the blocking items if we scheduled the
item.
https://invent.kde.org/neon/backports-focal/pipewire/commit/b8b2ce6ba93ccac0eaff815319be48e4e4a7e471

Git commit 1d8bef11338b7a4ecca6d506cbb9d60bb12bc461 by Wim Taymans on 13/11/2020 at 16:38..
pulse-server: fix check type, then check info

If the object is not of the right type, the info might not be of
the right type and we should not deref it.
https://invent.kde.org/neon/backports-focal/pipewire/commit/1d8bef11338b7a4ecca6d506cbb9d60bb12bc461

Git commit b4471673394d25ae97ec7f9a3750c0badd4fac6c by Wim Taymans on 13/11/2020 at 17:19..
pulse-server: actually play the sample from the cache
https://invent.kde.org/neon/backports-focal/pipewire/commit/b4471673394d25ae97ec7f9a3750c0badd4fac6c

Git commit b7b7c3817e53c8dbcad126e518aa45641fc1b079 by Wim Taymans on 13/11/2020 at 18:33..
pulse-server: use cleanup event

Signal event to trigger cleanup from places where we are not allowed
to destroy objects, like from their signals.
https://invent.kde.org/neon/backports-focal/pipewire/commit/b7b7c3817e53c8dbcad126e518aa45641fc1b079

Git commit 13a1049abf50ef5a4ac40446e22354833c7541dd by Wim Taymans on 13/11/2020 at 19:20..
pulse-server: also handle @DEFAULT_*@ in GET_*_INFO
https://invent.kde.org/neon/backports-focal/pipewire/commit/13a1049abf50ef5a4ac40446e22354833c7541dd

Git commit ee82bfe5fbf11d7db4dced66ddc9d9cf47eadc13 by Georges Basile Stavracas Neto on 14/11/2020 at 00:29..
pulse-server: Correctly unref sample

Decrease the actual ref counter, instead of the pointer
value.
https://invent.kde.org/neon/backports-focal/pipewire/commit/ee82bfe5fbf11d7db4dced66ddc9d9cf47eadc13

Git commit 827d3ff27185dbddd74300f130676443692f585c by Wim Taymans on 14/11/2020 at 12:30..
pulse-server: set refcount on sample
https://invent.kde.org/neon/backports-focal/pipewire/commit/827d3ff27185dbddd74300f130676443692f585c

Git commit 8f1eed6ab13cc6cc196bd0c51fc8a54dbf16baeb by Wim Taymans on 14/11/2020 at 12:31..
pulse-server: implement sample introspection
https://invent.kde.org/neon/backports-focal/pipewire/commit/8f1eed6ab13cc6cc196bd0c51fc8a54dbf16baeb

Git commit 80e063c6bc53f407e2a76b7ba6809062ebad849e by Wim Taymans on 14/11/2020 at 12:36..
pulse-server: add duration to sample
https://invent.kde.org/neon/backports-focal/pipewire/commit/80e063c6bc53f407e2a76b7ba6809062ebad849e

Git commit f42da492f9804b636260697ace0bbe475f659d39 by Wim Taymans on 14/11/2020 at 20:21..
warn about lock just once
https://invent.kde.org/neon/backports-focal/pipewire/commit/f42da492f9804b636260697ace0bbe475f659d39

Git commit 0ff7321a65c1fd79d87b0c8297d8d2ef7c099a30 by Wim Taymans on 15/11/2020 at 20:02..
pulse-server: send right id in PLAY_SAMPLE reply

Also handle errors.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0ff7321a65c1fd79d87b0c8297d8d2ef7c099a30

Git commit 78ab2c3cad44fd12bf5f476b49535bb649c5ef86 by Wim Taymans on 16/11/2020 at 10:10..
pulse-server: pass right object to TAG_PROPLIST
https://invent.kde.org/neon/backports-focal/pipewire/commit/78ab2c3cad44fd12bf5f476b49535bb649c5ef86

Git commit 1d3e6b677253ff24dc7369bec507ff4fe85af097 by Wim Taymans on 16/11/2020 at 10:29..
pulse-server: map some properties

Fixes the icon names.

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

Git commit 6fa622d2d9cea5b20b0043665960e992d9ad7b35 by Wim Taymans on 16/11/2020 at 12:28..
policy-node: only reconnect to given path_id

When the node is not found and we are not allowed to reconnect to
something else, error.
https://invent.kde.org/neon/backports-focal/pipewire/commit/6fa622d2d9cea5b20b0043665960e992d9ad7b35

Git commit 9f9be7d7f2ee2fa464953e7a25a85bac18792241 by Wim Taymans on 16/11/2020 at 12:31..
pulse-server: clean up killed and errored streams

Make a stream in error or unconnected as done and run the cleanup
loop to destroy them. Fixes leaks caused by pavucontrol.
https://invent.kde.org/neon/backports-focal/pipewire/commit/9f9be7d7f2ee2fa464953e7a25a85bac18792241

Git commit 0d9cc9e36e4570f45f2ea5d763ed7fd7c04b8cda by Wim Taymans on 16/11/2020 at 14:16..
loop: always place the invoke item in the queue

Always place the invoke item in the queue and then either signal the
other thread or flush the queue when not already flushing.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0d9cc9e36e4570f45f2ea5d763ed7fd7c04b8cda

Git commit 0e34c552e9dd3c050e3ba866b7e434e90af1d322 by Wim Taymans on 16/11/2020 at 14:19..
stream: reset counters to 0 when flushing
https://invent.kde.org/neon/backports-focal/pipewire/commit/0e34c552e9dd3c050e3ba866b7e434e90af1d322

Git commit af41e3423d3296b022d673371375fd3571745e9c by Wim Taymans on 16/11/2020 at 14:36..
pulse-server: handle recv of 0 bytes

0 bytes from recv means EOS and we can disconnect the client instead
of looping forever.
https://invent.kde.org/neon/backports-focal/pipewire/commit/af41e3423d3296b022d673371375fd3571745e9c

Git commit dcda6c259f0d90bfa8629ca3ba56ba1fa8f82b9d by Wim Taymans on 16/11/2020 at 14:42..
pulse-server: send drain only once
https://invent.kde.org/neon/backports-focal/pipewire/commit/dcda6c259f0d90bfa8629ca3ba56ba1fa8f82b9d

Git commit 55bd34c9e7d59fd311090aa6a0b09fe1fb98681e by Wim Taymans on 16/11/2020 at 14:47..
pulse-server: always ask for tlength samples after flush
https://invent.kde.org/neon/backports-focal/pipewire/commit/55bd34c9e7d59fd311090aa6a0b09fe1fb98681e

Git commit 0fada774335456c9ac43a628416020039bcccc28 by Wim Taymans on 16/11/2020 at 15:59..
pulse-server: delay flushing messages

Delay flush of messages to better match pulseaudio. We can later
also filter duplicates and redundant events.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0fada774335456c9ac43a628416020039bcccc28

Git commit 5849bd7c6092238206960619f46178babbc4488a by Wim Taymans on 16/11/2020 at 16:05..
pulse-server: try to flush immediately

When we queued new data and were not flushing already, try to flush
the data immediately.
https://invent.kde.org/neon/backports-focal/pipewire/commit/5849bd7c6092238206960619f46178babbc4488a

Git commit 1759aa834f29a5e2174a7e3b7aa2106194793743 by Frédéric Danis on 16/11/2020 at 17:15..
bluez5: Add mSBC support to sco-sink

This has been tested with a UART Bluetoth chipset, on a Raspberry Pi 3.
It doesn't seem to work with USB Bluetooth chipset/dongle.
https://invent.kde.org/neon/backports-focal/pipewire/commit/1759aa834f29a5e2174a7e3b7aa2106194793743

Git commit 7d28b51713a67874df86ab51c2f7f988a4faa2c8 by Frédéric Danis on 16/11/2020 at 17:15..
bluez5: Add mSBC support to sco-source

This has been tested with a UART Bluetoth chipset, on a Raspberry Pi 3.
It may work with USB Bluetoot chipset/dongle.
https://invent.kde.org/neon/backports-focal/pipewire/commit/7d28b51713a67874df86ab51c2f7f988a4faa2c8

Git commit 6308c5d806cdfcadfc6531129acfe24135b30fbd by Frédéric Danis on 16/11/2020 at 17:15..
bluez5: backend-hsphfpd: Add mSBC support

mSBC can be enabled by passing "bluez5.msbc-support=true" parameter to
pipewire-media-session.
mSBC is automatically selected if remote device supports it.
https://invent.kde.org/neon/backports-focal/pipewire/commit/6308c5d806cdfcadfc6531129acfe24135b30fbd

Git commit 573e2afd5e2cb5b67f69aa45e7fa621a9d34a830 by Wim Taymans on 16/11/2020 at 19:27..
bluez5: fix compilation of fallback Hsphfpd backend
https://invent.kde.org/neon/backports-focal/pipewire/commit/573e2afd5e2cb5b67f69aa45e7fa621a9d34a830

Git commit 242cddd371b49ae41192ace649ed42cf0862a62f by Wim Taymans on 17/11/2020 at 11:33..
pulse-server: add support for proplist value conversion
https://invent.kde.org/neon/backports-focal/pipewire/commit/242cddd371b49ae41192ace649ed42cf0862a62f

Git commit f818da96fc5cdf215cc6bb2c25edb885d99657fb by Wim Taymans on 17/11/2020 at 11:33..
pulse-server: use define for monitor flags
https://invent.kde.org/neon/backports-focal/pipewire/commit/f818da96fc5cdf215cc6bb2c25edb885d99657fb

Git commit 11a57c9302804e9486f2a06f043c59f4fad2212d by Wim Taymans on 17/11/2020 at 11:33..
pulse-server: add debug level to message_dump
https://invent.kde.org/neon/backports-focal/pipewire/commit/11a57c9302804e9486f2a06f043c59f4fad2212d

Git commit ff1b49eb816bedfb5694e5ca50880dbcdf7dd31a by Wim Taymans on 17/11/2020 at 11:33..
pulse-server: add skeleton extension for stream-restore

Makes the system-volume slider show up again in pavucontrol
and gnome-control-setting. Does not work yet, though.
https://invent.kde.org/neon/backports-focal/pipewire/commit/ff1b49eb816bedfb5694e5ca50880dbcdf7dd31a

Git commit 813af52072ea3a674a917f3bda41be4cf25fbe12 by Wim Taymans on 17/11/2020 at 11:59..
pulse-server: play the sample on the right sink
https://invent.kde.org/neon/backports-focal/pipewire/commit/813af52072ea3a674a917f3bda41be4cf25fbe12

Git commit 14f68565adc0a52be027daac50f51609b3f52d01 by Wim Taymans on 17/11/2020 at 12:09..
protocol-native: refactor handle client errors

So that we don't spam the log with warnings

See #385
https://invent.kde.org/neon/backports-focal/pipewire/commit/14f68565adc0a52be027daac50f51609b3f52d01

Git commit 01b473e695948c8b14360e5d4472fb3463cd2e4b by Wim Taymans on 17/11/2020 at 12:22..
protocol-native: handle peersec errors better

Only warn if something is really wrong otherwise just log with
info and don't set the property.

Fixes #385
https://invent.kde.org/neon/backports-focal/pipewire/commit/01b473e695948c8b14360e5d4472fb3463cd2e4b

Git commit cd25a1e5e744ec99475133c5520df4fa5cc0be5d by Wim Taymans on 17/11/2020 at 16:14..
pulse-server: PLAY_SAMPLE does not need a valid sink id or name
https://invent.kde.org/neon/backports-focal/pipewire/commit/cd25a1e5e744ec99475133c5520df4fa5cc0be5d

Git commit 79fb95bf9028cc7cc30f6dfed0cf031e570b7c16 by Wim Taymans on 17/11/2020 at 16:15..
stream: implement Flush

Flush out pending samples in the resampler
Set the io area status to _OK so that buffers are recycled and
new buffers produced.
https://invent.kde.org/neon/backports-focal/pipewire/commit/79fb95bf9028cc7cc30f6dfed0cf031e570b7c16

Git commit 8c0f27c016aedf14ba7d2b37efb6d0f3fd26d092 by Wim Taymans on 17/11/2020 at 16:18..
audioadapter: emit xrun when source can't produce data
https://invent.kde.org/neon/backports-focal/pipewire/commit/8c0f27c016aedf14ba7d2b37efb6d0f3fd26d092

Git commit c50b5bb072601f84c5d6634c9717d83ac484360f by Wim Taymans on 17/11/2020 at 16:39..
pulse-server: implement flush for record stream
https://invent.kde.org/neon/backports-focal/pipewire/commit/c50b5bb072601f84c5d6634c9717d83ac484360f

Git commit 7ac23c8b82b07cfda47ac9db9e7ccf086d958299 by Wim Taymans on 17/11/2020 at 20:00..
improve some docs about options

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

Git commit 89cb39badd2797e0ce2760c7f2bee303fe737223 by Wim Taymans on 17/11/2020 at 20:04..
pipewire-pulse: fix help string
https://invent.kde.org/neon/backports-focal/pipewire/commit/89cb39badd2797e0ce2760c7f2bee303fe737223

Git commit 935851a6a69d770da25e203c3df03d11cf689141 by Wim Taymans on 18/11/2020 at 14:00..
spa: add safe_reverse function
https://invent.kde.org/neon/backports-focal/pipewire/commit/935851a6a69d770da25e203c3df03d11cf689141

Git commit 4cc466ad645a1659eb4f15a7eda15ffc770e1918 by Wim Taymans on 18/11/2020 at 14:00..
pulse-server: filter out redundant subscribe messages
https://invent.kde.org/neon/backports-focal/pipewire/commit/4cc466ad645a1659eb4f15a7eda15ffc770e1918

Git commit f7162799f625edc1a94faebe9107372a471304ab by Wim Taymans on 18/11/2020 at 14:51..
message: add module-stream-restore.id property

This should contain the key used to restore the stream volumes and
setting and is used by pavucontrol and gnome-volume-control to
ignore event streams. Fixes slider in pavucontrol and maybe also
the weird volumes in gnome-shell.

See #377
https://invent.kde.org/neon/backports-focal/pipewire/commit/f7162799f625edc1a94faebe9107372a471304ab

Git commit 1908c88cfcbd7ab37509b029df3f62c8ea60f2b4 by Wim Taymans on 18/11/2020 at 16:07..
manager: notify of changed sink/source

When the Route param changes on the card, find the associated
device and mark it as modified. Fixes volume changes in gnome-shell
and pavucontrol.

See #377
See #298
https://invent.kde.org/neon/backports-focal/pipewire/commit/1908c88cfcbd7ab37509b029df3f62c8ea60f2b4

Git commit cb203e38c33b389a5bb67a6e67d235af76740945 by Wim Taymans on 18/11/2020 at 16:19..
pulse-server: make sure active_profile_name is not NULL

Fixes #390
https://invent.kde.org/neon/backports-focal/pipewire/commit/cb203e38c33b389a5bb67a6e67d235af76740945

Git commit 04aa5472d35a7de351b7570b72e4d6949048973f by Wim Taymans on 18/11/2020 at 16:42..
journal: make it possible to set level from info
https://invent.kde.org/neon/backports-focal/pipewire/commit/04aa5472d35a7de351b7570b72e4d6949048973f

Git commit 38763da20f0992e641db9e2befa636c0f925afc0 by Wim Taymans on 18/11/2020 at 16:43..
pipewire: also set journal log level
https://invent.kde.org/neon/backports-focal/pipewire/commit/38763da20f0992e641db9e2befa636c0f925afc0

Git commit 3eca7557f8d39099a76353fa2f4061ddff9b3a82 by Wim Taymans on 18/11/2020 at 19:15..
pulse-server: fix timestamp in latency query

We are supposed to place the current timeofday as the timestamp
in the reply.
https://invent.kde.org/neon/backports-focal/pipewire/commit/3eca7557f8d39099a76353fa2f4061ddff9b3a82

Git commit 908dc6b10ffac7148b4f78b91e0bbaa05721342e by Wim Taymans on 18/11/2020 at 19:21..
pulse-server: don't add queued samples

It makes things worse
https://invent.kde.org/neon/backports-focal/pipewire/commit/908dc6b10ffac7148b4f78b91e0bbaa05721342e

Git commit 74349864524b3ac5ab7862515321a7ddc0d1708b by Wim Taymans on 19/11/2020 at 10:34..
context: return -ENOENT for destroyed globals

Set the destroyed flag on globals and make sure they are not
available anymore during the signal emissions. One such instance
is where a global is destroyed, the resources are destroyed,
a waiting client is resumed, the clients asks to bind to the
global and causes an error.

See #298
https://invent.kde.org/neon/backports-focal/pipewire/commit/74349864524b3ac5ab7862515321a7ddc0d1708b

Git commit 505ae98b0f88b76263f18e47a2ca03d367b60a40 by Wim Taymans on 19/11/2020 at 10:56..
pulse-server: fix sink-input mute
https://invent.kde.org/neon/backports-focal/pipewire/commit/505ae98b0f88b76263f18e47a2ca03d367b60a40

Git commit d2c2edb7cec01849e981c7a3f2ac1162980765b0 by Wim Taymans on 19/11/2020 at 10:57..
protocol-native: rework resume of busy client

If a client becomes unbusy again, signal a resume event so that the
messages are processed in the next mainloop iteration. This gives the
current iteration time to perform cleanups if needed.

Remove the look hook and always do flushing with an IO_OUT event. Rework
some things so that we can flush right after processing input without
having to go through a loop iteration.

See #298
https://invent.kde.org/neon/backports-focal/pipewire/commit/d2c2edb7cec01849e981c7a3f2ac1162980765b0

Git commit 6a244592a04abdfe598c209bdb48415ec42104a1 by Wim Taymans on 19/11/2020 at 11:36..
main: set PIPEWIRE_INTERNAL env

So that we can detect if we running in the daemon
https://invent.kde.org/neon/backports-focal/pipewire/commit/6a244592a04abdfe598c209bdb48415ec42104a1

Git commit fb44d3428c507f2ab9ea3eb6fd28936993bc39b7 by Wim Taymans on 19/11/2020 at 11:37..
jack: block some cases

Refuse to run when we run in the daemon, we can't really do a blocking
connect to the daemon from its main thread.

Also refuse to run when we detect an old pipewire libaray. Blocks the
case where some app linked against 0.2 wants to use the replacement
libjack.so.
https://invent.kde.org/neon/backports-focal/pipewire/commit/fb44d3428c507f2ab9ea3eb6fd28936993bc39b7

Git commit 55982c75dbdc704c1369a3dc7a16063a283ba8b6 by Wim Taymans on 19/11/2020 at 12:27..
pulse-server: make sure we always have 1 profile

Synthesize an off profile and make it the active profile if
we don't have any profiles.

See #393
https://invent.kde.org/neon/backports-focal/pipewire/commit/55982c75dbdc704c1369a3dc7a16063a283ba8b6

Git commit 09d373f094f0e6797aef3d97cde2c0167dccc986 by Wim Taymans on 19/11/2020 at 15:27..
0.3.16
https://invent.kde.org/neon/backports-focal/pipewire/commit/09d373f094f0e6797aef3d97cde2c0167dccc986

Git commit 4d085816efb939be3feb8bbcc903663fd0c71f85 by Wim Taymans on 19/11/2020 at 16:45..
pulse-server: improve debug
https://invent.kde.org/neon/backports-focal/pipewire/commit/4d085816efb939be3feb8bbcc903663fd0c71f85

Git commit fc2b0b20ad4271b0c6f258451a82311b792b7a57 by Wim Taymans on 20/11/2020 at 08:40..
hook: zero hooks before adding them

Clear the hook before adding it so that we are sure the removed
callback doesn't contain garbage and cause a crash on disconnect.

Mark the removed and priv fields as private. Make sure to add the
removed callback after adding the hook.

Fixes a crash in kwin
https://invent.kde.org/neon/backports-focal/pipewire/commit/fc2b0b20ad4271b0c6f258451a82311b792b7a57

Git commit 12d831fc391bf916eeaa20faf1a42be057c30c80 by Wim Taymans on 20/11/2020 at 10:52..
pulse-server: request dbus name

Request the org.pulseaudio.Server dbus name. This makes gnome-shell
reconnect automatically.
https://invent.kde.org/neon/backports-focal/pipewire/commit/12d831fc391bf916eeaa20faf1a42be057c30c80

Git commit 387009e0d6440cb2d440727e388b8e27ab7bde2a by Wim Taymans on 20/11/2020 at 11:11..
return ENOENT for unknown resources

Fix some other errors as well, ENOSYS for invalid interface, ENOTSUP
for unimplemented methods.
https://invent.kde.org/neon/backports-focal/pipewire/commit/387009e0d6440cb2d440727e388b8e27ab7bde2a

Git commit b3aa346063f3b3845e6123a0477be02c125ce88c by Wim Taymans on 20/11/2020 at 11:29..
handle core error better

Use the PW_ID_CORE constant
Quit the mainloop when server disconnected in the tools

See #395
https://invent.kde.org/neon/backports-focal/pipewire/commit/b3aa346063f3b3845e6123a0477be02c125ce88c

Git commit 00ac94ab9b03fb5c9622d001a6a6ba6aacb327f1 by Wim Taymans on 20/11/2020 at 11:51..
fix compilation
https://invent.kde.org/neon/backports-focal/pipewire/commit/00ac94ab9b03fb5c9622d001a6a6ba6aacb327f1

Git commit dae64bd2b5aab3a3ed36c76e5ace433606caeb83 by Wim Taymans on 20/11/2020 at 13:54..
policy-node: keep track how many times we link a node

Nodes that are marked as DONT_RECONNECT are only linked once.
Fixes a problem where a clients makes a DONT_RECONNECT stream but
without a specific sink.

See #395
https://invent.kde.org/neon/backports-focal/pipewire/commit/dae64bd2b5aab3a3ed36c76e5ace433606caeb83

Git commit d5680a119fe9abc70dd72761664701a4f8c46da2 by Wim Taymans on 20/11/2020 at 13:57..
pulse-server: Fix REQUEST missing bytes

Also count the amount of underrun bytes as missing so that we request
them from the client.

Provide one fragment of minreq when we underrun instead of the full
buffer size.

Fixes #395
https://invent.kde.org/neon/backports-focal/pipewire/commit/d5680a119fe9abc70dd72761664701a4f8c46da2

Git commit d822a0b1d04236ea84ba2e811376d072b2ec3464 by Wim Taymans on 20/11/2020 at 16:47..
pw-metadata: make it possible to select metdata by name
https://invent.kde.org/neon/backports-focal/pipewire/commit/d822a0b1d04236ea84ba2e811376d072b2ec3464

Git commit 5af2efdaa62caf23d90bcf373ac36e25e2246ee3 by Wim Taymans on 20/11/2020 at 16:58..
media-session: expose metadata method

Expose a method to create an export metadata with a certain name.
https://invent.kde.org/neon/backports-focal/pipewire/commit/5af2efdaa62caf23d90bcf373ac36e25e2246ee3

Git commit b922f992936c14ad501411d0a35efcd2862b9e79 by Wim Taymans on 20/11/2020 at 17:01..
restore-stream: expose stream restore info in metadata
https://invent.kde.org/neon/backports-focal/pipewire/commit/b922f992936c14ad501411d0a35efcd2862b9e79

Git commit 7ca8491be3a730cba61ea0578b654a83bcdd552c by Wim Taymans on 22/11/2020 at 09:00..
media-session: store values as json

Save settings as jason and use a small json compatible tokenizer to
load settings instead of our own less flexible format.
Save settings with a prefix and filter out entries without prefix
Listen for changes in restore.stream metadata and update properties.
https://invent.kde.org/neon/backports-focal/pipewire/commit/7ca8491be3a730cba61ea0578b654a83bcdd552c

Git commit 77b8959df56351f3eacb073179f450b1a6d90aa1 by Wim Taymans on 23/11/2020 at 08:43..
pulse-server: clear info in destroy to avoid segfault

Fixes #400
https://invent.kde.org/neon/backports-focal/pipewire/commit/77b8959df56351f3eacb073179f450b1a6d90aa1

Git commit 1f73280c52ad3f0d0a98cb77167ed435cd1e7c4e by Wim Taymans on 23/11/2020 at 09:10..
media-session: fix parsing of booleans and null

Reorder the json file a bit
https://invent.kde.org/neon/backports-focal/pipewire/commit/1f73280c52ad3f0d0a98cb77167ed435cd1e7c4e

Git commit 4f0f5fccc94528ba7ecd1c5f9ba61fa0d9b662d0 by Wim Taymans on 23/11/2020 at 09:44..
pulse-server: keep metadata for the routes

Pass all metadata objects to the pulse-server and keep track of
some. Keep route restore info in properties.
https://invent.kde.org/neon/backports-focal/pipewire/commit/4f0f5fccc94528ba7ecd1c5f9ba61fa0d9b662d0

Git commit 2b8cc5b5875809258c9592f043ba6327b56ecf9b by Wim Taymans on 23/11/2020 at 09:46..
pulse-server: implement stream restore extension

Makes the system sounds volume settings work

See #377
https://invent.kde.org/neon/backports-focal/pipewire/commit/2b8cc5b5875809258c9592f043ba6327b56ecf9b

Git commit 8f7e5dd95046943d58beb5db15b4704bddd13d42 by Wim Taymans on 23/11/2020 at 14:28..
spa: add channelMap property param
https://invent.kde.org/neon/backports-focal/pipewire/commit/8f7e5dd95046943d58beb5db15b4704bddd13d42

Git commit af3f18b4896ad97f0f8a9625e6c76672a90a5aa9 by Wim Taymans on 23/11/2020 at 14:31..
acp: add channel layout and map channels
https://invent.kde.org/neon/backports-focal/pipewire/commit/af3f18b4896ad97f0f8a9625e6c76672a90a5aa9

Git commit abaf63dfe65a36c3f46c4fab44ef444a7ede8ee2 by Wim Taymans on 23/11/2020 at 14:31..
acp: put channelmap in properties
https://invent.kde.org/neon/backports-focal/pipewire/commit/abaf63dfe65a36c3f46c4fab44ef444a7ede8ee2

Git commit 231c3c8b8ed74a30250602f61c7631a23eaf6b9f by Wim Taymans on 23/11/2020 at 14:33..
channelmix: add channelmap in properties
https://invent.kde.org/neon/backports-focal/pipewire/commit/231c3c8b8ed74a30250602f61c7631a23eaf6b9f

Git commit 2b95afeddc87ffb948b684bc3969b7cf8bff38cb by Wim Taymans on 23/11/2020 at 14:34..
media-session: add and parse channelmap in routes and stream
https://invent.kde.org/neon/backports-focal/pipewire/commit/2b95afeddc87ffb948b684bc3969b7cf8bff38cb

Git commit f95f2780671b618f76c42199e733783036e251d2 by Wim Taymans on 23/11/2020 at 14:37..
pulse-server: use channelmap

Convert to an from pulse enum to id in the message layer so that we
can always just deal with native spa types.
Use the channelmap in stream-restore
Parse the channelmap from properties.
https://invent.kde.org/neon/backports-focal/pipewire/commit/f95f2780671b618f76c42199e733783036e251d2

Git commit 0b3318559308756110257d94d8d250d0594bbab9 by Wim Taymans on 23/11/2020 at 15:12..
pulse-server: improve parsing of format_info

Use the json parser. It's not actually implemented/used in
pulseaudio but...
https://invent.kde.org/neon/backports-focal/pipewire/commit/0b3318559308756110257d94d8d250d0594bbab9

Git commit b0e9852628a099051427ca105d44ee7fd5d59032 by Wim Taymans (on behalf of columbarius) on 23/11/2020 at 15:22..
stream: stop mapping of dmabufs
https://invent.kde.org/neon/backports-focal/pipewire/commit/b0e9852628a099051427ca105d44ee7fd5d59032

Git commit fa5b04f3e56abb277fe25bd8c363079e7a1f1a99 by Wim Taymans (on behalf of columbarius) on 23/11/2020 at 15:22..
filter: stop mapping of dmabufs
https://invent.kde.org/neon/backports-focal/pipewire/commit/fa5b04f3e56abb277fe25bd8c363079e7a1f1a99

Git commit 6224068586765337fa0adf969446d4b57b6708b6 by Wim Taymans (on behalf of Elliott Sales de Andrade) on 23/11/2020 at 15:36..
Fix some possible leaks.
https://invent.kde.org/neon/backports-focal/pipewire/commit/6224068586765337fa0adf969446d4b57b6708b6

Git commit 0a30eb632900bd279c761a39c38f290d8db53bbe by Wim Taymans (on behalf of Elliott Sales de Andrade) on 23/11/2020 at 15:36..
Fix a possible uninitialized variable.

Also, change the type to more accurately reflect its usage.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0a30eb632900bd279c761a39c38f290d8db53bbe

Git commit 86fd6a0d3e21ec3034b102ef5b930dd1b8c08a8b by Wim Taymans (on behalf of Elliott Sales de Andrade) on 23/11/2020 at 15:36..
Fix some possible-NULL pointer usage.
https://invent.kde.org/neon/backports-focal/pipewire/commit/86fd6a0d3e21ec3034b102ef5b930dd1b8c08a8b

Git commit d56e759166927a71b8466428f7760718c14a491f by Wim Taymans on 23/11/2020 at 16:11..
pulse-server: don't send NULL profile name in port info
https://invent.kde.org/neon/backports-focal/pipewire/commit/d56e759166927a71b8466428f7760718c14a491f

Git commit c5ac48c5f4f5f9d52bfc85d107733e0883e2e571 by Wim Taymans on 23/11/2020 at 18:35..
media-session: clear metadata
https://invent.kde.org/neon/backports-focal/pipewire/commit/c5ac48c5f4f5f9d52bfc85d107733e0883e2e571

Git commit 95e2ec9f72400e559c0185defb31dd3effbcc35b by Wim Taymans on 23/11/2020 at 19:17..
channelmix: always copy the target channelmap
https://invent.kde.org/neon/backports-focal/pipewire/commit/95e2ec9f72400e559c0185defb31dd3effbcc35b

Git commit b86acec625c30c69dad4f28dd1a8c2b810d3a707 by Wim Taymans on 23/11/2020 at 19:18..
media-session: ignore empty channelMap/channelVolume
https://invent.kde.org/neon/backports-focal/pipewire/commit/b86acec625c30c69dad4f28dd1a8c2b810d3a707

Git commit 648dfc02500c5fceb48f0eacff62481d11c4e096 by Haochen Tong on 23/11/2020 at 22:27..
pulse-server: end the statement with semicolon
https://invent.kde.org/neon/backports-focal/pipewire/commit/648dfc02500c5fceb48f0eacff62481d11c4e096

Git commit 2d71d02f40fe72c9736c6051ab08e46974c935f8 by Wim Taymans on 24/11/2020 at 08:10..
pulse-server: only debug packets, not data messages

See #405
https://invent.kde.org/neon/backports-focal/pipewire/commit/2d71d02f40fe72c9736c6051ab08e46974c935f8

Git commit a482e2e6e2bbe65ff0bf14b80bb864a101e4ba24 by Wim Taymans on 24/11/2020 at 08:25..
libcamera: delete the camera on error

Fixes #403
https://invent.kde.org/neon/backports-focal/pipewire/commit/a482e2e6e2bbe65ff0bf14b80bb864a101e4ba24

Git commit edbec5d4bab34b0d5810b9788add57c0267ac1ab by Wim Taymans on 24/11/2020 at 08:49..
pulse-server: fix channel map lookup
https://invent.kde.org/neon/backports-focal/pipewire/commit/edbec5d4bab34b0d5810b9788add57c0267ac1ab

Git commit 0c66b5677b805f44ba08d48d9ce48452d74481b3 by Wim Taymans on 24/11/2020 at 08:54..
pulse-server: init volume/channelmap correctly in stream-restore
https://invent.kde.org/neon/backports-focal/pipewire/commit/0c66b5677b805f44ba08d48d9ce48452d74481b3

Git commit 2cd59fdf8b3076cc0771d818ada3e4b524bd7641 by Wim Taymans on 24/11/2020 at 09:18..
pulse-server: don't send invalid format and channels
https://invent.kde.org/neon/backports-focal/pipewire/commit/2cd59fdf8b3076cc0771d818ada3e4b524bd7641

Git commit 7efd140e10a33dbf0d5c3aa32eecc7726334715e by Wim Taymans on 24/11/2020 at 10:27..
pulse-server: don't wait for links to complete
https://invent.kde.org/neon/backports-focal/pipewire/commit/7efd140e10a33dbf0d5c3aa32eecc7726334715e

Git commit cc7f91db193925ae8d9436f07d9076b51e5616cb by Wim Taymans on 24/11/2020 at 10:28..
pulse-server: actually wait for sync to complete

Wait for sync to complete before we start emiting new objects.
Add some more debug
https://invent.kde.org/neon/backports-focal/pipewire/commit/cc7f91db193925ae8d9436f07d9076b51e5616cb

Git commit d0d64de1a033e91a5a8052bd8e77fff3a644ae22 by Wim Taymans on 24/11/2020 at 10:55..
pulse-server: emit metadata immeditately

Don't wait for sync but immediately emit the added event for metadata.
This way the server can get the name and handle the metadata events
immediately.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d0d64de1a033e91a5a8052bd8e77fff3a644ae22

Git commit 6ab25c690483351befcb8b0613c20c26aa6e2cab by Wim Taymans on 24/11/2020 at 14:11..
pulse-server: fix parsing of format-info

Fixes totem playback
https://invent.kde.org/neon/backports-focal/pipewire/commit/6ab25c690483351befcb8b0613c20c26aa6e2cab

Git commit a65d4d04c3c9449c484e5b1e1a06dad2cbfa7c7c by Wim Taymans on 24/11/2020 at 14:31..
pulse-server: collect updates and apply after sync

Collect all object updates in a separate list. When we collected
all updates in sync, apply them and then signal notifications.
This ensure we have a consistent object model.
https://invent.kde.org/neon/backports-focal/pipewire/commit/a65d4d04c3c9449c484e5b1e1a06dad2cbfa7c7c

Git commit 3d6e87832d46df7405dd169065e5c7ea2ca5e0c1 by Wim Taymans on 24/11/2020 at 18:29..
pulse-server: after new event, clear changes

Remove any pending changes after we emited the new event.
https://invent.kde.org/neon/backports-focal/pipewire/commit/3d6e87832d46df7405dd169065e5c7ea2ca5e0c1

Git commit 38fcc64e1f3524b44b4d98add3ec0dfe02a4aabd by Wim Taymans on 24/11/2020 at 19:02..
pulse-server: check if route param changed

Only mark the sink/source changed when the card route param
changed. Avoids triggering sink/source updates when nothing
changed.

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

Git commit b055b9de253b468e8ad0a3b208a4c31a5efc91c1 by Wim Taymans on 25/11/2020 at 11:37..
alsa: Make sure we handle errors in close

When a device is removed, close() will error. Warn about this but
continue closing our other things including marking the device
as closed so that we don't try to close it again later.

Fixes #413
https://invent.kde.org/neon/backports-focal/pipewire/commit/b055b9de253b468e8ad0a3b208a4c31a5efc91c1

Git commit 261144c27f76bfa8c7baa02b513ad8e35bde7c64 by Wim Taymans on 25/11/2020 at 15:13..
media-session: add /etc/pipewire/media-session.d/ dir

Placing files in it will activate options in the session manager.
https://invent.kde.org/neon/backports-focal/pipewire/commit/261144c27f76bfa8c7baa02b513ad8e35bde7c64

Git commit 9bf7be79847cb3550b64fb339e5ee2623abaef98 by Wim Taymans on 25/11/2020 at 16:41..
client-node: increase some limits

See #416
https://invent.kde.org/neon/backports-focal/pipewire/commit/9bf7be79847cb3550b64fb339e5ee2623abaef98

Git commit c3138a9bacbd7308413f6ecbec1846a312105034 by Wim Taymans on 25/11/2020 at 20:05..
spa: make null-sink rate and channels configurable
https://invent.kde.org/neon/backports-focal/pipewire/commit/c3138a9bacbd7308413f6ecbec1846a312105034

Git commit 64be5bb617cb869431d304cc730f9de78d069991 by Wim Taymans on 25/11/2020 at 20:05..
pulse-server: fix debug line
https://invent.kde.org/neon/backports-focal/pipewire/commit/64be5bb617cb869431d304cc730f9de78d069991

Git commit ddfb310087f1c071d8b418dba066640b76761af1 by Wim Taymans on 26/11/2020 at 08:24..
alsa-pcm: improve recover from suspended state debug
https://invent.kde.org/neon/backports-focal/pipewire/commit/ddfb310087f1c071d8b418dba066640b76761af1

Git commit 765ce0564fa5e9f50944ace235ec8691c51ff4db by Wim Taymans on 26/11/2020 at 08:26..
pulse-server: don't crash with NULL arguments in module-load
https://invent.kde.org/neon/backports-focal/pipewire/commit/765ce0564fa5e9f50944ace235ec8691c51ff4db

Git commit 0fe77d39cefdb29753b8cbd365ecadf0515e78a2 by Wim Taymans on 26/11/2020 at 08:27..
pulse-server: fallback to name if no description is set
https://invent.kde.org/neon/backports-focal/pipewire/commit/0fe77d39cefdb29753b8cbd365ecadf0515e78a2

Git commit 1934df7307f8aea603bebadc4b432717d3706d8f by Wim Taymans on 26/11/2020 at 08:28..
pulse-server: implement OBJECT_LINGER

Use OBJECT_LINGER in module-load to make sure the module stays loaded
after the client disconnects.
Implement linger in adapter and node-factory
https://invent.kde.org/neon/backports-focal/pipewire/commit/1934df7307f8aea603bebadc4b432717d3706d8f

Git commit 6235c8c0f2bfe59651227ddcfded2a94b55052f3 by Wim Taymans on 26/11/2020 at 08:35..
pulse-server: don't set object.linger by default
https://invent.kde.org/neon/backports-focal/pipewire/commit/6235c8c0f2bfe59651227ddcfded2a94b55052f3

Git commit 3b20e0f9e73fe8894d86b385fea55ec940364ba6 by Wim Taymans on 26/11/2020 at 08:49..
pulse-server: fix lookup of module
https://invent.kde.org/neon/backports-focal/pipewire/commit/3b20e0f9e73fe8894d86b385fea55ec940364ba6

Git commit d77c563ae82066408e75683a964c7e004acdca74 by Wim Taymans on 26/11/2020 at 09:21..
null-audio-sink: return fixed values for rate/channels when set
https://invent.kde.org/neon/backports-focal/pipewire/commit/d77c563ae82066408e75683a964c7e004acdca74

Git commit 4d62899375b6d482936f75584667e339d4abbbff by Wim Taymans on 26/11/2020 at 09:42..
acp: sync versions
https://invent.kde.org/neon/backports-focal/pipewire/commit/4d62899375b6d482936f75584667e339d4abbbff

Git commit f611e3445671b54935175a90b73c8ce0675a3fe1 by Wim Taymans on 26/11/2020 at 10:16..
alsa: sync to latest acp
https://invent.kde.org/neon/backports-focal/pipewire/commit/f611e3445671b54935175a90b73c8ce0675a3fe1

Git commit ea84177a2e2224d6eb993b99401425849598ef3c by Wim Taymans on 26/11/2020 at 11:05..
pulse-server: make sure we have active_name/profile set
https://invent.kde.org/neon/backports-focal/pipewire/commit/ea84177a2e2224d6eb993b99401425849598ef3c

Git commit 119678e8d1996e4abe80f93dd65342df0bb060ed by Wim Taymans on 26/11/2020 at 11:40..
Revert "alsa: sync to latest acp"

This reverts commit f611e3445671b54935175a90b73c8ce0675a3fe1.

There is something wrong with this
https://invent.kde.org/neon/backports-focal/pipewire/commit/119678e8d1996e4abe80f93dd65342df0bb060ed

Git commit f5f5beb0ece64c7d08edb5413dde537ec5b6c3e2 by Wim Taymans on 26/11/2020 at 15:33..
0.3.17
https://invent.kde.org/neon/backports-focal/pipewire/commit/f5f5beb0ece64c7d08edb5413dde537ec5b6c3e2

Git commit a417ffcd385efeb4ab8448ed0981817c43d83234 by Wim Taymans on 27/11/2020 at 09:30..
alsa: add timerfd based playback example
https://invent.kde.org/neon/backports-focal/pipewire/commit/a417ffcd385efeb4ab8448ed0981817c43d83234

Git commit 350fa39aba7ea8d7fa0522d0b2e2ec5c7a26faeb by Wim Taymans on 27/11/2020 at 14:04..
pulse-server: try to convert name to id when selecting

Obsoletes !327
https://invent.kde.org/neon/backports-focal/pipewire/commit/350fa39aba7ea8d7fa0522d0b2e2ec5c7a26faeb

Git commit 6e0fed37b4467d06feefc3254c35546fe0b7a615 by Wim Taymans on 27/11/2020 at 14:39..
pulse-server: also handle planar formats

Also handle streams with planar formats. Just pretend that they
are interleaved, it does not really matter.
https://invent.kde.org/neon/backports-focal/pipewire/commit/6e0fed37b4467d06feefc3254c35546fe0b7a615

Git commit aa63077eea9079418b12e35b98215ae31134da85 by Wim Taymans on 27/11/2020 at 16:16..
docs: update README and INSTALL
https://invent.kde.org/neon/backports-focal/pipewire/commit/aa63077eea9079418b12e35b98215ae31134da85

Git commit 77791bd427a20eeed601e02a8a197eaccdbf9c7f by Wim Taymans on 27/11/2020 at 16:35..
doc: fix some typos
https://invent.kde.org/neon/backports-focal/pipewire/commit/77791bd427a20eeed601e02a8a197eaccdbf9c7f

Git commit 62cdec84481d74c4d54bbcf3717f09e5edaf455c by Wim Taymans on 28/11/2020 at 14:34..
spa: move json parser to utils

Add unit test
Add escape function
https://invent.kde.org/neon/backports-focal/pipewire/commit/62cdec84481d74c4d54bbcf3717f09e5edaf455c

Git commit 6e4c138238dde3dbcb22f871dd6cb884f4335592 by Wim Taymans on 28/11/2020 at 19:25..
properties: support properties from json object sting

Make pw_properties_new_string() work with a json object string.
This makes it possible to specify property strings as more complex
objects and escape characters.
https://invent.kde.org/neon/backports-focal/pipewire/commit/6e4c138238dde3dbcb22f871dd6cb884f4335592

Git commit 57a9e82f795b827e7822c2c9e5f1dd30aec6aed2 by Wim Taymans on 28/11/2020 at 19:35..
spa: 0 means there is nothing left from from spa_json_next()
https://invent.kde.org/neon/backports-focal/pipewire/commit/57a9e82f795b827e7822c2c9e5f1dd30aec6aed2

Git commit 3ba73bde48a4ff9379f5ea364efba5769db8fae5 by Wim Taymans (on behalf of Haochen Tong) on 28/11/2020 at 20:19..
meson: let meson detect supported compiler flags
https://invent.kde.org/neon/backports-focal/pipewire/commit/3ba73bde48a4ff9379f5ea364efba5769db8fae5

Git commit a1259a75be50d452c01e933a9c4b969aa7e4cde5 by Haochen Tong on 29/11/2020 at 01:32..
spa: enable fallthrough attribute on recent clang
https://invent.kde.org/neon/backports-focal/pipewire/commit/a1259a75be50d452c01e933a9c4b969aa7e4cde5

Git commit b8300c663b546872c3655b02648897c6d4e8b9eb by Wim Taymans on 29/11/2020 at 15:22..
improve some errors

Silence some -ENOENT warnings, they can happen when the object we
are introspecting is destroyed
https://invent.kde.org/neon/backports-focal/pipewire/commit/b8300c663b546872c3655b02648897c6d4e8b9eb

Git commit 068be74f733d40fb8dcd80afd7ddbdf8c74ee8de by Wim Taymans on 29/11/2020 at 15:25..
core: silence the errors

Just log a debug message, applications should decide if this is
fatal and log an error message
https://invent.kde.org/neon/backports-focal/pipewire/commit/068be74f733d40fb8dcd80afd7ddbdf8c74ee8de

Git commit 75a4cff4507725c9e07c6eda37ff9c364c31b334 by Wim Taymans on 29/11/2020 at 15:38..
improve debug
https://invent.kde.org/neon/backports-focal/pipewire/commit/75a4cff4507725c9e07c6eda37ff9c364c31b334

Git commit 3d93b2492c2b4dfcbdc8112689f45eb3a6e9da01 by Wim Taymans on 29/11/2020 at 15:51..
portal: improve error message
https://invent.kde.org/neon/backports-focal/pipewire/commit/3d93b2492c2b4dfcbdc8112689f45eb3a6e9da01

Git commit 967a5e06b0914fa748a6efa0515f714eeb26bab5 by Wim Taymans on 30/11/2020 at 12:30..
spa: fix type info

Link to objects in the parent field
Use the type, not the container for some properties. We need something
else to note the container type maybe
https://invent.kde.org/neon/backports-focal/pipewire/commit/967a5e06b0914fa748a6efa0515f714eeb26bab5

Git commit 95718792c4660d18d34af321c07cc29e6b7e0784 by Wim Taymans on 30/11/2020 at 12:31..
pw-cli: implement set_param

You can do something like this to set some params:

pw-cli set-param 46 13 '{ "index": 5,
                          "props": { "mute": false,
			             "channelMap": [ "FL", "LFE" ]
				   },
	                  "direction": "Output"
			}'
https://invent.kde.org/neon/backports-focal/pipewire/commit/95718792c4660d18d34af321c07cc29e6b7e0784

Git commit f8e501169b90d6551bf3331580fe5834e067e36f by Wim Taymans on 30/11/2020 at 14:05..
media-session: count property changes correctly
https://invent.kde.org/neon/backports-focal/pipewire/commit/f8e501169b90d6551bf3331580fe5834e067e36f

Git commit 23bcc2124096e9ba1594a0b7ce0937d1780db3db by Wim Taymans on 01/12/2020 at 08:24..
media-session: remove metadata when default node is removed
https://invent.kde.org/neon/backports-focal/pipewire/commit/23bcc2124096e9ba1594a0b7ce0937d1780db3db

Git commit 8b048279f1ac65b8c8ebe81f7b8ab528052cbd8f by Wim Taymans on 01/12/2020 at 08:37..
pulse-server: handle error during create

Use the create-tag in the error when the stream fails. This way the
client can know when something failed during create.

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

Git commit 97ec1ce20930c553411e6303c46a856c7b0373fd by Wim Taymans on 01/12/2020 at 08:39..
pw-cat: handle stream error

Exit when the stream is in error

See #430
https://invent.kde.org/neon/backports-focal/pipewire/commit/97ec1ce20930c553411e6303c46a856c7b0373fd

Git commit d098c2ba86c6f5c9293478a27220c7ae2770a98c by Wim Taymans on 01/12/2020 at 09:43..
acp: add option to disable hardware mixer

See #426
https://invent.kde.org/neon/backports-focal/pipewire/commit/d098c2ba86c6f5c9293478a27220c7ae2770a98c

Git commit 19a67a2da59979d78f291e64f018830742ca7610 by Wim Taymans on 01/12/2020 at 09:45..
media-session: add option to disable hardware volume

See #426
https://invent.kde.org/neon/backports-focal/pipewire/commit/19a67a2da59979d78f291e64f018830742ca7610

Git commit 19dc1506434fd9303a824cdc6f47bc0c58bf15d3 by Wim Taymans on 01/12/2020 at 11:03..
media-session: don't emit metadata remove in shutdown

When in shutdown we destroy all objects but don't remove all
the metadata associated with them, like route settings.
https://invent.kde.org/neon/backports-focal/pipewire/commit/19dc1506434fd9303a824cdc6f47bc0c58bf15d3

Git commit e995d3a832ff67a2d2c56d811460d98629fedf71 by Wim Taymans on 01/12/2020 at 11:05..
media-session: store config data as json objects

So that we can use the json string escaping functions for keys
and use multiline config files.
https://invent.kde.org/neon/backports-focal/pipewire/commit/e995d3a832ff67a2d2c56d811460d98629fedf71

Git commit 73e0bb255aebe723f8386baa4c43d04086ed6526 by Wim Taymans on 01/12/2020 at 11:58..
props: add container property to PROP_INFO

So we can mark a property should be inside a container.
Use this info in pw_stream to construct properties.
https://invent.kde.org/neon/backports-focal/pipewire/commit/73e0bb255aebe723f8386baa4c43d04086ed6526

Git commit 1e9b152bb5bbaa7a2e3d8f9d1561852c9fbf6854 by Wim Taymans on 01/12/2020 at 12:30..
spa: make an extra level for arrays

Make a level with type info for the array elements.
https://invent.kde.org/neon/backports-focal/pipewire/commit/1e9b152bb5bbaa7a2e3d8f9d1561852c9fbf6854

Git commit 4fb9e7eecc27f94a8b3650b97177626c1178d7d0 by Wim Taymans on 02/12/2020 at 09:31..
pulse-server: convert some more null-sink properties
https://invent.kde.org/neon/backports-focal/pipewire/commit/4fb9e7eecc27f94a8b3650b97177626c1178d7d0

Git commit f8059be3289e8002edb041f2c226a1efbed296fa by Wim Taymans on 02/12/2020 at 09:33..
adapter: small cleanup
https://invent.kde.org/neon/backports-focal/pipewire/commit/f8059be3289e8002edb041f2c226a1efbed296fa

Git commit b0a717c95e0faedc224eca4c328987c9aa7f96a6 by Wim Taymans on 02/12/2020 at 09:59..
pulse-server: use right prefix for object check
https://invent.kde.org/neon/backports-focal/pipewire/commit/b0a717c95e0faedc224eca4c328987c9aa7f96a6

Git commit d6127a474518ad7f0e1f83034e01efae51546949 by Wim Taymans on 02/12/2020 at 10:44..
handle Duplex media class

Audio/Duplex is both a source and a sink. Name the ports as input/output
and make sure we list them in the source and sink lists in pulse-server.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d6127a474518ad7f0e1f83034e01efae51546949

Git commit 4c486c7ae322fbcc903884a30da72552a1b57f07 by Wim Taymans on 02/12/2020 at 10:47..
spa: remove media.class from null-audio-sink

We can use it with othe media.class values as well
https://invent.kde.org/neon/backports-focal/pipewire/commit/4c486c7ae322fbcc903884a30da72552a1b57f07

Git commit 57886c119899df91c166a87b8c0eb220e28b33ae by Wim Taymans on 02/12/2020 at 11:59..
spa: add audio.position support in null sink
https://invent.kde.org/neon/backports-focal/pipewire/commit/57886c119899df91c166a87b8c0eb220e28b33ae

Git commit 53adabea1957d69a12e0484849d44fbbeaf75086 by Wim Taymans on 02/12/2020 at 12:00..
adapter: name Duplex port names capture/playback
https://invent.kde.org/neon/backports-focal/pipewire/commit/53adabea1957d69a12e0484849d44fbbeaf75086

Git commit e2f0ab5710f02090b8aff5555ae2ded1b3f31607 by Wim Taymans on 02/12/2020 at 14:39..
pulse-server: handle channel_map null-sink option
https://invent.kde.org/neon/backports-focal/pipewire/commit/e2f0ab5710f02090b8aff5555ae2ded1b3f31607

Git commit 3c2ab98a2a0ab48f087c375ec9ff5a69b0c64dcf by Wim Taymans on 02/12/2020 at 14:42..
Add support for virtual source

A virtual source is usually implemented with a null-sink, it looks
like a source to pulseaudio clients but just forwards what it gets
as input.

Make sure the port names make sense.

You can use the null sink now as:

pactl load-module module-null-sink sink_name=source object.linger=1
     media.class=Audio/Source/Virtual channel_map=FL,FR,RL,RR

     This creates a node with "input" and "capture" ports and looks
     like a virtual source for pulseaudio clients.

pactl load-module module-null-sink sink_name=source object.linger=1
     media.class=Audio/Sink channel_map=FL,FR,RL,RR

     This creates a node with "playback" and "monitor" ports and looks
     like a virtual sink for pulseaudio clients.

pactl load-module module-null-sink sink_name=source object.linger=1
     media.class=Audio/Duplex channel_map=FL,FR,RL,RR

     This creates a node with "playback" and "capture" ports and looks
     like a virtual source and sink for pulseaudio clients.
https://invent.kde.org/neon/backports-focal/pipewire/commit/3c2ab98a2a0ab48f087c375ec9ff5a69b0c64dcf

Git commit 3363544d0597df0c71782d7b2a1c1872368c19bc by Wim Taymans on 02/12/2020 at 16:01..
bluez5: use start_decode to skip the header
https://invent.kde.org/neon/backports-focal/pipewire/commit/3363544d0597df0c71782d7b2a1c1872368c19bc

Git commit dd8573a5c244c624ff2ae46c3f15664c0b65e448 by Wim Taymans on 03/12/2020 at 09:16..
bluez5: add ldac codec
https://invent.kde.org/neon/backports-focal/pipewire/commit/dd8573a5c244c624ff2ae46c3f15664c0b65e448

Git commit e98931023f28862fdbb33f00df56eb22ed7df91d by Wim Taymans on 03/12/2020 at 09:16..
device-factory: save factory_name for debug later

Make a copy of the factory_name, the properties it is inside are
destroyed when the device can't be created and we still need the
name for the debug message.
https://invent.kde.org/neon/backports-focal/pipewire/commit/e98931023f28862fdbb33f00df56eb22ed7df91d

Git commit 3005d3311309b38f2d0a6bd3b4a60bb98bbdae0c by Wim Taymans on 03/12/2020 at 09:24..
module-device-factory: clean up properties in all cases
https://invent.kde.org/neon/backports-focal/pipewire/commit/3005d3311309b38f2d0a6bd3b4a60bb98bbdae0c

Git commit 908e3f3d1f8b258adf7e2dc053a4b33e7a1371fe by Wim Taymans on 03/12/2020 at 10:09..
bluez5: only register available A2DP encoder/decoder
https://invent.kde.org/neon/backports-focal/pipewire/commit/908e3f3d1f8b258adf7e2dc053a4b33e7a1371fe

Git commit 67694a149138be31ec11f65b75e74e7aa9faf46f by Wim Taymans on 03/12/2020 at 10:18..
a2dp-ldac: free handle on error
https://invent.kde.org/neon/backports-focal/pipewire/commit/67694a149138be31ec11f65b75e74e7aa9faf46f

Git commit 8bf0b7b4db4b974e7db3798ef0b64e0bd633e00e by Wim Taymans on 03/12/2020 at 17:05..
a2dp: delay codec init to after acquire

Some codecs need the MTU as a parameter so wait until we acquire
with creating the codec context.

Make some method to enumerate the parameters from the transport
config and use that for the EnumFormat param.
https://invent.kde.org/neon/backports-focal/pipewire/commit/8bf0b7b4db4b974e7db3798ef0b64e0bd633e00e

Git commit 73b13e8ad59a735493b4556c75af4188f369445c by Wim Taymans on 03/12/2020 at 17:11..
a2dp: deinit codec_data in stop
https://invent.kde.org/neon/backports-focal/pipewire/commit/73b13e8ad59a735493b4556c75af4188f369445c

Git commit 9818582abe91a758a0a57ddab7f71edffd8e45a6 by Wim Taymans on 03/12/2020 at 18:03..
a2dp: fix aac codec compilation
https://invent.kde.org/neon/backports-focal/pipewire/commit/9818582abe91a758a0a57ddab7f71edffd8e45a6

Git commit af8bb55762951817eeae4659cd9ccdcd4b66d1c2 by Wim Taymans on 04/12/2020 at 08:36..
spa: fix test on 32 bit

Fixes #441
https://invent.kde.org/neon/backports-focal/pipewire/commit/af8bb55762951817eeae4659cd9ccdcd4b66d1c2

Git commit 106d597305ffbd5a9341c44b918274e8bea7db71 by Wim Taymans on 04/12/2020 at 10:34..
bluez5: add aptX and aptX HD codecs

They need the libopenaptx libraries from
https://github.com/pali/libopenaptx
https://invent.kde.org/neon/backports-focal/pipewire/commit/106d597305ffbd5a9341c44b918274e8bea7db71

Git commit a592eb60a872dab436656fb07c867cb008574073 by Wim Taymans on 04/12/2020 at 10:59..
bluez5: fix buffer filled check

Just check if the encode buffer is full. The max number of frames
has been obtained before.
https://invent.kde.org/neon/backports-focal/pipewire/commit/a592eb60a872dab436656fb07c867cb008574073

Git commit 635a378ca4cdfff30322be85c335031fab89161c by Wim Taymans on 04/12/2020 at 11:00..
bluez5: don't error on 0 decode length

It can happen for the first frame when the codec is filling up.
https://invent.kde.org/neon/backports-focal/pipewire/commit/635a378ca4cdfff30322be85c335031fab89161c

Git commit ecc975d089a16c7dd23bbd9afb71e646a690aff8 by Wim Taymans on 04/12/2020 at 11:16..
pulse-server: make sure our buffers are large enough

Allocate the buffers a bit larger so that we can handle a client that
sends a bit more data and we don't underrun.
https://invent.kde.org/neon/backports-focal/pipewire/commit/ecc975d089a16c7dd23bbd9afb71e646a690aff8

Git commit 745b7ee900fddcb65445b7965aabe3f4a7fa46ce by Wim Taymans on 04/12/2020 at 14:11..
pulse-server: tweak some parameters to get lower latency
https://invent.kde.org/neon/backports-focal/pipewire/commit/745b7ee900fddcb65445b7965aabe3f4a7fa46ce

Git commit c6663b6a18710de047d62982ea0436b562b88375 by Wim Taymans on 04/12/2020 at 14:41..
pulse-server: fix set-port

Parse the name as a string
Pass the device id and port_id in the right properties
Return an error when unknown port was specified.

Fixes #443
https://invent.kde.org/neon/backports-focal/pipewire/commit/c6663b6a18710de047d62982ea0436b562b88375

Git commit 4797018e4f49bf45247a516fe54dccbdee22d1e4 by Wim Taymans on 05/12/2020 at 07:18..
ldac: fix sample rates

Fix selection of sample rates.
Higer samplerates are not supported by the library so disable them.

See #449
https://invent.kde.org/neon/backports-focal/pipewire/commit/4797018e4f49bf45247a516fe54dccbdee22d1e4

Git commit c3c1a1184c0cb051b39c720525d13dc1cd484b1d by Wim Taymans on 05/12/2020 at 07:30..
a2dp: use unsigned for sizes
https://invent.kde.org/neon/backports-focal/pipewire/commit/c3c1a1184c0cb051b39c720525d13dc1cd484b1d

Git commit 0fba936b06c7287b84bd40cd43752dbd4de337c9 by Wim Taymans on 05/12/2020 at 12:26..
pulse-server: use defines for default sink/source
https://invent.kde.org/neon/backports-focal/pipewire/commit/0fba936b06c7287b84bd40cd43752dbd4de337c9

Git commit 8c4145291eb3a365d8be53c011c049c6b02a2612 by Wim Taymans on 05/12/2020 at 12:27..
pulse-server: name and id can't be both set in volume/mute
https://invent.kde.org/neon/backports-focal/pipewire/commit/8c4145291eb3a365d8be53c011c049c6b02a2612

Git commit cfe43cbea746aa09de979be2972350071a4921c9 by Wim Taymans on 05/12/2020 at 12:30..
pulse-server: handle NULL as default sink/source

Fixes #444
https://invent.kde.org/neon/backports-focal/pipewire/commit/cfe43cbea746aa09de979be2972350071a4921c9

Git commit 203679f27e0e64817c094618516c48d279dc861d by Wim Taymans on 05/12/2020 at 18:16..
pulse-server: support lookup of monitor names

Support setting a monitor as default source.
https://invent.kde.org/neon/backports-focal/pipewire/commit/203679f27e0e64817c094618516c48d279dc861d

Git commit 0a8a8547211dca649c5e61a1a08762c8735593e0 by Wim Taymans (on behalf of Kamil Sołtysik) on 05/12/2020 at 18:23..
Fix codec names in comments
https://invent.kde.org/neon/backports-focal/pipewire/commit/0a8a8547211dca649c5e61a1a08762c8735593e0

Git commit 7996b440368e95d3b911f59a1cfa877f69b2a6bf by Wim Taymans on 05/12/2020 at 19:16..
a2dp: fail if no ldac samplerate was found
https://invent.kde.org/neon/backports-focal/pipewire/commit/7996b440368e95d3b911f59a1cfa877f69b2a6bf

Git commit 6d494c120ff8e0216abbfce4bed864c7080d3c6e by Wim Taymans on 05/12/2020 at 19:56..
bluez5: improve debug
https://invent.kde.org/neon/backports-focal/pipewire/commit/6d494c120ff8e0216abbfce4bed864c7080d3c6e

Git commit 316a96d5018a20af8f4c04cdb927ad5707d42f1a by Wim Taymans on 06/12/2020 at 08:32..
improve debug
https://invent.kde.org/neon/backports-focal/pipewire/commit/316a96d5018a20af8f4c04cdb927ad5707d42f1a

Git commit 136fc028a5eb7d2b06ec1d36e1780fa7f96f383c by Wim Taymans on 06/12/2020 at 09:37..
prefer S24 over S16 formats

Prefer the higher quality over performance.

Fixes #457
https://invent.kde.org/neon/backports-focal/pipewire/commit/136fc028a5eb7d2b06ec1d36e1780fa7f96f383c

Git commit d2ff3412639c0c01471a1baaeaee8079295724f8 by Wim Taymans on 06/12/2020 at 12:03..
a2dp: use right struct for ldac

Fixes #449
https://invent.kde.org/neon/backports-focal/pipewire/commit/d2ff3412639c0c01471a1baaeaee8079295724f8

Git commit 6566f52a7ef09bda6a3ff684d608951851315544 by Wim Taymans on 06/12/2020 at 14:56..
a2dp-sink: don't accept more data when we need to flush

See #449
https://invent.kde.org/neon/backports-focal/pipewire/commit/6566f52a7ef09bda6a3ff684d608951851315544

Git commit 2d8a7809f14f612fc9285f816a375dc1c2b5e128 by Wim Taymans on 07/12/2020 at 13:20..
audioconvert: set port-config flags
https://invent.kde.org/neon/backports-focal/pipewire/commit/2d8a7809f14f612fc9285f816a375dc1c2b5e128

Git commit 78e7a45e6ed7d6b7ee48d52ee913fb6cc10f8501 by Wim Taymans on 07/12/2020 at 13:21..
audioconvert: remap channels

We also need to remap channels for the splitter and merger.

Remember the port-config format and its channel layout. Internally,
we use a canonical channel layout which is simply all channels sorted
by id. Remap the channels accordingly.

Fixes #445
https://invent.kde.org/neon/backports-focal/pipewire/commit/78e7a45e6ed7d6b7ee48d52ee913fb6cc10f8501

Git commit 1e89e7559bd195ec7145a3e2c616597f8cec5925 by Wim Taymans (on behalf of Andres Freund) on 07/12/2020 at 14:46..
Fix paths used in 'make run'.

In particular ACP_PATHS_DIR, ACP_PROFILES_DIR ended up pointing to the
build directory, despite only existing in the source directory.

I also adjusted PIPEWIRE_CONFIG_DIR to be explicit about referencing
the build directory, given that the other environment variables are
doing so.

Fixes: #448
https://invent.kde.org/neon/backports-focal/pipewire/commit/1e89e7559bd195ec7145a3e2c616597f8cec5925

Git commit 157d6de6076ae96d6ee2fd3d1b136fa89033b8f2 by Wim Taymans on 07/12/2020 at 19:29..
pulse-server: convert channel_map channels

channel_map contains pulseaudio channel names, convert them to
pipewire channel ids and then into pipewire channel names for the
null sink.
https://invent.kde.org/neon/backports-focal/pipewire/commit/157d6de6076ae96d6ee2fd3d1b136fa89033b8f2

Git commit 5a94bfc6cd42431dd2072bbb39b47d0a4f947ab1 by Wim Taymans on 07/12/2020 at 20:52..
pulse-server: add some more supported channel_map values
https://invent.kde.org/neon/backports-focal/pipewire/commit/5a94bfc6cd42431dd2072bbb39b47d0a4f947ab1

Git commit 5469ac19ab054d0fb71f4cdd2dd8f8b33fae8109 by Wim Taymans on 08/12/2020 at 11:20..
pulse-server: map node.description to device.description

Makes Teamspeak work

Fixes #462
https://invent.kde.org/neon/backports-focal/pipewire/commit/5469ac19ab054d0fb71f4cdd2dd8f8b33fae8109

Git commit d776a0917d7028f22fcaa8eb8364f895e0f1e887 by Wim Taymans on 09/12/2020 at 11:09..
alsa: refactor dll code
https://invent.kde.org/neon/backports-focal/pipewire/commit/d776a0917d7028f22fcaa8eb8364f895e0f1e887

Git commit ec77979890892f6687c71a33794d4cac136e042a by Wim Taymans on 09/12/2020 at 11:10..
alsa-pcm: default to max channels

When nothing else is specified, suggest the max number of channels
for a device.

See #467
https://invent.kde.org/neon/backports-focal/pipewire/commit/ec77979890892f6687c71a33794d4cac136e042a

Git commit ccfe4397869234a8d4b6aacc671f92946f056c3a by Wim Taymans on 09/12/2020 at 16:07..
Cache node, port and device params

So that we don't need to keep asking when it didn't change.

Fixes #455
https://invent.kde.org/neon/backports-focal/pipewire/commit/ccfe4397869234a8d4b6aacc671f92946f056c3a

Git commit 4e7be858e4042cba3e39c5cfbfa2cadd3ef7edca by Wim Taymans on 09/12/2020 at 16:10..
node: Add ParamBegin/End

Use these commands to mark the begin and end of a series of Param
enumerations and configuration, like when doing format negotiation. The
idea is that the device can remain open while we do this.
Use this in adapter when negotiating a format.
https://invent.kde.org/neon/backports-focal/pipewire/commit/4e7be858e4042cba3e39c5cfbfa2cadd3ef7edca

Git commit bd4663b3cc4c19b5aab282bd5735b58ff6dc2dfa by Wim Taymans on 09/12/2020 at 16:24..
v4l2: log open/close as info
https://invent.kde.org/neon/backports-focal/pipewire/commit/bd4663b3cc4c19b5aab282bd5735b58ff6dc2dfa

Git commit 8bc711ce4dfdb063507c374bf9fb71a5555af8e3 by Wim Taymans (on behalf of Frédéric Danis) on 09/12/2020 at 16:28..
bluez5: backend-ofono: Add mSBC support

oFono tries to use the best codec when setting up the audio connection, so
the codec to use is known during call to `acquire` function, after the
transport has been created.
To get the codec before creating the transport, an audio connection is
set-up and discarded during `ofono_audio_card_found()`. It should return
the best codec available, which should not change during the time the
remote is connected.

mSBC can be enabled by passing "bluez5.msbc-support=true" parameter to
pipewire-media-session.
mSBC is automatically selected if remote device supports it.
https://invent.kde.org/neon/backports-focal/pipewire/commit/8bc711ce4dfdb063507c374bf9fb71a5555af8e3

Git commit 29fe356fdfd1e925e3ae9217a3f9f1b064b342f5 by Wim Taymans on 09/12/2020 at 17:00..
a2dp: copy aptx config in configure
https://invent.kde.org/neon/backports-focal/pipewire/commit/29fe356fdfd1e925e3ae9217a3f9f1b064b342f5

Git commit 34a9b1dc1a4ac45cdd1f7cc7a02c94aa236fdcea by Wim Taymans on 09/12/2020 at 17:08..
a2dp: set channel map
https://invent.kde.org/neon/backports-focal/pipewire/commit/34a9b1dc1a4ac45cdd1f7cc7a02c94aa236fdcea

Git commit e1b8f24d17b76a92e0fab7d31a74fe224fded26e by Wim Taymans on 09/12/2020 at 19:29..
a2dp: improve LDAC

When we update the quality, get the new num_blocks.
Set the channel positions correctly.
https://invent.kde.org/neon/backports-focal/pipewire/commit/e1b8f24d17b76a92e0fab7d31a74fe224fded26e

Git commit 606d48a3e871d4135ed02d529a36db976b781fcf by Wim Taymans on 09/12/2020 at 19:32..
adapter: remove unused defines
https://invent.kde.org/neon/backports-focal/pipewire/commit/606d48a3e871d4135ed02d529a36db976b781fcf

Git commit 7d73f0b8d0416b400385c419870de5f9dd9d6110 by Wim Taymans on 09/12/2020 at 19:32..
audioconvert: use some defines for the max ports
https://invent.kde.org/neon/backports-focal/pipewire/commit/7d73f0b8d0416b400385c419870de5f9dd9d6110

Git commit 7768a87a0bf5037409ea43a436f4e8dfac8b4816 by Wim Taymans on 09/12/2020 at 19:33..
alsa: make it possible to fix format
https://invent.kde.org/neon/backports-focal/pipewire/commit/7768a87a0bf5037409ea43a436f4e8dfac8b4816

Git commit 2b507cbe7905bde306ed5d516ae16d57624d916e by Wim Taymans on 09/12/2020 at 19:48..
jack: use the node activation position after connecting

Until we get assigned to a driver, use our own activation position
to report samplerate and buffer size.
https://invent.kde.org/neon/backports-focal/pipewire/commit/2b507cbe7905bde306ed5d516ae16d57624d916e

Git commit 0237821b3873e32e835e13e9019a0d4c6384a22b by Wim Taymans on 09/12/2020 at 19:56..
a2dp: reorder codecs a little

Move higher quality codecs first.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0237821b3873e32e835e13e9019a0d4c6384a22b

Git commit 760a63d340548d5ae5dda736d7a75019351a8af1 by Wim Taymans on 09/12/2020 at 20:18..
metadata: clear item before remove

Otherwise the item is overwritten with the next entry and we should
not clear it.
https://invent.kde.org/neon/backports-focal/pipewire/commit/760a63d340548d5ae5dda736d7a75019351a8af1

Git commit 7dd69651b8fd0e6c074d42b41a1c5b7252841e22 by Haochen Tong on 10/12/2020 at 13:30..
test-audioconvert: fix test failure after 7d73f0b8
https://invent.kde.org/neon/backports-focal/pipewire/commit/7dd69651b8fd0e6c074d42b41a1c5b7252841e22

Git commit bec950440b75eb33b3e23f54de0f697305f39cf2 by Wim Taymans on 11/12/2020 at 09:10..
alsa-monitor: add wildcard to disable hardware-mixers
https://invent.kde.org/neon/backports-focal/pipewire/commit/bec950440b75eb33b3e23f54de0f697305f39cf2

Git commit 8cb1db5a612ac3b4757077985e4b519a2692f527 by Wim Taymans on 11/12/2020 at 09:10..
alsa-udev: add property to emit ACP devices
https://invent.kde.org/neon/backports-focal/pipewire/commit/8cb1db5a612ac3b4757077985e4b519a2692f527

Git commit 4ef0ef464e20c53eebe803ce514c8b434e837be4 by Wim Taymans on 11/12/2020 at 09:39..
pulse-server: warn for unsupported seek flags
https://invent.kde.org/neon/backports-focal/pipewire/commit/4ef0ef464e20c53eebe803ce514c8b434e837be4

Git commit d3db703f7701ea4ee77dce269658ab44b1d67339 by Wim Taymans on 11/12/2020 at 11:39..
pulse-server: improve some debug
https://invent.kde.org/neon/backports-focal/pipewire/commit/d3db703f7701ea4ee77dce269658ab44b1d67339

Git commit bcf6c0986e65aa545fbdc6cf510bb91be6d6f3b4 by Wim Taymans on 11/12/2020 at 11:45..
pulse-server: read in chunks of minreq from the ringbuffer

Don't read too large chunks from the ringbuffer but in minreq
increments. This is more what pulseaudio does.

Fixes #463
https://invent.kde.org/neon/backports-focal/pipewire/commit/bcf6c0986e65aa545fbdc6cf510bb91be6d6f3b4

Git commit 8b52e44836fc28fe23943f86a5f539cc105e9077 by Wim Taymans on 11/12/2020 at 12:30..
bluez5: support other ldac bit depth

Make the format_info const in codec_init, we just need to read the
final negotiated format in some cases.
Add some more ldac bit depths we support.
https://invent.kde.org/neon/backports-focal/pipewire/commit/8b52e44836fc28fe23943f86a5f539cc105e9077

Git commit 6bc8ab18dcdcd68143db6e1e6a770d773cedcdc0 by Wim Taymans on 11/12/2020 at 14:13..
bluez5: aptx wants S24 input sample format
https://invent.kde.org/neon/backports-focal/pipewire/commit/6bc8ab18dcdcd68143db6e1e6a770d773cedcdc0

Git commit d71259a02c7d010f53159058ebd8a3d7ecd0c9d4 by Wim Taymans on 11/12/2020 at 16:38..
alsa: handle batch devices

For batch devices that are not usb devices, lower the period and
add an extra period of heardoom to avoid xruns.

See !330
https://invent.kde.org/neon/backports-focal/pipewire/commit/d71259a02c7d010f53159058ebd8a3d7ecd0c9d4

Git commit 00295b64b5b9d788b064c97266539fbb07e52b87 by Wim Taymans on 11/12/2020 at 17:09..
pulse-server: don't write too small buffers

Fixes #399
https://invent.kde.org/neon/backports-focal/pipewire/commit/00295b64b5b9d788b064c97266539fbb07e52b87

Git commit 776315423969985a0a1d532901e71af29bcbf4f7 by Wim Taymans on 11/12/2020 at 18:23..
a2dp: increase temp buffer

ldac frames are larger and need more space.

See #449
https://invent.kde.org/neon/backports-focal/pipewire/commit/776315423969985a0a1d532901e71af29bcbf4f7

Git commit c1bdc58d315f513c91385856a9117e23b0530ba9 by Wim Taymans on 11/12/2020 at 19:04..
a2dp: prefer aptx_hd over aptx
https://invent.kde.org/neon/backports-focal/pipewire/commit/c1bdc58d315f513c91385856a9117e23b0530ba9

Git commit 0f528dc73c02d5aad616db933538240b8bf3192c by Wim Taymans on 14/12/2020 at 08:49..
splitter: place destination address in tmp array

We then remap the tmp array to the destination array.

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

Git commit c6f94def08708a11580b7d3276b1d51a8a54b9a3 by Wim Taymans on 14/12/2020 at 09:21..
null-sink: fix null sink scheduling

The null sink pulls in data and provides data after it got the
data in _process.

See #472 #442
https://invent.kde.org/neon/backports-focal/pipewire/commit/c6f94def08708a11580b7d3276b1d51a8a54b9a3

Git commit 990903ac8eaedac0bc18a3106f36a39da53f0a28 by Wim Taymans (on behalf of Marijn Suijten) on 14/12/2020 at 10:32..
Makefile.in: PIPEWIRE_MODULE_DIR should point to src/modules

The root of the build directory does not contain modules, these reside
in src/modules/.
https://invent.kde.org/neon/backports-focal/pipewire/commit/990903ac8eaedac0bc18a3106f36a39da53f0a28

Git commit 580bdcd5bff74de7e69c72a536bc876659ac64ba by Wim Taymans (on behalf of Marijn Suijten) on 14/12/2020 at 10:32..
Makefile.in: Point PIPEWIRE_CONFIG_DIR to source directory

Config files read from this variable - currently only media-session.d -
do not get copied to the build directory but are only ever copied during
install. In order to have media-session.d/with-pulseaudio detected when
`make run`'ing from the build directory PIPEWIRE_CONFIG_DIR must point
to the source directory containing these files.
https://invent.kde.org/neon/backports-focal/pipewire/commit/580bdcd5bff74de7e69c72a536bc876659ac64ba

Git commit 7f6339e3071e90b3716dff8fc9136c98d0b320d2 by Wim Taymans on 14/12/2020 at 12:17..
bluez5: Don't deref the transport to get the fd

Use the configured fd in the source for reading and writing because
the transport might be disconnected and cleared from the main thread
at any time.
https://invent.kde.org/neon/backports-focal/pipewire/commit/7f6339e3071e90b3716dff8fc9136c98d0b320d2

Git commit 1934b0adb9ac239466164672abe3877c203c31c6 by Wim Taymans on 14/12/2020 at 12:29..
bluez5: add codec name to node
https://invent.kde.org/neon/backports-focal/pipewire/commit/1934b0adb9ac239466164672abe3877c203c31c6

Git commit c61502f57c99121835aea201ab5ec9f639023e9b by Wim Taymans on 14/12/2020 at 14:01..
acp: rename fields

pulseaudio -> pipewire
PULSE_* -> ACP_*

Hopefully this does not interfere with pulseaudio anymore.

See #436
https://invent.kde.org/neon/backports-focal/pipewire/commit/c61502f57c99121835aea201ab5ec9f639023e9b

Git commit 88fe2c4fb47b51fd0f315a8903ecd50b9df33cc5 by Wim Taymans on 14/12/2020 at 14:22..
tools: add pw-dump tool

Dumps the complete object tree as json so that it can be processed
with tools like jq
https://invent.kde.org/neon/backports-focal/pipewire/commit/88fe2c4fb47b51fd0f315a8903ecd50b9df33cc5

Git commit dd28937ccbaf671a0021732aadd389d28af0a6b6 by Wim Taymans on 14/12/2020 at 14:42..
pw-dump: refactor change_mask code
https://invent.kde.org/neon/backports-focal/pipewire/commit/dd28937ccbaf671a0021732aadd389d28af0a6b6

Git commit 7c5cb5a281c41f2ee553de59b18f3f52820fd635 by Wim Taymans on 14/12/2020 at 15:18..
param: the position property is an array of channelpositions
https://invent.kde.org/neon/backports-focal/pipewire/commit/7c5cb5a281c41f2ee553de59b18f3f52820fd635

Git commit 3ac2bc0ad2ca63cd1d6719e3cae065ea24b77098 by Wim Taymans on 14/12/2020 at 15:18..
pod: descend in array type if possible
https://invent.kde.org/neon/backports-focal/pipewire/commit/3ac2bc0ad2ca63cd1d6719e3cae065ea24b77098

Git commit 8f85e74b5d6f58ab519907c45d17c122bf268253 by Wim Taymans on 14/12/2020 at 15:19..
pw-dump: add colors on tty
https://invent.kde.org/neon/backports-focal/pipewire/commit/8f85e74b5d6f58ab519907c45d17c122bf268253

Git commit 5e33352d5d25a5ef15eefa305aa06e43f7e74997 by Wim Taymans on 14/12/2020 at 15:46..
pw-dump: escape keys and strings

Use the json escape function to escape keys and strings.
Make most put functions accept an optional key
Use flags helper for permissions as well
https://invent.kde.org/neon/backports-focal/pipewire/commit/5e33352d5d25a5ef15eefa305aa06e43f7e74997

Git commit 69ea147a297ab6633f1ed994ee5903af1208c07b by Wim Taymans on 14/12/2020 at 15:57..
pw-dump: add optional object id
https://invent.kde.org/neon/backports-focal/pipewire/commit/69ea147a297ab6633f1ed994ee5903af1208c07b

Git commit cc31412ef32b8fc97f0d2c20c9a8e2a472bdf955 by Wim Taymans on 14/12/2020 at 16:15..
pw-dump: handle 0 size string
https://invent.kde.org/neon/backports-focal/pipewire/commit/cc31412ef32b8fc97f0d2c20c9a8e2a472bdf955

Git commit 0e910a9d03d030607616b8323e817ad4c4ee135a by Wim Taymans on 15/12/2020 at 08:47..
audioconvert: correctly remap in fmtconvert

Only remap channels on the planar buffers.

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

Git commit 5e99ff52e78a70032996dee6f51ae4b85fdb1fb6 by Wim Taymans on 15/12/2020 at 09:17..
pw-dump: handle NULL in link format
https://invent.kde.org/neon/backports-focal/pipewire/commit/5e99ff52e78a70032996dee6f51ae4b85fdb1fb6

Git commit d636cadbb8211f2806a5c268c74434a1426ed11a by Wim Taymans (on behalf of Marijn Suijten) on 15/12/2020 at 09:36..
acp: alsa-ucm: Print iterated path name instead of current path

data->path (current path for selected profile) is not set yet here
resulting in segfaults. We are not interested in printing that anyway
but instead care about the iterated `path` from data->paths.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d636cadbb8211f2806a5c268c74434a1426ed11a

Git commit 44882f5ab3998dfb83497cdf93ccfbd937c82be3 by Wim Taymans (on behalf of Marijn Suijten) on 15/12/2020 at 09:36..
acp: Probe and set up HW volume for cards detected through UCM

The codepath `pa_alsa_ucm_add_ports` -> `probe_volumes` ->
`pa_alsa_path_probe` was never called leading to no HW volume being set
up when loading a card through UCM. PulseAudio calls this from
`card_set_profile` -> `pa_alsa_{sink,source}_new`.
https://invent.kde.org/neon/backports-focal/pipewire/commit/44882f5ab3998dfb83497cdf93ccfbd937c82be3

Git commit e7dffd64ebff76e2388d6e694de96d6693a6ed7d by Wim Taymans on 15/12/2020 at 11:45..
0.3.18
https://invent.kde.org/neon/backports-focal/pipewire/commit/e7dffd64ebff76e2388d6e694de96d6693a6ed7d

Git commit 13cb51efbd59706f6637f2dc33082b9d1efafe97 by Wim Taymans on 15/12/2020 at 15:06..
spa: fix array type info

Descend into the type info of the array. Fixes names of channels
in position array.
https://invent.kde.org/neon/backports-focal/pipewire/commit/13cb51efbd59706f6637f2dc33082b9d1efafe97

Git commit 0e9ba69d3a34f40e3c85c5d93e684769a81639ab by Wim Taymans on 15/12/2020 at 17:12..
pw-dump: simplify the state handling

Fixes first \n
https://invent.kde.org/neon/backports-focal/pipewire/commit/0e9ba69d3a34f40e3c85c5d93e684769a81639ab

Git commit 3803055403c3a1fcb30e7ab380b70e3bce8dd292 by Wim Taymans on 16/12/2020 at 08:53..
audioconvert: remap channels only once

for planar formats, we should not remap twice or we undo the
remapping.

See #461
https://invent.kde.org/neon/backports-focal/pipewire/commit/3803055403c3a1fcb30e7ab380b70e3bce8dd292

Git commit 05e06f16bacdd30a4c807f51fd9dae86cab4fcea by Wim Taymans on 16/12/2020 at 11:53..
audioconvert: improve channel remap some more

See #461
https://invent.kde.org/neon/backports-focal/pipewire/commit/05e06f16bacdd30a4c807f51fd9dae86cab4fcea

Git commit 1636e083681c8196830630db995f170d89972275 by Wim Taymans on 16/12/2020 at 18:18..
alsa: first rough attempt at inotify support

Wait until the device is accessible before exposing it.
https://invent.kde.org/neon/backports-focal/pipewire/commit/1636e083681c8196830630db995f170d89972275

Git commit 30755c4a44fd4fb330ff2f4024b86e933d05b005 by Huang-Huang Bao on 16/12/2020 at 18:29..
bluez5: fix ldac stuttering

Signed-off-by: Huang-Huang Bao <eh5 at sokka.cn>
https://invent.kde.org/neon/backports-focal/pipewire/commit/30755c4a44fd4fb330ff2f4024b86e933d05b005

Git commit 9b414b0a9ea820d699138c919679bebabf0e3740 by Wim Taymans on 16/12/2020 at 18:50..
a2dp: fix a warning
https://invent.kde.org/neon/backports-focal/pipewire/commit/9b414b0a9ea820d699138c919679bebabf0e3740

Git commit 69da2ec60164677615ab3cdc1a5656a3a28f93a4 by Wim Taymans on 17/12/2020 at 08:36..
alsa: refactor some helpers to add/remove a card
https://invent.kde.org/neon/backports-focal/pipewire/commit/69da2ec60164677615ab3cdc1a5656a3a28f93a4

Git commit 22c793aa87e6378b5616bf2d5a68e84d0c2968e2 by Wim Taymans on 17/12/2020 at 09:43..
v4l2: add inotify support

Wait with inotify until we can access the device node before emiting
the new device.
Clean up alsa-udev and make it more like v4l2-udev
https://invent.kde.org/neon/backports-focal/pipewire/commit/22c793aa87e6378b5616bf2d5a68e84d0c2968e2

Git commit e8dcd7f5f913423b856d749a3ef7b8c021fa6aac by Wim Taymans on 17/12/2020 at 10:03..
acp: sync

Remove >2 channel support until upstream
Fix availability groups
https://invent.kde.org/neon/backports-focal/pipewire/commit/e8dcd7f5f913423b856d749a3ef7b8c021fa6aac

Git commit 90bdab8414a790d3155f2efaed9b8153ae80ee8c by Wim Taymans on 17/12/2020 at 10:43..
bluez5: improve param enumeration

Return -EIO when we can't enumerate the params
Don't check for end-of-params in a2dp-sink, we do that in the codec.
https://invent.kde.org/neon/backports-focal/pipewire/commit/90bdab8414a790d3155f2efaed9b8153ae80ee8c

Git commit d6530bc0cd8f8dbd416a1ef092f0b6c2f83d781b by Wim Taymans on 17/12/2020 at 11:04..
acp: sync with pulseaudio
https://invent.kde.org/neon/backports-focal/pipewire/commit/d6530bc0cd8f8dbd416a1ef092f0b6c2f83d781b

Git commit 6e6cd0d6844a738eb6d5433d655499628ca534e3 by Wim Taymans on 17/12/2020 at 11:07..
acp: add new files as well
https://invent.kde.org/neon/backports-focal/pipewire/commit/6e6cd0d6844a738eb6d5433d655499628ca534e3

Git commit d968ab56a5ff582a9228ffd7b8d73600da3fd514 by Wim Taymans on 17/12/2020 at 11:25..
a2dp: report PARAM_IO, as advertized
https://invent.kde.org/neon/backports-focal/pipewire/commit/d968ab56a5ff582a9228ffd7b8d73600da3fd514

Git commit 92f4831c9f46d17b98c907a665a96e70e4278c9c by Wim Taymans on 17/12/2020 at 11:25..
bluez5: handle NULL profile, don't run the filter on it
https://invent.kde.org/neon/backports-focal/pipewire/commit/92f4831c9f46d17b98c907a665a96e70e4278c9c

Git commit cdb6c94c8e4133aee88afd7e80bab905c01cbf5c by Wim Taymans on 17/12/2020 at 12:05..
acp: undo upstream change that breaks duplex mode
https://invent.kde.org/neon/backports-focal/pipewire/commit/cdb6c94c8e4133aee88afd7e80bab905c01cbf5c

Git commit 724d2581f0400044d137a547ffd7921d7abe52b2 by Wim Taymans on 17/12/2020 at 14:10..
pw-dump: add final \n at the end
https://invent.kde.org/neon/backports-focal/pipewire/commit/724d2581f0400044d137a547ffd7921d7abe52b2

Git commit 161c05d737eff95a53a973173d2591275bb2fb89 by Bao, Huang-Huang (on behalf of Huang-Huang Bao) on 17/12/2020 at 14:17..
a2dp: fix aptx hd codec negotiation

Signed-off-by: Huang-Huang Bao <eh5 at sokka.cn>
https://invent.kde.org/neon/backports-focal/pipewire/commit/161c05d737eff95a53a973173d2591275bb2fb89

Git commit 91b0d3bb39bdb43d667ed156bdfb798afd0098e7 by Wim Taymans on 17/12/2020 at 14:44..
Remove pipewire-libpulse

We use the original pulseaudio client library and the replacement
server pipewire-pulse.
https://invent.kde.org/neon/backports-focal/pipewire/commit/91b0d3bb39bdb43d667ed156bdfb798afd0098e7

Git commit f8c96167f9b0ff9a57bab9f9dab227d2e20c3eea by Wim Taymans on 17/12/2020 at 14:56..
impl: Only return -ENOENT when param does not exist

We checked above if the param exited and returned -ENOENT if not.
When we can't find any parameter, simply return 0.
https://invent.kde.org/neon/backports-focal/pipewire/commit/f8c96167f9b0ff9a57bab9f9dab227d2e20c3eea

Git commit b812dbcbf65632ae9b30efb6e3a4e0d31d35cc93 by Wim Taymans on 17/12/2020 at 15:11..
impl: always copy the id in param_info

Or else we will not have the right id when the flags are 0
https://invent.kde.org/neon/backports-focal/pipewire/commit/b812dbcbf65632ae9b30efb6e3a4e0d31d35cc93

Git commit 938e2b14516ec73026c61a8fd68f0aa25b608518 by Wim Taymans on 17/12/2020 at 15:13..
v4l2: profiles params are not implement yet
https://invent.kde.org/neon/backports-focal/pipewire/commit/938e2b14516ec73026c61a8fd68f0aa25b608518

Git commit e0580fedc18eb81be6b83d3128e81e8b6b6c965a by Wim Taymans on 17/12/2020 at 15:49..
pulse-server: handle seek flags and offset

Fixes #485
https://invent.kde.org/neon/backports-focal/pipewire/commit/e0580fedc18eb81be6b83d3128e81e8b6b6c965a

Git commit 1a690a0cbbf5691c299b13d1fe8518da2bb52f22 by Wim Taymans on 17/12/2020 at 18:39..
pulse-server: limit writes to ringbuffer

We can't write more to the ringbuffer than its maxsize. Some clients
send more than the negotiated maxsize and cause a crash if we don't
clamp.

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

Git commit d2a5f5c1ae5a3ab19f36463dfc9e04656de9a7f0 by Wim Taymans on 18/12/2020 at 08:50..
pulse-server: also cleanup sample when error

Remove the separate error event and merge with the done event with
error code. This then also marks the sample as done when in error
so that it gets cleaned up properly.

Fixes #486
https://invent.kde.org/neon/backports-focal/pipewire/commit/d2a5f5c1ae5a3ab19f36463dfc9e04656de9a7f0

Git commit 94ec34d138f1c9e988a8f3a520124b03d67cb930 by Wim Taymans on 18/12/2020 at 10:28..
alsa: rename seq-source -> seq-bridge
https://invent.kde.org/neon/backports-focal/pipewire/commit/94ec34d138f1c9e988a8f3a520124b03d67cb930

Git commit 2bd5dac30668b8b619e7742269b88227af598440 by Wim Taymans on 18/12/2020 at 11:04..
media-session: create seq-bridge after we have permissions

See #423
https://invent.kde.org/neon/backports-focal/pipewire/commit/2bd5dac30668b8b619e7742269b88227af598440

Git commit 5ea1fd3e7df777233642acd86a274b83efc90139 by Wim Taymans on 18/12/2020 at 12:10..
impl-link: fix dependencies for feedback links

A feedback link is scheduled as a dependency from input to output
node. Make sure we also notify the client of this dependency.

Fixes #404
https://invent.kde.org/neon/backports-focal/pipewire/commit/5ea1fd3e7df777233642acd86a274b83efc90139

Git commit 55c5e4857851517e9377bd7c1bb5c325608abff4 by Wim Taymans on 18/12/2020 at 14:32..
alsa: set offset to 0 for playback streams
https://invent.kde.org/neon/backports-focal/pipewire/commit/55c5e4857851517e9377bd7c1bb5c325608abff4

Git commit bcceff4ab079acfa2404e0ac0214e620c76a4fdd by Wim Taymans on 18/12/2020 at 14:48..
module-access: update with checks for fuse like upstream xdp
https://invent.kde.org/neon/backports-focal/pipewire/commit/bcceff4ab079acfa2404e0ac0214e620c76a4fdd

Git commit b05dcacc99c33161699fd29952b8445d93635425 by Wim Taymans on 18/12/2020 at 15:21..
alsa-acp: add channel map with soft volume
https://invent.kde.org/neon/backports-focal/pipewire/commit/b05dcacc99c33161699fd29952b8445d93635425

Git commit 67d10ad3c7c30059cd702ef4f590366184c996de by Wim Taymans on 18/12/2020 at 15:22..
alsa-acp: collect channelmap from volume update

It's not used yet but would ideally need to be used to remap the
volumes.
https://invent.kde.org/neon/backports-focal/pipewire/commit/67d10ad3c7c30059cd702ef4f590366184c996de

Git commit 9fb1b0235251c91a3790d0bb139b9905eef44e7e by Wim Taymans on 18/12/2020 at 15:28..
acp: when we have a device with no port, go to the next device

Fixes an issue where a device have no ports and then it would
stop enumerating the ports of the other devices.
https://invent.kde.org/neon/backports-focal/pipewire/commit/9fb1b0235251c91a3790d0bb139b9905eef44e7e

Git commit c3973fd9ecb255d3582cb0b191b25e8c1918ad9f by Wim Taymans on 18/12/2020 at 15:40..
pod: add a HINT_DICT flag

We can use this to mark the ROUTE_info property and hopefully improve
the debugging output later.
https://invent.kde.org/neon/backports-focal/pipewire/commit/c3973fd9ecb255d3582cb0b191b25e8c1918ad9f

Git commit a25f1a6a1d1814997be575d44182ca169f1b9987 by Wim Taymans on 18/12/2020 at 16:18..
acp: pass channelmap around

so that we can use it as a default in channelmix
https://invent.kde.org/neon/backports-focal/pipewire/commit/a25f1a6a1d1814997be575d44182ca169f1b9987

Git commit f7a7feea4e5cec4cb77c10069985f8db5e2d34c5 by Wim Taymans on 18/12/2020 at 16:19..
pipewire-pulse: use defines for our keys
https://invent.kde.org/neon/backports-focal/pipewire/commit/f7a7feea4e5cec4cb77c10069985f8db5e2d34c5

Git commit abe12cf790cdb524692d0c6681299e0585839c3f by Wim Taymans on 18/12/2020 at 16:49..
pw-dump: improve choice values

Place range and step values on a single line
https://invent.kde.org/neon/backports-focal/pipewire/commit/abe12cf790cdb524692d0c6681299e0585839c3f

Git commit 7ef15f372184ab58f27145becc5208059e36be60 by Wim Taymans on 18/12/2020 at 16:54..
pw-dump: convert unknown ids to id-<hexnum>
https://invent.kde.org/neon/backports-focal/pipewire/commit/7ef15f372184ab58f27145becc5208059e36be60

Git commit 16f5058af99ce3a4f2b1dfc7762fd6bbcf00a1d9 by Huang-Huang Bao on 19/12/2020 at 11:17..
a2dp: add ldac ABR support

Signed-off-by: Huang-Huang Bao <eh5 at sokka.cn>
https://invent.kde.org/neon/backports-focal/pipewire/commit/16f5058af99ce3a4f2b1dfc7762fd6bbcf00a1d9

Git commit 9653d748a3551cd66a29263cea29c6b707a013e7 by Huang-Huang Bao on 19/12/2020 at 12:25..
a2dp: fix a2dp encoding under sampling rate of 88200, 96000

Signed-off-by: Huang-Huang Bao <eh5 at sokka.cn>
https://invent.kde.org/neon/backports-focal/pipewire/commit/9653d748a3551cd66a29263cea29c6b707a013e7

Git commit 46217923548471e8fefa73aacf7829d6414e2dc9 by Huang-Huang Bao on 19/12/2020 at 20:53..
a2dp: add missing function `abr_process` in `a2dp_codec_aptx`

Signed-off-by: Huang-Huang Bao <eh5 at sokka.cn>
https://invent.kde.org/neon/backports-focal/pipewire/commit/46217923548471e8fefa73aacf7829d6414e2dc9

Git commit 9f766dd7082006f7c107b8a2a1d66071e1a0a14c by Walter Lozano on 20/12/2020 at 03:23..
alsa: add warning in case of partial read/write

Currently alsa_read and alsa_write assumes that all the frames committed
using snd_pcm_mmap_commit are read or written, which is probably true.
However, as it could be some corner cases add a warning to notice this
fact.

Signed-off-by: Walter Lozano <walter.lozano at collabora.com>
https://invent.kde.org/neon/backports-focal/pipewire/commit/9f766dd7082006f7c107b8a2a1d66071e1a0a14c

Git commit 34c33ccdbf9dee8bf8d6984ad1f66cfb6ed69d1a by Wim Taymans on 20/12/2020 at 11:32..
policy-node: clear target node for dont-reconnect streams

When a stream is marked don't reconnect, clear the target-node so that
it does not accidentally gets linked to a save target. This makes it
kill the monitor stream from pavucontrol after a client disconnects.
https://invent.kde.org/neon/backports-focal/pipewire/commit/34c33ccdbf9dee8bf8d6984ad1f66cfb6ed69d1a

Git commit c13183f182e89b1fee1ccefc54e277e64dbc1926 by Wim Taymans on 20/12/2020 at 11:32..
impl-link: mark feedback links with property
https://invent.kde.org/neon/backports-focal/pipewire/commit/c13183f182e89b1fee1ccefc54e277e64dbc1926

Git commit 0370d7580f2865e7e01faac98827c4d100a72dc4 by Wim Taymans on 20/12/2020 at 11:32..
impl-node: save the original requested latency
https://invent.kde.org/neon/backports-focal/pipewire/commit/0370d7580f2865e7e01faac98827c4d100a72dc4

Git commit 2d89ad85333b8869723f93180d5d6ed6c9f34bec by Wim Taymans on 20/12/2020 at 11:32..
profiler: add xrun_count and latency to profiler
https://invent.kde.org/neon/backports-focal/pipewire/commit/2d89ad85333b8869723f93180d5d6ed6c9f34bec

Git commit b3bbc62870cc06a15f3a368e48843a63cac01540 by Huang-Huang Bao on 20/12/2020 at 14:34..
a2dp: correct ldac config table

Signed-off-by: Huang-Huang Bao <eh5 at sokka.cn>
https://invent.kde.org/neon/backports-focal/pipewire/commit/b3bbc62870cc06a15f3a368e48843a63cac01540

Git commit f630dd1a3bdb982054d54737d60ad92dce272b86 by Wim Taymans on 20/12/2020 at 19:37..
node: improve debug

Add duration/rate/position in warning
https://invent.kde.org/neon/backports-focal/pipewire/commit/f630dd1a3bdb982054d54737d60ad92dce272b86

Git commit 62954e14c3e714a4a294f4c528cf6162a63d5ccf by Wim Taymans on 20/12/2020 at 19:37..
node: improve profiler

Make a new complete event and use it instead of the start event
Use the start event at the start of the cycle
Make the profiler also log incomplete graph cycles
https://invent.kde.org/neon/backports-focal/pipewire/commit/62954e14c3e714a4a294f4c528cf6162a63d5ccf

Git commit 414442765559a1643b86540a033cf355be617696 by Pauli Virtanen on 21/12/2020 at 02:16..
ofono/hsphfpd: force write_mtu=24 for mSBC codec

Kernel should provide the correct mtu/packet size to use for SCO socket
I/O, but it does not currently appear to (as of linux 5.9), see
https://lore.kernel.org/linux-bluetooth/20201210003528.3pmaxvubiwegxmhl@pali/T/

When using mSBC, instead of using the (incorrect) kernel-provided value,
hardcode mtu to 24, corresponding to ALT1 mode.  BT-UART adapters should
not require specific mtu, and it appears most BT-USB adapters only
support ALT1, see
https://lore.kernel.org/linux-bluetooth/20201210012003.133000-1-tpiepho@gmail.com/

This code needs to be revised when the issue is sorted out on the kernel
side.

Add setting bluez5.msbc-force-mtu for easier debugging in special cases.

Leave read_mtu as the detected value --- it does not seem to affect
whether BT-USB can record, but Raspberry Pi BT-UART fails to record if a
different value is used.
https://invent.kde.org/neon/backports-focal/pipewire/commit/414442765559a1643b86540a033cf355be617696

Git commit f1d9b2317cee870cacd9d9f08d85a603e7f0e40c by Pauli Virtanen on 21/12/2020 at 02:16..
sco-sink: adjust data flush timeout for msbc according to packet size

Instead of using a hardcoded value for the minimum delay between writes,
select it according to the mtu/packet size that is currently used.

This is necessary for correct playback with lower mtu values.
https://invent.kde.org/neon/backports-focal/pipewire/commit/f1d9b2317cee870cacd9d9f08d85a603e7f0e40c

Git commit 32e861fcf5bc4eb1f6d4cca79740a87587b529cf by Pauli Virtanen on 21/12/2020 at 04:14..
ofono: fix wrong name for bluez5.msbc-force-mtu
https://invent.kde.org/neon/backports-focal/pipewire/commit/32e861fcf5bc4eb1f6d4cca79740a87587b529cf

Git commit 3ad39d83a1af45a24f60277d6dc7e506fe43a8a8 by Wim Taymans (on behalf of Mauricio Collares) on 21/12/2020 at 10:18..
port a2dp-source.c changes to sco-source.c
https://invent.kde.org/neon/backports-focal/pipewire/commit/3ad39d83a1af45a24f60277d6dc7e506fe43a8a8

Git commit a30b7518f3ca1b11322f4def0a075ce3aaf1400e by Wim Taymans (on behalf of Mauricio Collares) on 21/12/2020 at 10:18..
adapt msbc decoding to a MTU of 48
https://invent.kde.org/neon/backports-focal/pipewire/commit/a30b7518f3ca1b11322f4def0a075ce3aaf1400e

Git commit 16cf174fbc0841fea511fdebc4bedda3b72842b0 by Wim Taymans on 21/12/2020 at 18:34..
audiomixer: fix array sizes
https://invent.kde.org/neon/backports-focal/pipewire/commit/16cf174fbc0841fea511fdebc4bedda3b72842b0

Git commit 3c7699980f69800bbfb1259bb2c60c83e659e771 by Wim Taymans on 21/12/2020 at 18:38..
tests: make arrays a bit larger

See #479
https://invent.kde.org/neon/backports-focal/pipewire/commit/3c7699980f69800bbfb1259bb2c60c83e659e771

Git commit 5804dd3f9b2740beaf1b2d75761fa44bc950c0c5 by Wim Taymans on 21/12/2020 at 18:48..
properties: fix leak with NULL or empty key

See #497
https://invent.kde.org/neon/backports-focal/pipewire/commit/5804dd3f9b2740beaf1b2d75761fa44bc950c0c5

Git commit 32c015d01e3520f27c66ba12f0face18ee640765 by Wim Taymans on 21/12/2020 at 18:52..
tests: free resample after usage

See #497
https://invent.kde.org/neon/backports-focal/pipewire/commit/32c015d01e3520f27c66ba12f0face18ee640765

Git commit 461e3db7418b6546ebc4f80265ff67adf784c43c by Wim Taymans on 21/12/2020 at 19:07..
tests: fix some leaks

See #497
https://invent.kde.org/neon/backports-focal/pipewire/commit/461e3db7418b6546ebc4f80265ff67adf784c43c

Git commit 08ba6097a12095725ec83b9d1b378a38d3e86b96 by Wim Taymans on 21/12/2020 at 19:46..
loop: align buffer and invoke_items to 8 bytes

To avoid unaligned access messages from sanitizer

See #497
https://invent.kde.org/neon/backports-focal/pipewire/commit/08ba6097a12095725ec83b9d1b378a38d3e86b96

Git commit 948255f80192f7110b1b084e478cda0658f3607f by Wim Taymans on 21/12/2020 at 20:08..
result: don't use undefined shift

Use a different way to generate the upper bits of the ASYNC mask
instead of undefined shift as warned by sanitizer
Add some unit test for this

See #497
https://invent.kde.org/neon/backports-focal/pipewire/commit/948255f80192f7110b1b084e478cda0658f3607f

Git commit 7f3a878dd302ee0b49770eb79db09b781938c6c0 by Léo Stefanesco on 22/12/2020 at 09:15..
Fix typos in architecture.md
https://invent.kde.org/neon/backports-focal/pipewire/commit/7f3a878dd302ee0b49770eb79db09b781938c6c0

Git commit 09265e116ef457e95c839d068928e5f5ee41482f by Wim Taymans (on behalf of Pauli Virtanen) on 22/12/2020 at 11:47..
media-session: accept multiple -p, -e, and -d command-line arguments

Combine arguments together if given multiple times, instead of using the
last one. Useful, since pipewire.conf appears to not do quotes.

Fixes !348
https://invent.kde.org/neon/backports-focal/pipewire/commit/09265e116ef457e95c839d068928e5f5ee41482f

Git commit a8937413e6917f241a42d4e3ae8a35d09688dc3a by Wim Taymans on 22/12/2020 at 12:08..
acp: add options to disable profile and port switching

See #498
https://invent.kde.org/neon/backports-focal/pipewire/commit/a8937413e6917f241a42d4e3ae8a35d09688dc3a

Git commit d7a2b569e4461eeba1624cc07698a0cea5c19d85 by Wim Taymans on 22/12/2020 at 12:12..
alsa-monitor: make no-auto-port/profile instead

auto-port and auto-profile are enabled by default so make a no-auto
version to disable.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d7a2b569e4461eeba1624cc07698a0cea5c19d85

Git commit d466cffe2360d60dcb8e0d5f867e4ed8dac9e6db by Mauricio Collares on 23/12/2020 at 01:05..
Revert "port a2dp-source.c changes to sco-source.c"

This reverts commit 3ad39d83a1af45a24f60277d6dc7e506fe43a8a8.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d466cffe2360d60dcb8e0d5f867e4ed8dac9e6db

Git commit 392fcda01f5af720a74a1a1bb2c43d07ad0f4abc by Wim Taymans (on behalf of Gabriel Ebner) on 23/12/2020 at 06:15..
a2dp: add aac encoder
https://invent.kde.org/neon/backports-focal/pipewire/commit/392fcda01f5af720a74a1a1bb2c43d07ad0f4abc

Git commit c81fe38285b9fd183c96ddc29aececb58fb8583a by Wim Taymans on 23/12/2020 at 19:07..
alsa-pcm: limit channels to MAX

We don't support more than MAX channels

See #507
https://invent.kde.org/neon/backports-focal/pipewire/commit/c81fe38285b9fd183c96ddc29aececb58fb8583a

Git commit 7bdcfb6383abbdfcd619d862bf449a8903f72933 by Wim Taymans (on behalf of Gabriel Ebner) on 23/12/2020 at 19:13..
pw-cat: report delay
https://invent.kde.org/neon/backports-focal/pipewire/commit/7bdcfb6383abbdfcd619d862bf449a8903f72933

Git commit af38edea82b288279ac030cc2490371739d33e87 by Wim Taymans (on behalf of Gabriel Ebner) on 23/12/2020 at 19:13..
a2dp: automatic delay estimation
https://invent.kde.org/neon/backports-focal/pipewire/commit/af38edea82b288279ac030cc2490371739d33e87

Git commit 8f76d80fdec29b0fa4c7b4125d50edbef4d034f7 by Jarkko Sakkinen on 24/12/2020 at 15:54..
spa: Fix a compiler warning caused by unchecked read()

Wrap read() with the CHECK() used elsewhre in the test program, in order
to render out the compiler warning represented by this transcript:

➜  pipewire (af38edea) ✔ make
ninja -C /home/jarkko/Projects/pipewire/build
ninja: Entering directory `/home/jarkko/Projects/pipewire/build'
[6/397] Compiling C object spa/plugins/alsa/test-timer.p/test-timer.c.o
../spa/plugins/alsa/test-timer.c: In function ‘main’:
../spa/plugins/alsa/test-timer.c:195:3: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  195 |   read(state.timerfd, &expirations, sizeof(expirations));
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen at iki.fi>
https://invent.kde.org/neon/backports-focal/pipewire/commit/8f76d80fdec29b0fa4c7b4125d50edbef4d034f7

Git commit a54cd1ee2b6e1f8d713411ce6d66d588febd1c78 by Jarkko Sakkinen on 24/12/2020 at 16:21..
Be explicit, where to run "meson install"

This happens if the autogen.sh compilation method is used:

➜  pipewire (master) ✔ meson install
Install data not found. Run this command in build directory root.
➜  pipewire (master) ✔

Fix this by stating in the "Installing" section the correct
location to run "meson install".

Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen at iki.fi>
https://invent.kde.org/neon/backports-focal/pipewire/commit/a54cd1ee2b6e1f8d713411ce6d66d588febd1c78

Git commit bd051e89a529ad95375220ad67c606b6e59e6451 by Wim Taymans (on behalf of Frédéric Danis) on 25/12/2020 at 14:57..
bluez5: improve debug
https://invent.kde.org/neon/backports-focal/pipewire/commit/bd051e89a529ad95375220ad67c606b6e59e6451

Git commit ae8f8b25f6ab30fe7885e4e30f9bb0daad3f1929 by Wim Taymans on 25/12/2020 at 15:33..
pw-top: add new tool

Uses ncurses to display all drivers and nodes with their latency,
error count and DSP usage.
https://invent.kde.org/neon/backports-focal/pipewire/commit/ae8f8b25f6ab30fe7885e4e30f9bb0daad3f1929

Git commit f28fb692a46a682119a9a260b9c6fadf485ef3cf by Wim Taymans on 25/12/2020 at 15:35..
pw-top: handle io
https://invent.kde.org/neon/backports-focal/pipewire/commit/f28fb692a46a682119a9a260b9c6fadf485ef3cf

Git commit 921aba9edf9c75369fceec083bb2859d46b89714 by Wim Taymans on 25/12/2020 at 18:47..
media-session: fix help

Use enabled and disabled options from the implementation so that we
can parse them in help.
https://invent.kde.org/neon/backports-focal/pipewire/commit/921aba9edf9c75369fceec083bb2859d46b89714

Git commit ad9d485d1b0f75eb78b1a5536e2e7a7ebddbf43a by Gabriel Ebner on 26/12/2020 at 09:11..
gst: set node.name and node.description based on client-name property
https://invent.kde.org/neon/backports-focal/pipewire/commit/ad9d485d1b0f75eb78b1a5536e2e7a7ebddbf43a

Git commit 509152108a7c15aa9125111c3402a87ac08390b4 by Wim Taymans (on behalf of Pauli Virtanen) on 26/12/2020 at 18:45..
sco-source: update clock position and duration at correct rate

The clock for sco-source may run at a different rate than the capture
rate. Update its position taking this into account.
https://invent.kde.org/neon/backports-focal/pipewire/commit/509152108a7c15aa9125111c3402a87ac08390b4

Git commit c84646b66f280c129f25729d45dec289fcfbff5e by Wim Taymans on 28/12/2020 at 12:27..
acp: add channel to string function

Add a function to convert the channel to a string and use that
instead of the unsafe one.

Fixes #519
https://invent.kde.org/neon/backports-focal/pipewire/commit/c84646b66f280c129f25729d45dec289fcfbff5e

Git commit 8406d36e85be581409d0373aa717ca3bf01db6bd by Wim Taymans (on behalf of Jarkko Sakkinen) on 28/12/2020 at 12:33..
autogen.sh: Remove git submodule *

Remove forgotten git submodule commands from autogen.sh.

Fixes: 59bdab94bce0 ("Drop git submodule structure")
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen at iki.fi>
https://invent.kde.org/neon/backports-focal/pipewire/commit/8406d36e85be581409d0373aa717ca3bf01db6bd

Git commit 738d9b77673a45378e77890afd97cb4fb0c6be7a by Wim Taymans (on behalf of Jarkko Sakkinen) on 28/12/2020 at 12:33..
Rewrite "Building" section in INSTALL.md

Rephrase steps in "Building" section of INSTALL.md accurately together
with examples. Bunch of steps and concepts were not clearly specified,
e.g. how and when the build options ought to be used.

Finally, explain the role of autogen.sh correctly. It's just for
jhbuild. A more precise build instructions, on the other hand, help a
developer unfamiliar with the build system.

Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen at iki.fi>
https://invent.kde.org/neon/backports-focal/pipewire/commit/738d9b77673a45378e77890afd97cb4fb0c6be7a

Git commit 8942f6b40248743e872394ea3920c2c3db396750 by Wim Taymans (on behalf of Ihor Kalnytskyi) on 28/12/2020 at 12:35..
launch: avoid autostarting pipewire-pulse systemd units for root

Long story short, this is something pulseaudio has since 2017 [1]. If
pipewire-pulse is aiming to be a drop-in replacement, the same behaviour
is probably expected.

I noticed that without this line I hit some issues with systemd socket
activation. In fact, it does not work properly at all. It probably has
something to do with the fact that pipewire-pulse is started for GDM
session and is somehow propagated down to my own user session.

[1] https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/24928d6b6fa1cde3312bcf63e4e14d7003aadc69
https://invent.kde.org/neon/backports-focal/pipewire/commit/8942f6b40248743e872394ea3920c2c3db396750

Git commit 036c10717db97be7ca79a9066a4ece24e9b52b6e by Wim Taymans (on behalf of Pauli Virtanen) on 28/12/2020 at 12:38..
bluez5: refcount transport acquire and release, let it manage fd

Backends don't necessarily allow for opening the same device multiple
times, and it shouldn't be necessary.

Since source and sink are not necessarily both running at the same time,
refcount the transport acquire/release so that it knows to close the fd
only when no source/sink is running.

Let the transport manage the fd lifecycle, also closing it once it is
not needed.

Don't return the fd from acquire(), since each transport is associated
with a single socket fd.
https://invent.kde.org/neon/backports-focal/pipewire/commit/036c10717db97be7ca79a9066a4ece24e9b52b6e

Git commit 4b076549f743b8fd6d1b0346c9b878282b88ca6a by Wim Taymans on 28/12/2020 at 13:24..
alsa: allow override of channel map
https://invent.kde.org/neon/backports-focal/pipewire/commit/4b076549f743b8fd6d1b0346c9b878282b88ca6a

Git commit 56e2d6a3da210abe88bbd4f891aec50a4168a639 by Georges Basile Stavracas Neto on 28/12/2020 at 18:58..
filter, stream: Fix error check for DMA-BUF buffers

When a buffer is of type SPA_DATA_DmaBuf, the 'data' field
will be NULL - we instead have to check if the file descriptor
is valid. The current code, however, always checks if the
data is NULL, which gives a false positive for DMA-BUF buffers,
signaling an error when there is none.

Fix that by also checking if the buffer type is MemPtr together
with the NULL check of the 'data' field.
https://invent.kde.org/neon/backports-focal/pipewire/commit/56e2d6a3da210abe88bbd4f891aec50a4168a639

Git commit 5f561334fb98bd3eb3d6e491bb315bde8e3dcb58 by Huang-Huang Bao on 29/12/2020 at 06:42..
bluez5: properly handle dbus signals

Fixes pipewire/pipewire#502.

Also move media application creating from filter callback to initialization.
Application object path and endpoint paths only need to be registered once.

Signed-off-by: Huang-Huang Bao <eh5 at sokka.cn>
https://invent.kde.org/neon/backports-focal/pipewire/commit/5f561334fb98bd3eb3d6e491bb315bde8e3dcb58

Git commit 923e82df279cf7ee39e22afc54817840c74d0d79 by Wim Taymans on 29/12/2020 at 12:15..
properties: Expose _update_string() method

Refactor an internal method and expose as _update_string() to
update an existing properties structure with a string representation.
https://invent.kde.org/neon/backports-focal/pipewire/commit/923e82df279cf7ee39e22afc54817840c74d0d79

Git commit cb8e627b1ee770824b18fc5453b3cd7922ce90d0 by Wim Taymans on 29/12/2020 at 12:30..
media-session: use new properties method to load state
https://invent.kde.org/neon/backports-focal/pipewire/commit/cb8e627b1ee770824b18fc5453b3cd7922ce90d0

Git commit 389a125488a53abe490b2801a3ad4e46f017d0b4 by Huang-Huang Bao on 29/12/2020 at 22:44..
bluez5: fix connecting device with multiple adapters
https://invent.kde.org/neon/backports-focal/pipewire/commit/389a125488a53abe490b2801a3ad4e46f017d0b4

Git commit 24c68b00677dac8accd9eb929dad2efc76520ebb by Wim Taymans on 30/12/2020 at 12:15..
media-session: add config files

Remove -e and -d options
Manage modules in media-session.conf
Add alsa-monitor.conf that can match node/device properties with
a regex and update properties on it. All previous configuration and
more cane be done with this.
https://invent.kde.org/neon/backports-focal/pipewire/commit/24c68b00677dac8accd9eb929dad2efc76520ebb

Git commit c39ba8570e0dc4401df3a1a3fbc6612c6c29fa6b by Pauli Virtanen on 30/12/2020 at 14:34..
a2dp-sink/source: don't crash if transport went away
https://invent.kde.org/neon/backports-focal/pipewire/commit/c39ba8570e0dc4401df3a1a3fbc6612c6c29fa6b

Git commit 49b17bca22f07bc58b556509c2df76b8f1fa1c6c by Wim Taymans on 31/12/2020 at 09:04..
json: relax the parser some more

Allow bare strings with all non-special other chars.
Add # to comment a line till \n
Allow = as separator for keys
Fix end of string handling.

Now:

 {
   "#": "this is a comment"
   "key": "value",
   "foo": 24
 }

and

  {
    # this is a comment
    key = value
    foo = 24
  }

Parse to the same thing with less clutter.
https://invent.kde.org/neon/backports-focal/pipewire/commit/49b17bca22f07bc58b556509c2df76b8f1fa1c6c

Git commit 85cb85d440cbf02ad5b5fba0956acea405b59115 by Wim Taymans on 31/12/2020 at 09:09..
json: improve parse_string

When doing parse_string on a non-string, copy the charaters
as they are without escaping.
https://invent.kde.org/neon/backports-focal/pipewire/commit/85cb85d440cbf02ad5b5fba0956acea405b59115

Git commit f29bc42b4de013eb4803d9993f3fe159596fd155 by Wim Taymans on 31/12/2020 at 09:11..
media-session: improve conf parsing

Just use parse_string to convert the value.
https://invent.kde.org/neon/backports-focal/pipewire/commit/f29bc42b4de013eb4803d9993f3fe159596fd155

Git commit 2fd35488c7a27b90e1be353916e52d1cb25d8db4 by Wim Taymans on 31/12/2020 at 09:12..
properties: just use the parser in all cases

We can just use the json parser to parse the old key=val
syntax as well now.
https://invent.kde.org/neon/backports-focal/pipewire/commit/2fd35488c7a27b90e1be353916e52d1cb25d8db4

Git commit 20e9ec25be10cc602b6b15e97e7b32df99989ccc by Wim Taymans on 31/12/2020 at 09:19..
media-session: use simplified syntax

Now sure about this, it looks better but it's less compatible.
https://invent.kde.org/neon/backports-focal/pipewire/commit/20e9ec25be10cc602b6b15e97e7b32df99989ccc

Git commit 85306917a21060ab3ab85bf565e488b3587c361e by Wim Taymans on 31/12/2020 at 10:46..
media-session: try to load config from state dir first

First try to load conf from the user config directory and then from
the global config dir. Allows users to copy and modify a custom
config file.
https://invent.kde.org/neon/backports-focal/pipewire/commit/85306917a21060ab3ab85bf565e488b3587c361e

Git commit 0bf1aa8f45436f1d5d7ef5ca87d956e20d92505f by Wim Taymans on 31/12/2020 at 12:06..
media-session: load properties from config
https://invent.kde.org/neon/backports-focal/pipewire/commit/0bf1aa8f45436f1d5d7ef5ca87d956e20d92505f

Git commit 1bd90dc66679dde3d84d7ebeeba3acfc202ee02d by Wim Taymans on 31/12/2020 at 15:24..
pipewire-pulse: escape the address string

It can contain special chars
https://invent.kde.org/neon/backports-focal/pipewire/commit/1bd90dc66679dde3d84d7ebeeba3acfc202ee02d

Git commit 49d11acde01c7b06dfe7b921793a03a660ba6ce0 by Wim Taymans on 31/12/2020 at 15:44..
daemon: rework config parsing

Replace config parsing for something more flexible based on json.
https://invent.kde.org/neon/backports-focal/pipewire/commit/49d11acde01c7b06dfe7b921793a03a660ba6ce0

Git commit 799bc13c858f6cfc170bf570a3f3e311c0dd5aff by Wim Taymans on 31/12/2020 at 16:07..
json: set state on final bare string

When we run out of chars and are inside a bare string, set our state
so that the next round will continue instead of looping forever.
https://invent.kde.org/neon/backports-focal/pipewire/commit/799bc13c858f6cfc170bf570a3f3e311c0dd5aff

Git commit d09cb1f05b68ac51ee79de23d6733bfc262d0e16 by Wim Taymans on 31/12/2020 at 16:16..
json: handle incomplete strings

If we run to the end of the string and the string is not closed,
assume it closed.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d09cb1f05b68ac51ee79de23d6733bfc262d0e16

Git commit d3f314cf82acaa58e577324949a6b0c54dfbc6fd by Wim Taymans on 31/12/2020 at 20:25..
media-session: remove -p option

Place properties in the config file now.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d3f314cf82acaa58e577324949a6b0c54dfbc6fd

Git commit d99ac615b2a140f8fdf8fc0aa09387dec487556e by Wim Taymans on 31/12/2020 at 20:45..
conf: remove extra object level

We can parse this without the extra object level.
Use 4 spaces per level
https://invent.kde.org/neon/backports-focal/pipewire/commit/d99ac615b2a140f8fdf8fc0aa09387dec487556e

Git commit d1b1b849355528412794892b4a3fe527e3e5cfd3 by Pauli Virtanen on 01/01/2021 at 13:36..
sco-sink: don't stop timeouts if more data is needed

The sink timeouts need to continue even if there is currently not enough
data, as otherwise playback will stop.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d1b1b849355528412794892b4a3fe527e3e5cfd3

Git commit 33be40ac2e674d8f320af033fa768977e2434ab7 by Pauli Virtanen on 01/01/2021 at 14:08..
sco-sink: fix buffer reuse

When reusing buffers, do it in the same way as the other sinks.
The previous code did not set a valid next buffer for the i/o,
possibly causing it to hang.
https://invent.kde.org/neon/backports-focal/pipewire/commit/33be40ac2e674d8f320af033fa768977e2434ab7

Git commit 4f63db49364a25f51c4a4b3afeff5201632ea7b1 by Wim Taymans (on behalf of Pauli Virtanen) on 01/01/2021 at 20:07..
sco-sink: clear port buffers when stopping

Dequeue all buffered data when stopping, so that it won't be output
later when starting next time.
https://invent.kde.org/neon/backports-focal/pipewire/commit/4f63db49364a25f51c4a4b3afeff5201632ea7b1

Git commit 7ad1ee0cec3c960f04171c3d87b70fdecb76f511 by Wim Taymans (on behalf of columbarius) on 01/01/2021 at 20:12..
examples: use dataType mask for consumers

Set the dataType mask to MemFd and MemPtr since we implemented the MemPtr API and get MemFd mapped by pipewire.
https://invent.kde.org/neon/backports-focal/pipewire/commit/7ad1ee0cec3c960f04171c3d87b70fdecb76f511

Git commit 51a7690cd1b78e690517ddf0de0d7880b4ae7d9d by Wim Taymans (on behalf of columbarius) on 01/01/2021 at 20:12..
stream: create mappable_dataTypes bitmask
https://invent.kde.org/neon/backports-focal/pipewire/commit/51a7690cd1b78e690517ddf0de0d7880b4ae7d9d

Git commit 016287f8f218234f94a3de6d8cec839f4bb81562 by Wim Taymans (on behalf of columbarius) on 01/01/2021 at 20:12..
filter: create mappable_dataTypes bitmask
https://invent.kde.org/neon/backports-focal/pipewire/commit/016287f8f218234f94a3de6d8cec839f4bb81562

Git commit 9b7aa168cb2a0094a23662185684a9ad3c29eef6 by Wim Taymans (on behalf of columbarius) on 01/01/2021 at 20:12..
stream: Add mappable dataTypes to SPA_PARAM_BUFFERS_dataType if
PW_STREAM_MAP_BUFFERS is set for inputs

This lets consumer just set SPA_DATA_MemPtr as their supported dataType
and will add all by PW_STREAM_MAP_BUFFERS supported dataTypes, which
are made available with the MemPtr API to the param
https://invent.kde.org/neon/backports-focal/pipewire/commit/9b7aa168cb2a0094a23662185684a9ad3c29eef6

Git commit f1ad7e2486d5605acca7f4c211f06a6935f23276 by Wim Taymans (on behalf of columbarius) on 01/01/2021 at 20:12..
filter: Add mappable dataTypes to SPA_PARAM_BUFFERS_dataType if PW_FILTER_PORT_MAP_BUFFERS is set for inputs

This lets consumer just set SPA_DATA_MemPtr as their supported dataType and will add all by PW_STREAM_MAP_BUFFERS supported dataTypes, which are made available with the MemPtr API to the param
https://invent.kde.org/neon/backports-focal/pipewire/commit/f1ad7e2486d5605acca7f4c211f06a6935f23276

Git commit e871b761fea7e8a8154a3b0e5b6f948a9de91b12 by Wim Taymans (on behalf of columbarius) on 01/01/2021 at 20:12..
examples: only announce SPA_DATA_MemPtr
https://invent.kde.org/neon/backports-focal/pipewire/commit/e871b761fea7e8a8154a3b0e5b6f948a9de91b12

Git commit 498b4bd08050da246deab4bcf69caafa100d1193 by Wim Taymans on 02/01/2021 at 19:00..
media-session: ensure unique device.name

See #525
https://invent.kde.org/neon/backports-focal/pipewire/commit/498b4bd08050da246deab4bcf69caafa100d1193

Git commit b4f359ed77b168c9bc4dc7591775aca0eb766641 by Wim Taymans on 02/01/2021 at 19:07..
media-session: ensure unique node names

Fixes #525
https://invent.kde.org/neon/backports-focal/pipewire/commit/b4f359ed77b168c9bc4dc7591775aca0eb766641

Git commit 0bf7b07d911938c6ef508cb2bdb0c8d832f69013 by Wim Taymans on 02/01/2021 at 19:37..
pulse-server: improve warning
https://invent.kde.org/neon/backports-focal/pipewire/commit/0bf7b07d911938c6ef508cb2bdb0c8d832f69013

Git commit 2760c151bd6d982fd49da4975a9aafa6b3103a44 by Pauli Virtanen on 02/01/2021 at 21:10..
sco-source: fix bugs in buffer handling

Buffers sent to io should be marked outstanding, also in node_process.
port->current_buffer has to be initialized together with buffer lists.
https://invent.kde.org/neon/backports-focal/pipewire/commit/2760c151bd6d982fd49da4975a9aafa6b3103a44

Git commit a5e52c07b1a9dbaaf575b5db20af32986739e35a by Wim Taymans (on behalf of Pauli Virtanen) on 03/01/2021 at 05:56..
sco-source: simplify mSBC frame parsing

Simplify mSBC buffer handling and syncing to frame headers to work
on a per-byte basis.

The previous code could terminate with buffer overrun if it encountered
multiple consecutive incomplete packets.
https://invent.kde.org/neon/backports-focal/pipewire/commit/a5e52c07b1a9dbaaf575b5db20af32986739e35a

Git commit da2fa8a5998e191f5f12bf1b340fa281bf1e3fe6 by Wim Taymans (on behalf of Pauli Virtanen) on 03/01/2021 at 05:59..
bluez5: setting this->transport = NULL should block data thread

Since the data thread accesses the spa_bt_transport, its destroy event
needs to sync with data thread to avoid races.

Also check transport is present in places that need it.
https://invent.kde.org/neon/backports-focal/pipewire/commit/da2fa8a5998e191f5f12bf1b340fa281bf1e3fe6

Git commit 134f27a201c679a3653dc2037dd2ada7556c3ea8 by Wim Taymans on 03/01/2021 at 07:52..
alsa: log warning for unhandled formats

When we can't enumerate a single supported format, log a warning with
the supported formats and access.

See #526
https://invent.kde.org/neon/backports-focal/pipewire/commit/134f27a201c679a3653dc2037dd2ada7556c3ea8

Git commit 776147c12543e66cfa4206733e5ed75c0b744ef8 by Wim Taymans on 03/01/2021 at 20:25..
jack: also find port by aliases

one can also use the aliases to connect ports, qjackctl does this.

Fixes #527
https://invent.kde.org/neon/backports-focal/pipewire/commit/776147c12543e66cfa4206733e5ed75c0b744ef8

Git commit 518365e350ffcd20b67c1db3aecc15b731d4c914 by Wim Taymans on 04/01/2021 at 16:25..
pulse-server: fix module arg parsing

Parse the module arguments according to the pulseaudio syntax,
not our own syntax (which requires "" around a , delimter). Fixes
audio.position=FL,FR argument.

See #527
https://invent.kde.org/neon/backports-focal/pipewire/commit/518365e350ffcd20b67c1db3aecc15b731d4c914

Git commit 368182d963a6cdbfdcbb2b5dd7880f3423df1bc7 by Pauli Virtanen on 04/01/2021 at 17:19..
bluez5: rework sco i/o + autodetect mtu

Move SCO polling to a single place, and abstract mtu handling.
Autodetect suitable tx packet size based on rx, instead of relying on
the kernel providing correct values.
https://invent.kde.org/neon/backports-focal/pipewire/commit/368182d963a6cdbfdcbb2b5dd7880f3423df1bc7

Git commit 073217ae63c5e312e8ddbbedd23e94a6a47af496 by Pauli Virtanen on 04/01/2021 at 17:19..
bluez5: remove mtu hardcoding

Hardcoding MTU is no longer necessary with the reworked SCO i/o, which
guesses suitable write sizes based on rx.
https://invent.kde.org/neon/backports-focal/pipewire/commit/073217ae63c5e312e8ddbbedd23e94a6a47af496

Git commit 5a22d0bfca3b59d7df5bf5b58fea2469dde99a8e by Pauli Virtanen on 04/01/2021 at 18:37..
bluez5: delay SCO transport releases in case they get reacquired

SCO socket connect may fail with ECONNABORTED if it is done too soon
after previous close. To avoid this in cases where nodes are toggled
between stopped/started rapidly, postpone release until the transport
has remained unused for a time. Since this behavior appears common to
multiple SCO backends, do it for all SCO backends.
https://invent.kde.org/neon/backports-focal/pipewire/commit/5a22d0bfca3b59d7df5bf5b58fea2469dde99a8e

Git commit 7a82be3361b7986898b8ac464afc8b3cead9a153 by Wim Taymans (on behalf of Nicolai Syvertsen) on 04/01/2021 at 19:26..
pw-top: Fallback to app name if no node name/desc exists
https://invent.kde.org/neon/backports-focal/pipewire/commit/7a82be3361b7986898b8ac464afc8b3cead9a153

Git commit b76bcdc70d010ddf55856c519c4e8cdaec26ddf9 by Pauli Virtanen on 04/01/2021 at 21:54..
pulse-server: NULL means default only if id==INVALID

The default values also only apply for sources/sinks which have
defaults.
https://invent.kde.org/neon/backports-focal/pipewire/commit/b76bcdc70d010ddf55856c519c4e8cdaec26ddf9

Git commit 307d62484cc0f908458d10eefca12180ba50e755 by Pauli Virtanen on 04/01/2021 at 22:31..
sco-source: don't crash in do_stop if transport disappeared
https://invent.kde.org/neon/backports-focal/pipewire/commit/307d62484cc0f908458d10eefca12180ba50e755

Git commit 962bf4d897b255e520e96758312cb464fe03e367 by Wim Taymans on 05/01/2021 at 09:05..
media-session: clean proxy and handle in destroy

After we called destroy on the handle and proxy we should not
try to access them anymore so we set them to NULL.

See #534
https://invent.kde.org/neon/backports-focal/pipewire/commit/962bf4d897b255e520e96758312cb464fe03e367

Git commit 62065ac2630eae78ca02a46b31a68f7c806a7cc4 by Wim Taymans on 05/01/2021 at 09:08..
acp: update to latest
https://invent.kde.org/neon/backports-focal/pipewire/commit/62065ac2630eae78ca02a46b31a68f7c806a7cc4

Git commit bad9a36a84e5a33f4cb32d2b9b86762a566d590c by Wim Taymans on 05/01/2021 at 11:33..
rtkit: set nice-level to -11 by defaukt

To mimic pulseaudio.
https://invent.kde.org/neon/backports-focal/pipewire/commit/bad9a36a84e5a33f4cb32d2b9b86762a566d590c

Git commit 87292432b7aa4b908f5c9073af48866fa770a635 by Wim Taymans on 05/01/2021 at 11:44..
alsa: add option to configure period-size

api.alsa.period-size can be set to something else than 1024 with
this config option.
https://invent.kde.org/neon/backports-focal/pipewire/commit/87292432b7aa4b908f5c9073af48866fa770a635

Git commit b2b45abe0198354ff43e5bf1bc0324b060dde97a by Wim Taymans on 05/01/2021 at 12:39..
0.3.19
https://invent.kde.org/neon/backports-focal/pipewire/commit/b2b45abe0198354ff43e5bf1bc0324b060dde97a

Git commit f30795d20725b014f36ed3f98a9ade051df42ee9 by Simon McVittie on 17/01/2021 at 10:36..
New upstream version 0.3.16
https://invent.kde.org/neon/backports-focal/pipewire/commit/f30795d20725b014f36ed3f98a9ade051df42ee9

Git commit 25b38ec1bc090051a1e44b18ea4e8ed77be35a5e by Simon McVittie on 17/01/2021 at 10:36..
Update upstream source from tag 'upstream/0.3.16'

Update to upstream version '0.3.16'
with Debian dir a2df0c5bc0fb373612fbdc421ec8cb43057c633f
https://invent.kde.org/neon/backports-focal/pipewire/commit/25b38ec1bc090051a1e44b18ea4e8ed77be35a5e

Git commit bfee2176a45798bcfda4b6824b6eda8add3b84f5 by Simon McVittie on 17/01/2021 at 10:36..
New upstream release
https://invent.kde.org/neon/backports-focal/pipewire/commit/bfee2176a45798bcfda4b6824b6eda8add3b84f5

Git commit 08791c355b82f5798fbe5108ca342b4b261f70fc by Simon McVittie on 17/01/2021 at 10:36..
New upstream version 0.3.17
https://invent.kde.org/neon/backports-focal/pipewire/commit/08791c355b82f5798fbe5108ca342b4b261f70fc

Git commit 2e8fb6ad39881c4925f966f145283df6449b0e8d by Simon McVittie on 17/01/2021 at 10:36..
Update upstream source from tag 'upstream/0.3.17'

Update to upstream version '0.3.17'
with Debian dir da1f57f340c6eb37a4b6d84fb2d0f57e2287534b
https://invent.kde.org/neon/backports-focal/pipewire/commit/2e8fb6ad39881c4925f966f145283df6449b0e8d

Git commit 7b28325bf26895ce3bb7ed5feeb37ab50d7d3a6b by Simon McVittie on 17/01/2021 at 10:36..
New upstream release
https://invent.kde.org/neon/backports-focal/pipewire/commit/7b28325bf26895ce3bb7ed5feeb37ab50d7d3a6b

Git commit 22c4b593c1f38dc79edb5a4c567196aec5864843 by Simon McVittie on 17/01/2021 at 10:36..
New upstream version 0.3.18
https://invent.kde.org/neon/backports-focal/pipewire/commit/22c4b593c1f38dc79edb5a4c567196aec5864843

Git commit a2b40f8f8f6a9125cb4326a8edfa9c72f9587272 by Simon McVittie on 17/01/2021 at 10:36..
Update upstream source from tag 'upstream/0.3.18'

Update to upstream version '0.3.18'
with Debian dir 6b72f3583e6b42ea8f3a4afdf18b95e74ed1b126
https://invent.kde.org/neon/backports-focal/pipewire/commit/a2b40f8f8f6a9125cb4326a8edfa9c72f9587272

Git commit dbbee263dc2169aa4a1f1bc45a23ee8eed1e5787 by Simon McVittie on 17/01/2021 at 10:36..
New upstream release
https://invent.kde.org/neon/backports-focal/pipewire/commit/dbbee263dc2169aa4a1f1bc45a23ee8eed1e5787

Git commit 68f5162224c22164e38fb65fc6fe5dd739e19502 by Simon McVittie on 17/01/2021 at 10:36..
New upstream version 0.3.19
https://invent.kde.org/neon/backports-focal/pipewire/commit/68f5162224c22164e38fb65fc6fe5dd739e19502

Git commit 9bebf04fca15fed3ff277b0096f90e5cd4757778 by Simon McVittie on 17/01/2021 at 10:36..
Update upstream source from tag 'upstream/0.3.19'

Update to upstream version '0.3.19'
with Debian dir d9609ac039ad7e18b6e49521a665b51b776de094
https://invent.kde.org/neon/backports-focal/pipewire/commit/9bebf04fca15fed3ff277b0096f90e5cd4757778

Git commit a57dbe49052f913549e129572c928daf1366f1db by Simon McVittie on 17/01/2021 at 10:36..
New upstream release
https://invent.kde.org/neon/backports-focal/pipewire/commit/a57dbe49052f913549e129572c928daf1366f1db

Git commit 5c8889a02cc1613c9da2ae0287f236e0fbe5d46c by Simon McVittie on 17/01/2021 at 10:38..
Update changelog
https://invent.kde.org/neon/backports-focal/pipewire/commit/5c8889a02cc1613c9da2ae0287f236e0fbe5d46c

Git commit 9304e1aaa4792aa848181a87574ad5c5ff1ffba3 by Simon McVittie on 17/01/2021 at 10:38..
Drop patch, applied upstream
https://invent.kde.org/neon/backports-focal/pipewire/commit/9304e1aaa4792aa848181a87574ad5c5ff1ffba3

Git commit b99d6f3a0ccf774453470650a6090d675205dbd3 by Simon McVittie on 17/01/2021 at 10:44..
Remove pw-pulse, no longer supported upstream
https://invent.kde.org/neon/backports-focal/pipewire/commit/b99d6f3a0ccf774453470650a6090d675205dbd3

Git commit 864205abf567392b9a6bb2e285770ec951691e87 by Simon McVittie on 17/01/2021 at 10:51..
Fix installation path for example 99-pipewire-default.conf
https://invent.kde.org/neon/backports-focal/pipewire/commit/864205abf567392b9a6bb2e285770ec951691e87

Git commit 9af681e0cd750be7bbd114f11d72b1274fc3b979 by Simon McVittie on 17/01/2021 at 10:51..
Install an example ld.so.conf.d fragment to replace libjack with Pipewire
https://invent.kde.org/neon/backports-focal/pipewire/commit/9af681e0cd750be7bbd114f11d72b1274fc3b979

Git commit 612aca04dc9e9861dff0224c43279274c3d610cb by Simon McVittie on 17/01/2021 at 10:55..
Add Build-Conflicts with non-free libfdk-aac-dev

This makes the build more predictable by not compiling a plugin that
would depend on that library.
https://invent.kde.org/neon/backports-focal/pipewire/commit/612aca04dc9e9861dff0224c43279274c3d610cb

Git commit 7a3d6cbc70bcf1e39b8a18871a97d76fecd6175c by Simon McVittie on 17/01/2021 at 11:03..
d/control: Add new dependencies for Bluetooth codecs
https://invent.kde.org/neon/backports-focal/pipewire/commit/7a3d6cbc70bcf1e39b8a18871a97d76fecd6175c

Git commit 4e66cdebfcfe19e0f278e94dd97bbdba7b7f7cbf by Simon McVittie on 17/01/2021 at 11:19..
Install systemd user units for pipewire-pulse as examples

These can be used to replace the PulseAudio daemon with Pipewire's
emulation of it, but it's too close to the bullseye freeze to be
offering this as a supported feature, particularly when there have not
been any maintainer uploads of pipewire for some time.
https://invent.kde.org/neon/backports-focal/pipewire/commit/4e66cdebfcfe19e0f278e94dd97bbdba7b7f7cbf

Git commit b4d7814cb30e777b2745642d46962b80bde2084b by Simon McVittie on 17/01/2021 at 11:20..
Build-depend on libncurses-dev for the new pw-top utility
https://invent.kde.org/neon/backports-focal/pipewire/commit/b4d7814cb30e777b2745642d46962b80bde2084b

Git commit f939c8ce0995259c421c02d2a98365ad94f62a8a by Simon McVittie on 17/01/2021 at 11:20..
d/copyright: Update
https://invent.kde.org/neon/backports-focal/pipewire/commit/f939c8ce0995259c421c02d2a98365ad94f62a8a

Git commit 2227c2996ce98f896380265d92bffc53e524acfe by Simon McVittie on 17/01/2021 at 11:21..
d/pipewire-bin.install: Install pw-dump and pw-top
https://invent.kde.org/neon/backports-focal/pipewire/commit/2227c2996ce98f896380265d92bffc53e524acfe

Git commit 0c93df73357d9cab050430834328c4a46b895f43 by Simon McVittie on 17/01/2021 at 11:35..
Install all example files into /usr/share/doc/pipewire/examples
https://invent.kde.org/neon/backports-focal/pipewire/commit/0c93df73357d9cab050430834328c4a46b895f43

Git commit dce3bb95f849f7ea338b9c57fcaea037e4c2cddb by Simon McVittie on 17/01/2021 at 11:37..
Update changelog
https://invent.kde.org/neon/backports-focal/pipewire/commit/dce3bb95f849f7ea338b9c57fcaea037e4c2cddb

Git commit 91813b16f4fc10e30c666a664eeaf414027571a4 by Simon McVittie on 17/01/2021 at 11:40..
Don't automatically start pipewire for root logins

Closes: #979791
https://invent.kde.org/neon/backports-focal/pipewire/commit/91813b16f4fc10e30c666a664eeaf414027571a4

Git commit 706541b353e09a5391a5e479441382bb3f46a136 by Simon McVittie on 17/01/2021 at 11:40..
Update changelog
https://invent.kde.org/neon/backports-focal/pipewire/commit/706541b353e09a5391a5e479441382bb3f46a136

Git commit 346b110913e280d2bde92b1c89a5b2e91b5acf7b by Simon McVittie on 17/01/2021 at 11:41..
Standards-Version: 4.5.1 (no changes required)
https://invent.kde.org/neon/backports-focal/pipewire/commit/346b110913e280d2bde92b1c89a5b2e91b5acf7b

Git commit 7e2238b9d5b9116ab4a1c95a03cc631b2785ee04 by Simon McVittie on 17/01/2021 at 11:50..
Install pipewire-pulse
https://invent.kde.org/neon/backports-focal/pipewire/commit/7e2238b9d5b9116ab4a1c95a03cc631b2785ee04

Git commit dcd3287174fe75a4cdb19ae64e88eb2d802fc6a7 by Simon McVittie on 17/01/2021 at 12:33..
Update symbols file
https://invent.kde.org/neon/backports-focal/pipewire/commit/dcd3287174fe75a4cdb19ae64e88eb2d802fc6a7

Git commit e3492d85cbbb5a9cae2d68fee14839b8a34bb57a by Simon McVittie on 17/01/2021 at 12:39..
Adjust shlibs for removal of libpulse
https://invent.kde.org/neon/backports-focal/pipewire/commit/e3492d85cbbb5a9cae2d68fee14839b8a34bb57a

Git commit e741984a5dc3757262f79dc4a02ccab71907ae60 by Simon McVittie on 17/01/2021 at 13:16..
d/copyright: Fix a path
https://invent.kde.org/neon/backports-focal/pipewire/commit/e741984a5dc3757262f79dc4a02ccab71907ae60

Git commit 49c4766efd510101c21886934138c0c97d580374 by Simon McVittie on 17/01/2021 at 13:38..
Remove unnecessary RUNPATH from bluez5 plugin
https://invent.kde.org/neon/backports-focal/pipewire/commit/49c4766efd510101c21886934138c0c97d580374

Git commit 4893f4117d8e932ea66a3d5a5849e067b9dcc7c5 by Simon McVittie on 17/01/2021 at 13:38..
Silence library-not-linked-against-libc lintian error for JACK libraries

These libraries genuinely don't directly need anything from glibc.
https://invent.kde.org/neon/backports-focal/pipewire/commit/4893f4117d8e932ea66a3d5a5849e067b9dcc7c5

Git commit 842c3f32fd94f3e4e28af74d33f941dcaf72e133 by Simon McVittie on 17/01/2021 at 13:38..
Release to unstable
https://invent.kde.org/neon/backports-focal/pipewire/commit/842c3f32fd94f3e4e28af74d33f941dcaf72e133

Git commit 3a8b7beea3d2cdcf1c0d29d23ddd81efa1a76632 by Simon McVittie on 18/01/2021 at 11:57..
Depend on openaptx with #980297 fixed, instead of working around it
https://invent.kde.org/neon/backports-focal/pipewire/commit/3a8b7beea3d2cdcf1c0d29d23ddd81efa1a76632

Git commit 60b1916acb81af560c8c0555914a36ba9068f44f by Simon McVittie on 18/01/2021 at 11:58..
Don't depend on libldac on big-endian architectures

It currently only compiles on little-endian architectures (#980372).
https://invent.kde.org/neon/backports-focal/pipewire/commit/60b1916acb81af560c8c0555914a36ba9068f44f

Git commit ba6ffab48049a88ae6662477db7a638727ce687b by Simon McVittie on 18/01/2021 at 11:59..
Release to unstable
https://invent.kde.org/neon/backports-focal/pipewire/commit/ba6ffab48049a88ae6662477db7a638727ce687b

Git commit 10c9abd38ba54e93b6f0caf8d1b3ebb0a929de26 by Harald Sitter on 29/01/2021 at 10:35..
Merge tag 'debian/0.3.19-2' into Neon/release-lts

pipewire release 0.3.19-2 for unstable (sid)

(maintainer view tag generated by dgit --quilt=unapplied)

[dgit distro=debian split --quilt=unapplied]
https://invent.kde.org/neon/backports-focal/pipewire/commit/10c9abd38ba54e93b6f0caf8d1b3ebb0a929de26


More information about the Neon-commits mailing list