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

KDE Git Services - Bulk Change null at kde.org
Fri Mar 5 10:48:34 GMT 2021


Git repository change summary for neon/backports-focal/pipewire
Pushed by sitter into branch 'Neon/release-lts'.
Changed from d15cd37f9cd75ab911b89d5eae74bb05d1378393 to 8983b5298cfcafd540e28e3f24bc4439b33a9df5
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 a39bfa4995f4e7febd7ba94f6958bdd58cf27359 by Wim Taymans (on behalf of Arnaud Ferraris) on 05/01/2021 at 14:34..
acp: make sure each port's priority is updated when switching profiles

UCM profiles can use the same ports, but with different priorities. One 
good example is a phone, having an earpiece and a speaker:
- the default profile will put a higher priority on the speaker
- the "voice call" profile will put a higher priority on the earpiece

When switching to the "voice call" profile, we want pipewire to take 
into account the priority change, so that the earpiece gets the highest 
priority and is selected by default.

As the ports have the same name in both profiles, we have a single 
instance of each port in memory, and therefore need to trigger a port 
update when the profile is changed, so that the priority set by the new 
profile is used.

Moreover, the UCM code updates only the priority inside the 
`pa_device_port` structure, so this commit also makes sure we reflect 
this value into the `acp_port` structure when enabling a device.
https://invent.kde.org/neon/backports-focal/pipewire/commit/a39bfa4995f4e7febd7ba94f6958bdd58cf27359

Git commit 0d6ba3a03276d6ff34186bc1aefc12ffff5b4e18 by Wim Taymans (on behalf of Arnaud Ferraris) on 05/01/2021 at 14:34..
alsa-acp-device: make sure EnumRoute is updated on profile change

When using UCM profiles, ports can have different priorities between 
profiles, meaning EnumRoute should be updated too.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0d6ba3a03276d6ff34186bc1aefc12ffff5b4e18

Git commit c430b1de581eb270e0ad25cdaa60e4f7d89cbf59 by Wim Taymans on 05/01/2021 at 14:38..
jack: move monitor ports after playback ports

Enumerate monitor ports after their playback ports, like how
jack does this.

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

Git commit 18b5199d44a12adb091b965bf65997a067f5626c by Wim Taymans on 05/01/2021 at 16:48..
alsa: add read/write access mode

Add support for read/write access mode when mmap is not available.

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

Git commit a81158f3d59770f34c54a9795430d65842ff08fb by Pauli Virtanen on 06/01/2021 at 15:36..
bluez5: after registering a2dp profiles, connect them to connected devices

After registering a2dp profiles on startup, call
org.bluez.Device1.ConnectProfile on already connected devices, if
applicable.
https://invent.kde.org/neon/backports-focal/pipewire/commit/a81158f3d59770f34c54a9795430d65842ff08fb

Git commit 4e1cbef68701ea914a74e6e3fea607fc9e351841 by Wim Taymans (on behalf of JP Guillemin) on 07/01/2021 at 08:39..
Update of a2dp-codec-sbc.c to achieve SBC XQ quality in dual channel, with fall back to standard Joint Stereo mode
https://invent.kde.org/neon/backports-focal/pipewire/commit/4e1cbef68701ea914a74e6e3fea607fc9e351841

Git commit b17db2cebc1a5ab2c01851d29c05f79cd2f262bb by Wim Taymans (on behalf of JP Guillemin) on 07/01/2021 at 08:54..
bluez5: add SBC XQ readme
https://invent.kde.org/neon/backports-focal/pipewire/commit/b17db2cebc1a5ab2c01851d29c05f79cd2f262bb

Git commit e61f571e2209fcbd154eb9110431cf04561491cc by Wim Taymans on 07/01/2021 at 13:58..
Revert "Update of a2dp-codec-sbc.c to achieve SBC XQ quality in dual channel, with fall back to standard Joint Stereo mode"

This reverts commit 4e1cbef68701ea914a74e6e3fea607fc9e351841.

This needs some more work
https://invent.kde.org/neon/backports-focal/pipewire/commit/e61f571e2209fcbd154eb9110431cf04561491cc

Git commit 1ca3998b41b13effbe5696651d6c8f8c11b63b13 by Wim Taymans on 07/01/2021 at 16:27..
alsa: remove unused field
https://invent.kde.org/neon/backports-focal/pipewire/commit/1ca3998b41b13effbe5696651d6c8f8c11b63b13

Git commit ece8a95c296d4d3dfee658e71e3722a9d83dda23 by Wim Taymans on 07/01/2021 at 16:28..
bluez5: improve a2dp codec api

Pass dict to select_config to influence the selection
Make a method to validate a config.
Add spa_dict to the codec to pass more info around.
https://invent.kde.org/neon/backports-focal/pipewire/commit/ece8a95c296d4d3dfee658e71e3722a9d83dda23

Git commit deb3fa1d9bac4444851fb51f4d19ad1711871e17 by Wim Taymans on 07/01/2021 at 16:30..
media-session: handle device events

The object config event should set props on the object.
https://invent.kde.org/neon/backports-focal/pipewire/commit/deb3fa1d9bac4444851fb51f4d19ad1711871e17

Git commit 5bb7a0f573cd8ba891820c2df2bf80a3eccdfd04 by Wim Taymans on 07/01/2021 at 16:39..
a2dp-codecs: add settings to codec init function

To make it possible to add extra config options in init.
Also add a method to update settings in a codec.
https://invent.kde.org/neon/backports-focal/pipewire/commit/5bb7a0f573cd8ba891820c2df2bf80a3eccdfd04

Git commit e91fbd272107d12ecb2b0215f35064830769051a by Wim Taymans on 07/01/2021 at 17:10..
bluez5: Implement routes

Implement routes on the device. This makes it possible for the
session manager to restore the device volumes.
Use validate_config to get the negotiated channels for the route
volumes.
https://invent.kde.org/neon/backports-focal/pipewire/commit/e91fbd272107d12ecb2b0215f35064830769051a

Git commit a47e3584d38a06d668c865f65bfb80fd7ed570a9 by Wim Taymans (on behalf of Fran Diéguez) on 08/01/2021 at 08:43..
Add Galician translations
https://invent.kde.org/neon/backports-focal/pipewire/commit/a47e3584d38a06d668c865f65bfb80fd7ed570a9

Git commit 3c2794dcc941ef1d476afc0ea6e5ca5b7a896e8d by Wim Taymans on 08/01/2021 at 09:26..
add i18n support
https://invent.kde.org/neon/backports-focal/pipewire/commit/3c2794dcc941ef1d476afc0ea6e5ca5b7a896e8d

Git commit ef6bb2195a298f67f8b282fe27465f7f5aa1da9a by Wim Taymans on 08/01/2021 at 09:51..
pw-dump: dump all objects

Dump all objects, not only the ones for which we have a class.
https://invent.kde.org/neon/backports-focal/pipewire/commit/ef6bb2195a298f67f8b282fe27465f7f5aa1da9a

Git commit e9c7a3bb4acac68f6e0036bc344489c6af5aec66 by Wim Taymans on 08/01/2021 at 09:59..
po: add missing file
https://invent.kde.org/neon/backports-focal/pipewire/commit/e9c7a3bb4acac68f6e0036bc344489c6af5aec66

Git commit 1084306f4d1192fdf7f0f45c743cc3258c3756ed by Wim Taymans on 08/01/2021 at 10:04..
disable i18n stuff, something doesn't work on bots
https://invent.kde.org/neon/backports-focal/pipewire/commit/1084306f4d1192fdf7f0f45c743cc3258c3756ed

Git commit 4340f84776e2f615ce493300a6221f9f7f2264ae by Rafael Kraut on 08/01/2021 at 10:11..
fix: update some typos in README.md
https://invent.kde.org/neon/backports-focal/pipewire/commit/4340f84776e2f615ce493300a6221f9f7f2264ae

Git commit 9a03f8769e7d9c87467545d4ddc5d5daad522f01 by Wim Taymans on 08/01/2021 at 11:23..
pw-cli: handle unquoted strings

Use parse_string for everything else to use it as a string value.
Make it possible to use short name for the param.

so now you can do:

pw-cli set-param 55 Props '{ channelVolumes: [ 0.3, 0.3 ], channelMap: [ FR,FL ] }'
https://invent.kde.org/neon/backports-focal/pipewire/commit/9a03f8769e7d9c87467545d4ddc5d5daad522f01

Git commit 860389492bef82d39d009cbdc2fe0d1bc4ff1242 by Wim Taymans on 08/01/2021 at 11:54..
a2dp: fix size check
https://invent.kde.org/neon/backports-focal/pipewire/commit/860389492bef82d39d009cbdc2fe0d1bc4ff1242

Git commit 4440ede41cf8c21a6d11af751c2191765de6ecbf by Wim Taymans on 08/01/2021 at 12:00..
bluez5: add SBC XQ support with a config option
https://invent.kde.org/neon/backports-focal/pipewire/commit/4440ede41cf8c21a6d11af751c2191765de6ecbf

Git commit 7e9ab8b45724a8bf37dea2c7b9ac9dad627e3081 by Wim Taymans on 08/01/2021 at 12:17..
resample: first resample the data, then apply the new rate

Else we might not have enough input samples for the new rate.
https://invent.kde.org/neon/backports-focal/pipewire/commit/7e9ab8b45724a8bf37dea2c7b9ac9dad627e3081

Git commit 84eed9ef6f3b141a97a63a846e2a03ef1837dfda by Wim Taymans on 08/01/2021 at 15:30..
pw-cat: use none as default latency for record

Don't force the record latency to the large latency we use for playback
(100ms) but set it to none, which means use defaults.
https://invent.kde.org/neon/backports-focal/pipewire/commit/84eed9ef6f3b141a97a63a846e2a03ef1837dfda

Git commit 7f007b6bcad249ce85bfff6f46ceee61e762e27d by Wim Taymans on 08/01/2021 at 15:35..
resample: tweak the resampler to keep delay number of samples

Instead of requiring the upstream node to resubmit the delayed
samples, keep the samples ourselves. The benefit is probably too
small to measure but it simplifies things a lot.
https://invent.kde.org/neon/backports-focal/pipewire/commit/7f007b6bcad249ce85bfff6f46ceee61e762e27d

Git commit 03430da64a084ab87f0e1a66f7054a463e43be8f by Wim Taymans on 08/01/2021 at 15:52..
stream: notify about port IO areas as well
https://invent.kde.org/neon/backports-focal/pipewire/commit/03430da64a084ab87f0e1a66f7054a463e43be8f

Git commit 3f0cadfa008527880d02ed8b14a81d34d8151969 by Wim Taymans on 08/01/2021 at 15:55..
alsa: use rate_match to read exactly what we need

Use the rate match from the resampler to get the exact amount
of samples we need to provide in this cycle.
https://invent.kde.org/neon/backports-focal/pipewire/commit/3f0cadfa008527880d02ed8b14a81d34d8151969

Git commit f94d2e7da5981312a953533c24f97bea50ebc050 by Wim Taymans on 08/01/2021 at 16:22..
pulse-server: use rate match to read from ringbuffer

Use the rate match io are to read the exact amount of samples we
need for this cycle from the ringbuffer. We can then request lower
latency.

There will also be less buffering in the audioconverter, which makes
our timestamps more accurate.
https://invent.kde.org/neon/backports-focal/pipewire/commit/f94d2e7da5981312a953533c24f97bea50ebc050

Git commit d1f9966a77e19da884488edceaaaa01c88d1ada0 by Wim Taymans on 08/01/2021 at 16:43..
resample: implement methods we now call
https://invent.kde.org/neon/backports-focal/pipewire/commit/d1f9966a77e19da884488edceaaaa01c88d1ada0

Git commit 0c2b4df8e5e0bf9b2aad70d03fe4a61157e66c6e by Wim Taymans on 09/01/2021 at 09:50..
alsa: implement _delay to get smoother timestamps

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

Git commit 540011f1e3b31067c941ae6ea62c616cfd8c97d9 by Wim Taymans on 09/01/2021 at 09:55..
test-resample: fix unit test

Caller should not have to resubmit old samples anymore.

Fixes #551
https://invent.kde.org/neon/backports-focal/pipewire/commit/540011f1e3b31067c941ae6ea62c616cfd8c97d9

Git commit cbea225abd1d4d2dddb3682cc8d0bc393a38ce5b by Sebastian A (on behalf of Sebastian Apel) on 09/01/2021 at 10:21..
Improved workaround (v3): adapt processing of mSBC to handle bogus 'all-zero' packets (see #549)
https://invent.kde.org/neon/backports-focal/pipewire/commit/cbea225abd1d4d2dddb3682cc8d0bc393a38ce5b

Git commit 7ca568db8691482f7d3dc1047d2749dd07cc2783 by Wim Taymans (on behalf of Pauli Virtanen) on 09/01/2021 at 11:08..
bluez5: don't crash if validate_config fails

transport->device_link has to be set when transport->device is not NULL
https://invent.kde.org/neon/backports-focal/pipewire/commit/7ca568db8691482f7d3dc1047d2749dd07cc2783

Git commit ec9dfe72ff94333d7480cb95faee7c1c197ae2f4 by Wim Taymans (on behalf of Jarkko Sakkinen) on 09/01/2021 at 11:11..
systemd: Add systemd-user-unit-dir override

Add a new build option 'system-user-unit=dir', which can be used to
override the pkg-config default value.

By doing this, it becomes more practical to make a local unprivileged
build of the latest PipeWire:

$ meson --prefix=~/.local build
$ meson configure build -Dpipewire-alsa=false
$ meson configure build -Dsystemd-user-unit-dir=~/.config/systemd/user
$ meson configure build -Dudevrulesdir="`mktemp -d`"
$ ninja -C build install

For a local build enabling ALSA plugins is not plausible.

JACK needs a simple addition to the ~/.profile:

export LD_LIBRARY_PATH=$HOME/.local/lib/x86_64-linux-gnu/pipewire-0.3/jack

Finally, the genuine PulseAudio must be masked and local services
enabled:

systemctl --user enable pipewire.socket
systemctl --user enable pipewire-pulse.socket
systemctl --user mask pulseaudio.service

A sanity check [*] shows that nothing has leaked out of the home
directory (even though at least on my Debian 10 system PolKit still
asks for authorization during the meson build).

Not perfect, but lowers a barrier to run the development version a lot,
as that does not anymore to trash your system.

[*]  find / -name "*pipewire*" \! -path "/home/*"  \! -path "/var/lib/flatpak/*" 2> /dev/null

Signed-off-by: Jarkko Sakkinen <jarkko at suppilovahvero.lan>
https://invent.kde.org/neon/backports-focal/pipewire/commit/ec9dfe72ff94333d7480cb95faee7c1c197ae2f4

Git commit 7ae1ea1420b41688f547853fab4c3bbc61e16e14 by Wim Taymans on 09/01/2021 at 11:46..
pulse-server: set default channel_map

Set a default channel map when not otherwise set. Makes pulseeffects
work.
https://invent.kde.org/neon/backports-focal/pipewire/commit/7ae1ea1420b41688f547853fab4c3bbc61e16e14

Git commit d87f838e0985c3d30f4a4160f133be5bb46cfb13 by Pauli Virtanen on 09/01/2021 at 18:37..
media-session: don't write to freed memory in sm_object_destroy

Unref of node->handle may also free obj, if it was created by
init_object.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d87f838e0985c3d30f4a4160f133be5bb46cfb13

Git commit 86576f1e6348f98b199a83b2626b66fdab93db37 by Wim Taymans on 09/01/2021 at 19:07..
bluez5: don't crash when proxy is not created yet

We export a node and get a handle (of type ClientNode). The
session manager then later creates a proxy for the new object. We
can't assume the proxy is created yet when the device emits an
event so check for this.

This is a temporary bandaid. We should likely use get_node() to
create our own proxy for this purpose.

Fixes #552
https://invent.kde.org/neon/backports-focal/pipewire/commit/86576f1e6348f98b199a83b2626b66fdab93db37

Git commit 7aabd50d1e3c8ff8777f04e86be55dca2d1d56c7 by Jarkko Sakkinen on 09/01/2021 at 21:42..
udev: Make Udev optional

In order to further simplify "unprivileged" builds, add "udev" boolean,
which make installing Udev rules optional.

I.e. without requiring any ugly hacks (mktemp -d), an privileged build
capable of running PulseAudio and JACK applications, can be configured
trivially:

meson --prefix=~/.local build
meson configure build -Dsystemd-user-unit-dir=$HOME/.config/systemd/user
meson configure build -Dpipewire-alsa=false
meson configure build -Dudev=false

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

Git commit 4d15df6f24de272b920355b2c82909faef644f9b by Wim Taymans on 10/01/2021 at 19:56..
bluez5: improve device and node properties

Set form factor, name routes based on form factor.
Improve profile names
Make card and node names like pulseaudio, with bt address in them.
Fill in port type in the route info.

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

Git commit c61c988225c2d639fb18ce3567246553e46deeac by AsciiWolf on 10/01/2021 at 20:26..
Add Czech translations
https://invent.kde.org/neon/backports-focal/pipewire/commit/c61c988225c2d639fb18ce3567246553e46deeac

Git commit dea48362034013c09005fc76785392b8d605281a by Wim Taymans on 11/01/2021 at 06:11..
alsa-pcm: always start device

Also start device after writing silence.

Fixes #558
https://invent.kde.org/neon/backports-focal/pipewire/commit/dea48362034013c09005fc76785392b8d605281a

Git commit 878240e30a3169c25709d6fa7bfcc68445d8fed0 by Wim Taymans on 11/01/2021 at 09:24..
pw-dump: add simple monitor option (-m)
https://invent.kde.org/neon/backports-focal/pipewire/commit/878240e30a3169c25709d6fa7bfcc68445d8fed0

Git commit ac861a86c07f8f512b80076ef5fa62368412b449 by Wim Taymans on 11/01/2021 at 10:44..
acp: make it possible to pass properties to test tool

So you can do:

spa-acp-tool -c 1 -p 'device.profile-set=behringer-umc202.conf'
https://invent.kde.org/neon/backports-focal/pipewire/commit/ac861a86c07f8f512b80076ef5fa62368412b449

Git commit 6a9552a4acd7f8c9dfaa8b983349e7399de35a67 by Wim Taymans on 11/01/2021 at 12:05..
acp; fall back to default when profile-set is not accessible
https://invent.kde.org/neon/backports-focal/pipewire/commit/6a9552a4acd7f8c9dfaa8b983349e7399de35a67

Git commit 9862560f558192b9939b02e7908afd9aef136904 by Wim Taymans on 11/01/2021 at 12:19..
impl-core: avoid destroying the core object

Avoid destroying id 0 and return some errors.

See #560
https://invent.kde.org/neon/backports-focal/pipewire/commit/9862560f558192b9939b02e7908afd9aef136904

Git commit 24c7f4511804a5d27006f3f7237da655f3c65f39 by Wim Taymans on 11/01/2021 at 14:23..
alsa-monitor: also try card_name as description

See #524
https://invent.kde.org/neon/backports-focal/pipewire/commit/24c7f4511804a5d27006f3f7237da655f3c65f39

Git commit b3f8a4b99bcf6dc42347c7bb633d702f49c89dc8 by Wim Taymans on 11/01/2021 at 14:39..
acp: update pcm proplist for UCM as well

Update the properties we get from the pcm handle right before we
close the handle.
Also set properties on the UCM devices.

See #524
https://invent.kde.org/neon/backports-focal/pipewire/commit/b3f8a4b99bcf6dc42347c7bb633d702f49c89dc8

Git commit 5f66650f7c99545369895539aa0824d285d39370 by Wim Taymans on 11/01/2021 at 19:40..
daemon: don't pass (null) as argument
https://invent.kde.org/neon/backports-focal/pipewire/commit/5f66650f7c99545369895539aa0824d285d39370

Git commit 09a690b123627b48e8b4b55e7f0ce931c4ac2a95 by Nicolai Syvertsen on 11/01/2021 at 21:26..
spa-acp-tool: fix set-volume vol argument parse
https://invent.kde.org/neon/backports-focal/pipewire/commit/09a690b123627b48e8b4b55e7f0ce931c4ac2a95

Git commit 23f010541f39b0b90aa6f667e5ddb538b21fdf44 by Wim Taymans (on behalf of Pauli Virtanen) on 12/01/2021 at 09:13..
module-protocol-native: make demarshaling safe vs. reentering

The message structures returned by pw_protocol_native_connection_get_next
point to data that is contained in the buffer of the connection.

The data was invalidated when pw_protocol_native_connection_get_next was
called the next time, which made the connection loop non-reentrant, in
cases where it was re-entered from demarshal callbacks.

Fix this by allocating new buffers when reentering and stashing the old
buffers onto a stack. The returned message structure is also stored on
the stack to make lifetimes to match.
https://invent.kde.org/neon/backports-focal/pipewire/commit/23f010541f39b0b90aa6f667e5ddb538b21fdf44

Git commit 84ebce147af1b6c23948608a0efc6a8b00846f28 by Wim Taymans (on behalf of Pauli Virtanen) on 12/01/2021 at 09:13..
module-protocol-native: add test for reentering
https://invent.kde.org/neon/backports-focal/pipewire/commit/84ebce147af1b6c23948608a0efc6a8b00846f28

Git commit 219248d43ef22758d233606578c0237a54a5d2e3 by Wim Taymans on 12/01/2021 at 09:13..
connection: guard against NULL
https://invent.kde.org/neon/backports-focal/pipewire/commit/219248d43ef22758d233606578c0237a54a5d2e3

Git commit 00cce325140b251eab7c0162e1f6d0fff326004b by Frédéric Danis on 12/01/2021 at 10:21..
bluez5: Rename backend-hsp-native to backend-native
https://invent.kde.org/neon/backports-focal/pipewire/commit/00cce325140b251eab7c0162e1f6d0fff326004b

Git commit 677f122f1d2ae6e18ff72990314f7aa752e0eaad by Frédéric Danis on 12/01/2021 at 10:21..
bluez5: Split RFComm from spa_bt_transport

RFComm channel should not be part of the spa_bt_transport as this one may
change during HFP connection.
https://invent.kde.org/neon/backports-focal/pipewire/commit/677f122f1d2ae6e18ff72990314f7aa752e0eaad

Git commit 7bd86df6df8cff1daa581b64674329564da26d4f by Frédéric Danis on 12/01/2021 at 10:21..
bluez5: Add simple HFP AG support to backend-native
https://invent.kde.org/neon/backports-focal/pipewire/commit/7bd86df6df8cff1daa581b64674329564da26d4f

Git commit 4cba8fc7e99b43214cf1eec1dc78e3490e2d2c89 by Wim Taymans on 12/01/2021 at 12:14..
pulse-server: implement set_sample_rate
https://invent.kde.org/neon/backports-focal/pipewire/commit/4cba8fc7e99b43214cf1eec1dc78e3490e2d2c89

Git commit fac80e76d20f06800631863e47fff1d71631eea2 by Wim Taymans on 12/01/2021 at 19:42..
media-session: add conf file for v4l2 and bluez as well
https://invent.kde.org/neon/backports-focal/pipewire/commit/fac80e76d20f06800631863e47fff1d71631eea2

Git commit 8aec26f5bdd478e5ca9cf0f00267bf1793b3d6a3 by Wim Taymans on 12/01/2021 at 20:51..
v4l2-monitor: make nicer names
https://invent.kde.org/neon/backports-focal/pipewire/commit/8aec26f5bdd478e5ca9cf0f00267bf1793b3d6a3

Git commit 8ac5a895830a20fa1b9741f73ad702a6602d89a0 by Wim Taymans (on behalf of Sebastian Apel) on 13/01/2021 at 10:20..
bluez5: Added mSBC support in bluze5 backend native, including check to make sure the computer's bluetooth adapter
supports the transport modes required for mSBC
https://invent.kde.org/neon/backports-focal/pipewire/commit/8ac5a895830a20fa1b9741f73ad702a6602d89a0

Git commit c771bc9b5a7fdb22ab19ce81aee5381a10b827a3 by Wim Taymans on 13/01/2021 at 10:42..
media-session: move bluetooth properties to bluez config
https://invent.kde.org/neon/backports-focal/pipewire/commit/c771bc9b5a7fdb22ab19ce81aee5381a10b827a3

Git commit fee0c2679ccffb6b57c0858256d63e0b91fa35ec by Wim Taymans on 13/01/2021 at 13:50..
daemon: install new config files

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

Git commit 514836eebea9b44b8ea7aff2a0a6b6478f295d28 by Frédéric Danis on 13/01/2021 at 16:35..
bluez5: Create spa_bt_transport when codec has been negotiated

This waits for codec negotiation completion, i.e. on `SLC` completion if
codec negotiation is not supported or on `AT+BCS` reception if codec
negotiation is supported, before creating the `spa_bt_transport`
https://invent.kde.org/neon/backports-focal/pipewire/commit/514836eebea9b44b8ea7aff2a0a6b6478f295d28

Git commit c9354c238f014d5dec133a9a33931dcf376f4167 by Wim Taymans on 13/01/2021 at 18:40..
Add -fPIE to installed executables

Fixes #570
https://invent.kde.org/neon/backports-focal/pipewire/commit/c9354c238f014d5dec133a9a33931dcf376f4167

Git commit de851018c11ed6129206420bcf623f4f9486ab12 by Wim Taymans on 13/01/2021 at 18:49..
media-session: fall back to card_name for description

Also try to use the alsa.card_name property for the description if
there is nothing else.

Fixes #524
https://invent.kde.org/neon/backports-focal/pipewire/commit/de851018c11ed6129206420bcf623f4f9486ab12

Git commit 51cc5c328f8b288a59cf761afa084dafbdf74992 by Wim Taymans on 14/01/2021 at 12:28..
pw-uninstalled: set config dir
https://invent.kde.org/neon/backports-focal/pipewire/commit/51cc5c328f8b288a59cf761afa084dafbdf74992

Git commit b8583799ffa78afa50d9534569f142631be24f68 by Wim Taymans on 14/01/2021 at 14:01..
spa-monitor: fix the support array
https://invent.kde.org/neon/backports-focal/pipewire/commit/b8583799ffa78afa50d9534569f142631be24f68

Git commit 7eac9874f00d900b699d7851977da334e5d9a44d by Wim Taymans on 14/01/2021 at 14:06..
daemon: add nofail option to the modules section

Use nofail on rtkit when it's not available.
https://invent.kde.org/neon/backports-focal/pipewire/commit/7eac9874f00d900b699d7851977da334e5d9a44d

Git commit 3162465f6fe906cd2c885bad139ddb9eb34d4413 by Wim Taymans on 14/01/2021 at 14:07..
portal: error->warn when the portal pid is unknown
https://invent.kde.org/neon/backports-focal/pipewire/commit/3162465f6fe906cd2c885bad139ddb9eb34d4413

Git commit a1cb786ee73d8870806131888c5ecd8aa90cd23a by Wim Taymans on 14/01/2021 at 14:08..
impl-module: turn an error into debug

The error is usually reported or ignored by the caller.
https://invent.kde.org/neon/backports-focal/pipewire/commit/a1cb786ee73d8870806131888c5ecd8aa90cd23a

Git commit 1b10bee6f8e6f919af3376dc4aaebd113fd141ab by Wim Taymans (on behalf of Frédéric Danis) on 14/01/2021 at 14:16..
bluez5: Fix double free in backend-native

This occurs when exiting `pipewire-media-session` with a headset connected.

Fixes !395
https://invent.kde.org/neon/backports-focal/pipewire/commit/1b10bee6f8e6f919af3376dc4aaebd113fd141ab

Git commit a6433b08394eda02aba74d0a32f67cd862757615 by Wim Taymans on 14/01/2021 at 14:39..
pw-dump: mark new objects without proxy as changed

So that they are actually printed.
https://invent.kde.org/neon/backports-focal/pipewire/commit/a6433b08394eda02aba74d0a32f67cd862757615

Git commit abe73c9146cd223b40b22581b1fd58bc044c671e by Wim Taymans on 14/01/2021 at 15:29..
meson: use global b_pie to build PIE executables
https://invent.kde.org/neon/backports-focal/pipewire/commit/abe73c9146cd223b40b22581b1fd58bc044c671e

Git commit 7347b5ef05bde97f5513c252858422d9686d4f1e by Wim Taymans on 14/01/2021 at 16:10..
alsa: add api.alsa.headroom setting

Can be used to tweak the extra distance kept between the hardware
and software pointers when reading and writing.

See #289
https://invent.kde.org/neon/backports-focal/pipewire/commit/7347b5ef05bde97f5513c252858422d9686d4f1e

Git commit be107317f53e8af20f5595dfc10c8274c712573c by Wim Taymans on 14/01/2021 at 16:11..
Silence some dbus errors

Log info when a service is not running and disable it.
https://invent.kde.org/neon/backports-focal/pipewire/commit/be107317f53e8af20f5595dfc10c8274c712573c

Git commit a8faad9f170ca218f4ba3c83b8e5c156758a55c8 by Wim Taymans on 14/01/2021 at 16:58..
fmt: support f32p -> s24s conversion

As used by MAudio Fasttrack Pro

See rhbz#916017
https://invent.kde.org/neon/backports-focal/pipewire/commit/a8faad9f170ca218f4ba3c83b8e5c156758a55c8

Git commit b118a84a600bcd0368d6f3fecab4216660a943d4 by Wim Taymans on 14/01/2021 at 18:22..
module-metadata: set factory id in properties
https://invent.kde.org/neon/backports-focal/pipewire/commit/b118a84a600bcd0368d6f3fecab4216660a943d4

Git commit 792c01aede165cbc19e512ead23ea517892b9f1c by Wim Taymans on 14/01/2021 at 18:22..
pw-dump: trigger change in metadata

so that it is displayed
https://invent.kde.org/neon/backports-focal/pipewire/commit/792c01aede165cbc19e512ead23ea517892b9f1c

Git commit 13cef576c9bb73fb4f175bc1b959aecf077fe5f4 by Wim Taymans on 14/01/2021 at 19:11..
pw-dump: dump metadata contents

Fix some leaks
https://invent.kde.org/neon/backports-focal/pipewire/commit/13cef576c9bb73fb4f175bc1b959aecf077fe5f4

Git commit a97d4c44b40ffd8ef8df5cd7c79cd93035f15558 by Wim Taymans on 14/01/2021 at 19:11..
pw-metadata: remove is when key == NULL
https://invent.kde.org/neon/backports-focal/pipewire/commit/a97d4c44b40ffd8ef8df5cd7c79cd93035f15558

Git commit 688b3c5ed447af39fc5d50e1f6c2b5d3e0c313d5 by Wim Taymans on 14/01/2021 at 19:17..
pw-dump: only output [] when something changed
https://invent.kde.org/neon/backports-focal/pipewire/commit/688b3c5ed447af39fc5d50e1f6c2b5d3e0c313d5

Git commit ae263eeffc3e823ad3ce49ecfe27301fe3ae0fd1 by Wim Taymans on 14/01/2021 at 20:14..
pw-dump: only dump changed metadata entries
https://invent.kde.org/neon/backports-focal/pipewire/commit/ae263eeffc3e823ad3ce49ecfe27301fe3ae0fd1

Git commit 5a7f4a619a82d89ef9fd8c4ea7f1d90878072c23 by Wim Taymans on 15/01/2021 at 08:45..
pw-dump: also dump properties
https://invent.kde.org/neon/backports-focal/pipewire/commit/5a7f4a619a82d89ef9fd8c4ea7f1d90878072c23

Git commit d7ff7d098b96df05b9e84bae9afb06c2890510b4 by Wim Taymans on 15/01/2021 at 08:46..
audioadapter: don't emit xrun when drained
https://invent.kde.org/neon/backports-focal/pipewire/commit/d7ff7d098b96df05b9e84bae9afb06c2890510b4

Git commit 5817b66a20fa735e61c2924b40ce509f4f5d6adf by Wim Taymans on 15/01/2021 at 09:29..
alsa-plugin: only parse props when updated

Check if the properties got update before we try to parse them.
If they are not updated, they might be empty and we would lose
our previously parse values.

Fixes default volume in alsa-mixer.
https://invent.kde.org/neon/backports-focal/pipewire/commit/5817b66a20fa735e61c2924b40ce509f4f5d6adf

Git commit 2ff4615e5386fc076917fcad3050237f53e771ac by Wim Taymans on 15/01/2021 at 14:18..
alsa: prefer planar formats

They are easier to convert
https://invent.kde.org/neon/backports-focal/pipewire/commit/2ff4615e5386fc076917fcad3050237f53e771ac

Git commit 482f96a6443333c7f8970d33744fb679f95e4401 by Wim Taymans on 15/01/2021 at 14:44..
alsa: add option to disable mmap access mode
https://invent.kde.org/neon/backports-focal/pipewire/commit/482f96a6443333c7f8970d33744fb679f95e4401

Git commit 376436fc2c3c3dde175ffb898854ee930f351569 by Wim Taymans on 15/01/2021 at 15:12..
alsa: remove snd_pcm_prepare() call, it is not needed

set_hw_params already called _prepare for us and calling it twice
might cause trouble in some drivers.

See #580
https://invent.kde.org/neon/backports-focal/pipewire/commit/376436fc2c3c3dde175ffb898854ee930f351569

Git commit 6b0abd20578fac9d06f5f6551eb426ff93425773 by Wim Taymans on 15/01/2021 at 16:51..
channelmix: Improve unknown channel layout handling

Clamp position to valid range. so that AUX becomes UNKNOWN.
If we have one mono source channel and unknown destination, copy it
to all destination channels.
If we have one mono destination channel and unknown source layout,
average all channels.
Otherwise, pair source and dest channels.

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

Git commit b4e3d546e060c9b3f8fc2d63c896828b9bbee1b0 by Wim Taymans on 15/01/2021 at 17:34..
alsa: fill frames with silence when underrun

Keep track of how many samples we need to produce. If we don't have
enough samples in the ringbuffer, fill the rest with silence.

See #564
https://invent.kde.org/neon/backports-focal/pipewire/commit/b4e3d546e060c9b3f8fc2d63c896828b9bbee1b0

Git commit 02295c5e2b8f265afd47a69af0f6c51a9ba58743 by Wim Taymans on 15/01/2021 at 17:42..
alsa: call prepare again but ignore EBUSY

Not calling _prepare can cause problems on my card. So call it
again but ignore -EBUSY.
https://invent.kde.org/neon/backports-focal/pipewire/commit/02295c5e2b8f265afd47a69af0f6c51a9ba58743

Git commit bf25fc138827561260158fc75d40bbefd90e2712 by Wim Taymans on 16/01/2021 at 16:16..
pulse-server: always use rate_match value when available

The minreq is just a fallback for when we don't know the exact
amount of required samples to consume from the ringbuffer.
https://invent.kde.org/neon/backports-focal/pipewire/commit/bf25fc138827561260158fc75d40bbefd90e2712

Git commit 9b9b85ddbf908accf1eb2cbb03d8e1502fdff3dd by Wim Taymans on 17/01/2021 at 10:35..
alsa: put card name in udev monitor event

So that we can use it to construct a good name for the card.

Fixes #524
https://invent.kde.org/neon/backports-focal/pipewire/commit/9b9b85ddbf908accf1eb2cbb03d8e1502fdff3dd

Git commit ff416cdc9e2260185092dc0295a24f6703b957ac by Wim Taymans on 17/01/2021 at 10:42..
daemon: add some comments to the config file
https://invent.kde.org/neon/backports-focal/pipewire/commit/ff416cdc9e2260185092dc0295a24f6703b957ac

Git commit 23fd40df94d867438573c0a39acca1ae68271713 by Wim Taymans on 17/01/2021 at 13:56..
daemon: support containers as arguments

so that

ags = "foo=bar baz=5"

can be written as:

args = { foo = bar baz = 5 }
https://invent.kde.org/neon/backports-focal/pipewire/commit/23fd40df94d867438573c0a39acca1ae68271713

Git commit d2aee618806c9f8ba54a9bac5eb6e50070ca15fd by Wim Taymans on 17/01/2021 at 16:20..
alsa: don't write more than wat is requested
https://invent.kde.org/neon/backports-focal/pipewire/commit/d2aee618806c9f8ba54a9bac5eb6e50070ca15fd

Git commit be9c2f9757de3cd95d6a77b3d5e9b83a833185a0 by Wim Taymans on 17/01/2021 at 20:07..
pulse-server: account for underrun

Not quite sure, it needs more investigation but It seems the time
needs to increase when underrunning.

See #510
https://invent.kde.org/neon/backports-focal/pipewire/commit/be9c2f9757de3cd95d6a77b3d5e9b83a833185a0

Git commit fd520c4b395f6b8250fd6ffe5c5e0ada423401f4 by Wim Taymans on 18/01/2021 at 09:03..
alsa-plugin: set buffer size correctly

Our output buffer size is always what is needed to produce one
period of samples. We use nframes from the hardware and the rest
we fill with silence.
https://invent.kde.org/neon/backports-focal/pipewire/commit/fd520c4b395f6b8250fd6ffe5c5e0ada423401f4

Git commit 19be555fa69e20533021468b71ac7d3c4a7e5a67 by Wim Taymans on 18/01/2021 at 09:29..
audioadapter: run the converter after follower drained

When the follower drained, rerun the converter again to let it drain
as well.
https://invent.kde.org/neon/backports-focal/pipewire/commit/19be555fa69e20533021468b71ac7d3c4a7e5a67

Git commit d9a63dc69fa2091c54b2b48804610f5718ed044f by Wim Taymans on 18/01/2021 at 10:13..
alsa: disable pause-on-idle by default

snd_pcm_drop() causes pops and cracks. It is better to just let the
sink consume silence until it gets suspended.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d9a63dc69fa2091c54b2b48804610f5718ed044f

Git commit 72a77863e04081802bfd2f0c0538ba9f7ce5b8cb by Wim Taymans on 18/01/2021 at 10:24..
impl-node: log quantum in XRun error
https://invent.kde.org/neon/backports-focal/pipewire/commit/72a77863e04081802bfd2f0c0538ba9f7ce5b8cb

Git commit 51d44e91542077934148f4ad19ddb217f6e62fbd by Wim Taymans on 18/01/2021 at 14:08..
test: improve resampler test

Test with different amount of input samples.
https://invent.kde.org/neon/backports-focal/pipewire/commit/51d44e91542077934148f4ad19ddb217f6e62fbd

Git commit 88727afbd22953c9f31f663a7511cabf81e10fdc by Wim Taymans on 18/01/2021 at 14:09..
resample: take already queued sample into account

When asking for samples, take into account the amount of samples
we already have converted.
https://invent.kde.org/neon/backports-focal/pipewire/commit/88727afbd22953c9f31f663a7511cabf81e10fdc

Git commit 76aff7640fc9fe425b37f002ebcce22f51cc3ed7 by Wim Taymans on 18/01/2021 at 15:22..
pulse-server: improve variable name
https://invent.kde.org/neon/backports-focal/pipewire/commit/76aff7640fc9fe425b37f002ebcce22f51cc3ed7

Git commit 235d25316cfd5ad8a4c9c487c0882ec861edc46a by Wim Taymans on 18/01/2021 at 15:23..
pulse-server: make sure we never try to ask more than tlength
https://invent.kde.org/neon/backports-focal/pipewire/commit/235d25316cfd5ad8a4c9c487c0882ec861edc46a

Git commit 6b2ec6d619497a344b80b7e65dc7772af7de0ca4 by Wim Taymans on 18/01/2021 at 15:24..
pulse-server: require at least 32 samples per buffer
https://invent.kde.org/neon/backports-focal/pipewire/commit/6b2ec6d619497a344b80b7e65dc7772af7de0ca4

Git commit 55915f420e226bd6f6a3d79b68b1e2b4d9748e33 by Wim Taymans on 18/01/2021 at 15:24..
pulse-server: on underrun, pretend we read from the ringbuffer

Also update the ringbuffer read pointer on underrun.
https://invent.kde.org/neon/backports-focal/pipewire/commit/55915f420e226bd6f6a3d79b68b1e2b4d9748e33

Git commit 02931df835dbe3c268fa2318eec27091e28fbbee by Wim Taymans on 18/01/2021 at 16:16..
pulse-server: start with underrun_for = -1

PulseAudio starts with underrun_for equal to -1, sets it to 0 when
something was played and increments it from then on with the number
of bytes played.
https://invent.kde.org/neon/backports-focal/pipewire/commit/02931df835dbe3c268fa2318eec27091e28fbbee

Git commit 419d0ad7b6d8599165aaf7c451eaadefe44cd48a by jasker5183 on 18/01/2021 at 16:28..
Add directory for issue templates
https://invent.kde.org/neon/backports-focal/pipewire/commit/419d0ad7b6d8599165aaf7c451eaadefe44cd48a

Git commit b10123ecebf74b324d9fffb13279f821b8e38b1c by Wim Taymans (on behalf of Pauli Virtanen) on 18/01/2021 at 19:49..
policy-node: make streams follow default sink/src changes

The motivation is to have both existing and new streams that have been
created without explicit target node, to be directed to the same devices
at all times. To achieve this:

Consider what find_node returns as the "default node".

Consider streams that auto+reconnect and don't have an explicit target,
as following default.  In rescan, if the default node has changed,
relink such streams to the new default.

Remove the old code that explicitly moved streams when the default.*
metadata changed, as it implements a similar thing but in a less robust
way (may fail to do what's intended, because the default device
metadata is commonly unset, or the metadata callback comes before
session_create has seen the new nodes).

Enable this feature based on "policy-node.streams-follow-default"
property. Allow setting the property also by loading the
streams-follow-default module. Enable it by default only for the
with-pulseaudio module group.
https://invent.kde.org/neon/backports-focal/pipewire/commit/b10123ecebf74b324d9fffb13279f821b8e38b1c

Git commit 272c0a4d83ac8e1e377b78183d77fdca90969648 by Wim Taymans on 18/01/2021 at 19:56..
policy-node: silence some normal warning

When a target-node is destroyed from a dont-reconnect node,
kill the node.
https://invent.kde.org/neon/backports-focal/pipewire/commit/272c0a4d83ac8e1e377b78183d77fdca90969648

Git commit d1a0121b7c15e03bd3e9e52cb9de272b0a54955d by Pauli Virtanen on 18/01/2021 at 20:22..
policy-node: handle moving streams when target.node is removed

When target.node metadata is unset, unset it also from the session node.
Schedule rescan in case this affects links.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d1a0121b7c15e03bd3e9e52cb9de272b0a54955d

Git commit d46c58e9584fb5d53cbaa1c8402994ac7ba801c0 by Pauli Virtanen on 18/01/2021 at 20:40..
pulse-server: behave like PA when moving streams to default

Pulseaudio unsets the preferred sink/source when stream is moved to a
default target. Emulate this behavior by setting + unsetting
target.node, which informs policy-node to move it accordingly.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d46c58e9584fb5d53cbaa1c8402994ac7ba801c0

Git commit d82066e49f01680ee1c60433da25c52bb6ce8293 by Wim Taymans on 19/01/2021 at 09:52..
acp: sync with pulseaudio
https://invent.kde.org/neon/backports-focal/pipewire/commit/d82066e49f01680ee1c60433da25c52bb6ce8293

Git commit 7e5441fbb355344a06bc7f2efa3775343579926e by Wim Taymans on 19/01/2021 at 09:52..
pulse-server: implement stats
https://invent.kde.org/neon/backports-focal/pipewire/commit/7e5441fbb355344a06bc7f2efa3775343579926e

Git commit 778bc455586d2b53d76e054190a45d6614347d76 by Wim Taymans on 19/01/2021 at 09:52..
mem: add LOCKED flag to mlock the mapped memory
https://invent.kde.org/neon/backports-focal/pipewire/commit/778bc455586d2b53d76e054190a45d6614347d76

Git commit 89641785c332cedfe40fab221fca976aaf73b9a8 by Wim Taymans on 19/01/2021 at 10:06..
pulse-server: keep global free message pool
https://invent.kde.org/neon/backports-focal/pipewire/commit/89641785c332cedfe40fab221fca976aaf73b9a8

Git commit ab91e94b59edd87c33f3d1cce1edf9706ed109d0 by Wim Taymans on 19/01/2021 at 10:59..
remove mlock and use MAP_LOCKED

The warnings are confusing and a properly tuned system would have
the limits set correctly.
https://invent.kde.org/neon/backports-focal/pipewire/commit/ab91e94b59edd87c33f3d1cce1edf9706ed109d0

Git commit 8c84c96fe1918c6967d17403825a93e9becb016f by Wim Taymans on 19/01/2021 at 11:17..
daemon: add support for mlockall
https://invent.kde.org/neon/backports-focal/pipewire/commit/8c84c96fe1918c6967d17403825a93e9becb016f

Git commit abfc67a3ca18f6a1610b257db445427ae7d6452d by Wim Taymans on 19/01/2021 at 13:47..
Revert "remove mlock and use MAP_LOCKED"

This reverts commit ab91e94b59edd87c33f3d1cce1edf9706ed109d0.

When no memory can be locked, the mmap fails with -EAGAIN.

Fixes #592
https://invent.kde.org/neon/backports-focal/pipewire/commit/abfc67a3ca18f6a1610b257db445427ae7d6452d

Git commit 0e5ad1c0a4a2002df7ddd99de43ba92658edd104 by Wim Taymans on 19/01/2021 at 14:02..
module-rtkit: log the dbus error as a warning
https://invent.kde.org/neon/backports-focal/pipewire/commit/0e5ad1c0a4a2002df7ddd99de43ba92658edd104

Git commit f891324e256afd761af70c7a4e2ccd2eb6cb7102 by Wim Taymans on 19/01/2021 at 15:36..
pw-dump: mark objects without events as changed

Usually the event function marks the object as changed so when
there is no event function, mark the change immediately so that
we can dump it.
https://invent.kde.org/neon/backports-focal/pipewire/commit/f891324e256afd761af70c7a4e2ccd2eb6cb7102

Git commit 579e8a4ea6b351182f6d0ffcaf27958b155608b1 by Wim Taymans on 19/01/2021 at 15:56..
json: allocate one extra byte for the \0
https://invent.kde.org/neon/backports-focal/pipewire/commit/579e8a4ea6b351182f6d0ffcaf27958b155608b1

Git commit 96a2a2b4e238fa5782d18ce7bee0770b10263c49 by Wim Taymans on 19/01/2021 at 15:57..
pulse-server: Use the spa json implementation
https://invent.kde.org/neon/backports-focal/pipewire/commit/96a2a2b4e238fa5782d18ce7bee0770b10263c49

Git commit 8f80a2bc1500022fbdf6cfeabf544287dd2b348a by Wim Taymans on 19/01/2021 at 16:01..
media-session: handle key == NULL

The key can be null when the metadata subject is removed.
https://invent.kde.org/neon/backports-focal/pipewire/commit/8f80a2bc1500022fbdf6cfeabf544287dd2b348a

Git commit 384b8a4593a500a79ce36d5e403fe9397e42dc5d by Wim Taymans on 20/01/2021 at 09:41..
pulse-server: Only allow one memblock in the queue

Allow only one memblock in the output queue. Otherwise, if the
client is for some reason not reading from the socket, we would queue
an unlimited amount of messages until we get killed by OOM.

Change some warn to debug in the process function for things we
handle from the non-rt thread.

Fixes #488
https://invent.kde.org/neon/backports-focal/pipewire/commit/384b8a4593a500a79ce36d5e403fe9397e42dc5d

Git commit 675a12ef339f0164f4d6e860aeb52a1d7857d3ab by Wim Taymans on 20/01/2021 at 10:54..
alsa: clamp elapsed time to delay

If the elapsed time is larger than the delay, we are dealing with
an older timestamp.

Fixes #597
https://invent.kde.org/neon/backports-focal/pipewire/commit/675a12ef339f0164f4d6e860aeb52a1d7857d3ab

Git commit 4084db86418285f93465318633bade80d6e1907f by Wim Taymans on 20/01/2021 at 11:12..
module-access: Relax access check errors

Assume -EACCES is a normal thing when checking /proc/<pid>/root and
continue with just an info message. Log a warning and assume
flatpak for all other errors.

Fixes #432
https://invent.kde.org/neon/backports-focal/pipewire/commit/4084db86418285f93465318633bade80d6e1907f

Git commit 6a2778c2e76ed4836549ed0975197af50e768228 by Wim Taymans (on behalf of George Kiagiadakis) on 20/01/2021 at 11:15..
spa: add type info for device event objects
https://invent.kde.org/neon/backports-focal/pipewire/commit/6a2778c2e76ed4836549ed0975197af50e768228

Git commit c3d4eea6ca3e210e0527f73038b43138e05887d8 by Wim Taymans (on behalf of jasker5183) on 20/01/2021 at 11:43..
Add new issue template
https://invent.kde.org/neon/backports-focal/pipewire/commit/c3d4eea6ca3e210e0527f73038b43138e05887d8

Git commit 2c4c78c51e09bef2a6c6307641d05503e07b0e09 by Wim Taymans on 20/01/2021 at 12:48..
media-session: add alsa.jack-device property to alsa-monitor
https://invent.kde.org/neon/backports-focal/pipewire/commit/2c4c78c51e09bef2a6c6307641d05503e07b0e09

Git commit aee694fb8260914b6dd6b12cb95e78dece204535 by Wim Taymans on 20/01/2021 at 14:54..
0.3.20
https://invent.kde.org/neon/backports-focal/pipewire/commit/aee694fb8260914b6dd6b12cb95e78dece204535

Git commit 44cad2d533391ca3e968f8aa9f04b924f8a73726 by Wim Taymans on 20/01/2021 at 19:33..
pulse-server: implement suspend
https://invent.kde.org/neon/backports-focal/pipewire/commit/44cad2d533391ca3e968f8aa9f04b924f8a73726

Git commit dcc5779cd67ed2bb1afaaf6714bdfe1683271e88 by Wim Taymans on 21/01/2021 at 08:42..
pulse-server: put valid volume in sample info
https://invent.kde.org/neon/backports-focal/pipewire/commit/dcc5779cd67ed2bb1afaaf6714bdfe1683271e88

Git commit d9af97899c25733bb0c5224204cccbac358a66b4 by Wim Taymans on 21/01/2021 at 10:53..
pulse-server: don't destroy clients playing a sample

When a sample is playing a cached sample and it disconnects we should
wait until all the pending samples are finished otherwise we stop
their playback and get a chopped or broken sample.

See #595
https://invent.kde.org/neon/backports-focal/pipewire/commit/d9af97899c25733bb0c5224204cccbac358a66b4

Git commit 11f95fe11e07192cec19fddb4fafc708e023e49c by Wim Taymans (on behalf of jasker5183) on 21/01/2021 at 11:04..
Remove obsolete intructions
https://invent.kde.org/neon/backports-focal/pipewire/commit/11f95fe11e07192cec19fddb4fafc708e023e49c

Git commit 486d79773513e52675270fd7f64abe92e51bf959 by Wim Taymans on 21/01/2021 at 12:39..
pulse-server: use rate match to feed samples

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

Git commit f96c7ede11cce80ad08a625a5f7126f7525e8081 by Wim Taymans on 21/01/2021 at 12:41..
stream: handle drain from process

When process calls drain, also do one more loop to complete
the drain.
https://invent.kde.org/neon/backports-focal/pipewire/commit/f96c7ede11cce80ad08a625a5f7126f7525e8081

Git commit 4fb967211e3bede3b92956bc83a399cec86c8a06 by Wim Taymans on 21/01/2021 at 14:20..
pw-top: refresh immediately
https://invent.kde.org/neon/backports-focal/pipewire/commit/4fb967211e3bede3b92956bc83a399cec86c8a06

Git commit af092a9a7e7d6ab28eb96841857f2036079f6063 by Wim Taymans on 21/01/2021 at 15:04..
v4l2: respect allowed data types

Check if we can do DmaBuf as the data type before we attempt this.
Otherwise we don't get any data in clients that can't deal with
DmaBuf.
https://invent.kde.org/neon/backports-focal/pipewire/commit/af092a9a7e7d6ab28eb96841857f2036079f6063

Git commit 73896bfa83902e7de28f2e3f1e9bf600ff5a96e7 by Wim Taymans on 21/01/2021 at 16:14..
alsa: rework batch handling a bit

By default, use a 512 period for batch and use 512 headroom
Add a property to disable special batch handling.
https://invent.kde.org/neon/backports-focal/pipewire/commit/73896bfa83902e7de28f2e3f1e9bf600ff5a96e7

Git commit 07b52299db97ff0fcccda724ca2605808ce7c2c8 by Wim Taymans on 21/01/2021 at 16:46..
pw-top: make a line shorter so that it fits better
https://invent.kde.org/neon/backports-focal/pipewire/commit/07b52299db97ff0fcccda724ca2605808ce7c2c8

Git commit b39a2258c43d7e2d17db73476674f14d68b65261 by Wim Taymans on 21/01/2021 at 16:46..
meta: add busy metadata

Metadata on buffers to mark when a buffer is in use. Writers
should only use buffers with a count of 0.
https://invent.kde.org/neon/backports-focal/pipewire/commit/b39a2258c43d7e2d17db73476674f14d68b65261

Git commit 61dab51425533fd7594ebfc844e0acedce8c12b3 by Wim Taymans on 21/01/2021 at 16:46..
stream: use busy metadata

When we get a buffer from the server, mark it busy, when we queue it
again, mark it unbusy.
Refuse to dequeue a buffer when it is busy.
https://invent.kde.org/neon/backports-focal/pipewire/commit/61dab51425533fd7594ebfc844e0acedce8c12b3

Git commit 652a4ae26dead785612fdf8e8398da9058604f4b by Wim Taymans on 22/01/2021 at 10:39..
pulse-server: use stream flags to tune latency

Use the early_requests and adjust_latency flags to choose the right
latency values, just like what pulseaudio does.
https://invent.kde.org/neon/backports-focal/pipewire/commit/652a4ae26dead785612fdf8e8398da9058604f4b

Git commit c866d5c1f4c1f23636a58bf757ea2276bb8e7b6e by Wim Taymans on 22/01/2021 at 12:18..
Increase memlock limits in systemd service files
https://invent.kde.org/neon/backports-focal/pipewire/commit/c866d5c1f4c1f23636a58bf757ea2276bb8e7b6e

Git commit f767521baffe5ae788d892e6dffe8a23db9c6908 by Oschowa on 22/01/2021 at 12:51..
spa: fix test-buffer
there is a new meta type since b39a2258
https://invent.kde.org/neon/backports-focal/pipewire/commit/f767521baffe5ae788d892e6dffe8a23db9c6908

Git commit 0dad70eb48f2622ae7aa8a6ddc3ee29ffcb97db7 by Wim Taymans (on behalf of jasker5183) on 22/01/2021 at 13:07..
Add buffer.md to fix link in tutorial4.md
https://invent.kde.org/neon/backports-focal/pipewire/commit/0dad70eb48f2622ae7aa8a6ddc3ee29ffcb97db7

Git commit 9a6888486ff656c247a7d0577df7b8b9176ba98a by Wim Taymans on 22/01/2021 at 14:47..
impl-core: use getrandom for cookie

Fixes #583
https://invent.kde.org/neon/backports-focal/pipewire/commit/9a6888486ff656c247a7d0577df7b8b9176ba98a

Git commit 2521e6db1bf0413be64117f0309db6de9da85410 by jasker5183 on 22/01/2021 at 15:16..
Add msbc expectations
https://invent.kde.org/neon/backports-focal/pipewire/commit/2521e6db1bf0413be64117f0309db6de9da85410

Git commit f464d8c5967abf07e797f3f0d9efb29a4cd2f453 by Wim Taymans (on behalf of Frédéric Danis) on 22/01/2021 at 15:28..
bluez5: Fix NULL dereference in backend-native

Fixes: #602
https://invent.kde.org/neon/backports-focal/pipewire/commit/f464d8c5967abf07e797f3f0d9efb29a4cd2f453

Git commit 8f5231bd454a617e395e0172d15f3e03373c1dae by Wim Taymans on 22/01/2021 at 15:38..
impl-core: handle getrandom errors

Handle getrandom errors and fall back to rand() if all fails.

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

Git commit 2b98b7dc7a1379a51b45687e95109ba86739a915 by Wim Taymans on 22/01/2021 at 16:23..
pw-dump: print None pod as null
https://invent.kde.org/neon/backports-focal/pipewire/commit/2b98b7dc7a1379a51b45687e95109ba86739a915

Git commit 1eb9d73814524b621f5b00e1a03394be45026776 by Wim Taymans on 22/01/2021 at 16:35..
bluez5: skip routes without a profile
https://invent.kde.org/neon/backports-focal/pipewire/commit/1eb9d73814524b621f5b00e1a03394be45026776

Git commit 14dcfb8a282605033df79ebbd59df70a984f9f91 by Wim Taymans on 22/01/2021 at 18:53..
pulse-server: find the target device in play_sample

Use the regular logic to find the target device for play sample so
that it supports @DEFAULT_SINK@ etc.

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

Git commit 73dbe691a3f9375e8f7216c59e776f1fe3212bcd by Sjoerd Simons on 22/01/2021 at 19:08..
New upstream version 0.3.20
https://invent.kde.org/neon/backports-focal/pipewire/commit/73dbe691a3f9375e8f7216c59e776f1fe3212bcd

Git commit eecf8b89fcf5f31fae0d4e172867365f467ea549 by Sjoerd Simons on 22/01/2021 at 19:19..
New upstream version 0.3.20
https://invent.kde.org/neon/backports-focal/pipewire/commit/eecf8b89fcf5f31fae0d4e172867365f467ea549

Git commit 8b4fbac1871e6362120a97a4d55a14a48743253f by Pauli Virtanen on 22/01/2021 at 21:11..
sco-sink: msbc timeout should follow processed samples

Remove wrong adjustment to the write timeout with mSBC.

The time between writes should be the 7.5ms at which we encode, which is
correct even when the frames get fragmented to incommensurate tx packets
(on USB BT adapters).

Fixes sound on RTL8176B. This adapter has large reported write_mtu, so
the wrong delay affected it.
https://invent.kde.org/neon/backports-focal/pipewire/commit/8b4fbac1871e6362120a97a4d55a14a48743253f

Git commit 906a1f544815bee7944e0a0749af9d63c365ee8d by Wim Taymans (on behalf of Sami Farin) on 23/01/2021 at 06:15..
Make getrandom() failure fatal
https://invent.kde.org/neon/backports-focal/pipewire/commit/906a1f544815bee7944e0a0749af9d63c365ee8d

Git commit 59452a090481d2f32511df656305e5b5c6504a39 by Wim Taymans (on behalf of Pauli Virtanen) on 23/01/2021 at 06:17..
pulse-server: send server change events when default nodes change

Send server change events to subscribers, when default nodes change due
to some nodes being added/removed/changed, also if there is no metadata
change.  Make sure the event is consistent with the result from
find_device at the time.

Previously, these were not necessarily sent, or information from
find_device immediately after the event might not reflect the change
yet.
https://invent.kde.org/neon/backports-focal/pipewire/commit/59452a090481d2f32511df656305e5b5c6504a39

Git commit b44cb0a897d8eba668f9c1aaf2ce5a35aecc5cb1 by jasker5183 on 23/01/2021 at 12:49..
Add bluetooth issue.md
https://invent.kde.org/neon/backports-focal/pipewire/commit/b44cb0a897d8eba668f9c1aaf2ce5a35aecc5cb1

Git commit 96d98c7955e99f5229e030bca9306e86deb66ef1 by Wim Taymans on 24/01/2021 at 19:33..
pulse-server: express latency in samples in all cases
https://invent.kde.org/neon/backports-focal/pipewire/commit/96d98c7955e99f5229e030bca9306e86deb66ef1

Git commit c913abffef60b4d035ee440a1f48a91a8364f57e by Wim Taymans on 24/01/2021 at 19:33..
pulse-server: Fix underrun check

We're underrun when we can't produce the required number of samples.

See #617
https://invent.kde.org/neon/backports-focal/pipewire/commit/c913abffef60b4d035ee440a1f48a91a8364f57e

Git commit ebf324590bd1ee68c10fa4c43bd16cdd1d8bf869 by Wim Taymans on 25/01/2021 at 09:55..
pod: handle various ways of making empty array/choice

Make it possible to make empty array/choice
Handle empty array/choice
Add some tests to make empty arrays/choice objects
https://invent.kde.org/neon/backports-focal/pipewire/commit/ebf324590bd1ee68c10fa4c43bd16cdd1d8bf869

Git commit 3366eeb65e2745071c1d0e3ba85d3ee2add85c76 by Wim Taymans on 25/01/2021 at 11:11..
media-session: restore route volumes

Follow the active input/output routes. If the route changes, restore
the previously saved settings. If only the properties change, save
them to be restored later.

Fixes #402
https://invent.kde.org/neon/backports-focal/pipewire/commit/3366eeb65e2745071c1d0e3ba85d3ee2add85c76

Git commit b3f728b1a01dde1d5ecb90ed01065aa0059cf5cb by Wim Taymans on 25/01/2021 at 12:07..
bluez5: set device.bus to bluetooth
https://invent.kde.org/neon/backports-focal/pipewire/commit/b3f728b1a01dde1d5ecb90ed01065aa0059cf5cb

Git commit 39f082fc869fdc2688fef172cd09f3428bb83ed2 by Wim Taymans on 25/01/2021 at 12:17..
default-profile: don't try to restore bluetooth profiles
https://invent.kde.org/neon/backports-focal/pipewire/commit/39f082fc869fdc2688fef172cd09f3428bb83ed2

Git commit 26d5fe373ed1cca5d0ef94a74d14326ae174f1ae by Wim Taymans on 25/01/2021 at 14:21..
bluez5: fix mute

Actually remember the mute state and use this when reporting our
state.

See #559
https://invent.kde.org/neon/backports-focal/pipewire/commit/26d5fe373ed1cca5d0ef94a74d14326ae174f1ae

Git commit 30d568403cb437a576d30b7b584972ce5d9a7abf by Wim Taymans on 25/01/2021 at 14:53..
bluez5: mark profiles as available
https://invent.kde.org/neon/backports-focal/pipewire/commit/30d568403cb437a576d30b7b584972ce5d9a7abf

Git commit 98a352768547231f1f822c0dbc5981d31f5298df by Wim Taymans on 25/01/2021 at 14:53..
media-session: init current_profile to invalid

So that we can detect a switch..
https://invent.kde.org/neon/backports-focal/pipewire/commit/98a352768547231f1f822c0dbc5981d31f5298df

Git commit c95bd1c3d4a55df083a41c29a01fd2177834e56f by Wim Taymans on 25/01/2021 at 15:00..
media-session: avoid restoring an unavailable profile
https://invent.kde.org/neon/backports-focal/pipewire/commit/c95bd1c3d4a55df083a41c29a01fd2177834e56f

Git commit fbb5dad6d1d649565010127c8d47396661c20bba by Wim Taymans on 25/01/2021 at 16:06..
alsa: bundle param changes

Only poll events and set_param can cause a param changed events.
Keep track of all the changes in the param user data and at the
end of the poll/set_param emit one notification for all changed
params.
https://invent.kde.org/neon/backports-focal/pipewire/commit/fbb5dad6d1d649565010127c8d47396661c20bba

Git commit 30848ada6ba1cf73d01dbe283fed8bd93803b541 by Jonas Holmberg on 26/01/2021 at 14:46..
alsa-pcm: Change resync warning to info

Do not print a warning when a client with custom latency disconnects.
https://invent.kde.org/neon/backports-focal/pipewire/commit/30848ada6ba1cf73d01dbe283fed8bd93803b541

Git commit ccf2254b6b31635b1d12fa908a2ba3b06bf3e962 by Wim Taymans (on behalf of jasker5183) on 26/01/2021 at 16:40..
Update libasound_module_pcm_pipewire.so location for Ubuntu
https://invent.kde.org/neon/backports-focal/pipewire/commit/ccf2254b6b31635b1d12fa908a2ba3b06bf3e962

Git commit cdce04bdb1f40d66cb6a2a2974f9b2623011f07c by Wim Taymans on 27/01/2021 at 12:48..
jack-device: set node.description

Some apps crash when it's not set
https://invent.kde.org/neon/backports-focal/pipewire/commit/cdce04bdb1f40d66cb6a2a2974f9b2623011f07c

Git commit 47d59ac4d937e4b2a01deedfe74a417756ad7ebc by Wim Taymans on 27/01/2021 at 12:48..
pulse-server: improve debug
https://invent.kde.org/neon/backports-focal/pipewire/commit/47d59ac4d937e4b2a01deedfe74a417756ad7ebc

Git commit cf35e5258693d081ddcc1f550b7e329432ed135f by Wim Taymans on 27/01/2021 at 12:48..
media-session: use the right define for the bitmask
https://invent.kde.org/neon/backports-focal/pipewire/commit/cf35e5258693d081ddcc1f550b7e329432ed135f

Git commit 64b078d7bbce24dbb15d5fdd85ab894250cf1ba2 by Wim Taymans on 27/01/2021 at 12:48..
acp: fix port and profile name lookup
https://invent.kde.org/neon/backports-focal/pipewire/commit/64b078d7bbce24dbb15d5fdd85ab894250cf1ba2

Git commit 33127577062f2c7d33ba3a7494596280ffc2d310 by Wim Taymans on 27/01/2021 at 12:48..
acp: use auto-profile and auto-port properties

Also disable initial automatic profile selection when auto-profile
is set to false
https://invent.kde.org/neon/backports-focal/pipewire/commit/33127577062f2c7d33ba3a7494596280ffc2d310

Git commit 585f533d27d48aca2feb0b2ef1b177fd4c9711c5 by Wim Taymans on 27/01/2021 at 12:48..
media-session: move profile selection to media-session

Disable automatic profile selection in the acp device
Implement selection of profiles in the default-profile module
https://invent.kde.org/neon/backports-focal/pipewire/commit/585f533d27d48aca2feb0b2ef1b177fd4c9711c5

Git commit fc68e901e5e7278ae63cd247ab84ddd581cdb017 by Wim Taymans on 27/01/2021 at 14:33..
pulse-server: don't count playing in underrun
https://invent.kde.org/neon/backports-focal/pipewire/commit/fc68e901e5e7278ae63cd247ab84ddd581cdb017

Git commit 0be851739ff4e93394fe490da01a4330e74427d0 by Wim Taymans on 27/01/2021 at 14:36..
improve config parsing

Use get_string to get object keys in a more generic way.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0be851739ff4e93394fe490da01a4330e74427d0

Git commit 82bc0710f0a9a8cee774b2c798645049646154aa by Wim Taymans on 27/01/2021 at 14:44..
media-session: use a default volume if unknown

Set a safe volume when there is no previously saved volume.
https://invent.kde.org/neon/backports-focal/pipewire/commit/82bc0710f0a9a8cee774b2c798645049646154aa

Git commit 295cba840496b0ab7953f504b99f785615d45458 by Wim Taymans on 27/01/2021 at 15:14..
policy-node: a virtual source is an output node
https://invent.kde.org/neon/backports-focal/pipewire/commit/295cba840496b0ab7953f504b99f785615d45458

Git commit 5dc2a7b793c12d9c823b3006f7c1cd71924b24e7 by Wim Taymans on 27/01/2021 at 15:27..
policy-node: reverse config direction for virtual devices

For a virtual source we want to configure it like a sink with
input ports and the monitor ports as the capture ports.
https://invent.kde.org/neon/backports-focal/pipewire/commit/5dc2a7b793c12d9c823b3006f7c1cd71924b24e7

Git commit c092f0c1c4471997c8ceff245c04c13b5d101bc5 by Wim Taymans (on behalf of Nicolai Syvertsen) on 27/01/2021 at 15:31..
pipewire-pulse: null sink must have a description

Certain pulseaudio clients crash if this is unset
https://invent.kde.org/neon/backports-focal/pipewire/commit/c092f0c1c4471997c8ceff245c04c13b5d101bc5

Git commit ebcdfe8f5df74de01df51d6c601ce577b1881aa4 by Nicolai Syvertsen on 27/01/2021 at 18:09..
pipewire-pulse: better default null sink description

This includes the sink_name and media class.
https://invent.kde.org/neon/backports-focal/pipewire/commit/ebcdfe8f5df74de01df51d6c601ce577b1881aa4

Git commit 7fa1833310f096a3b28dab1766ecfbabdcadbb24 by Wim Taymans on 27/01/2021 at 19:39..
bluez5: use function to get profile name
https://invent.kde.org/neon/backports-focal/pipewire/commit/7fa1833310f096a3b28dab1766ecfbabdcadbb24

Git commit b2e4f1358d1330568468d990ce6834a7e6cede6e by Wim Taymans on 27/01/2021 at 19:50..
bluez5: clean up some profile names
https://invent.kde.org/neon/backports-focal/pipewire/commit/b2e4f1358d1330568468d990ce6834a7e6cede6e

Git commit b8bac95dad890bbb2ed1b0a9bc97fb415bf30515 by Wim Taymans on 28/01/2021 at 10:43..
media-session: add info logging to profile restore logic
https://invent.kde.org/neon/backports-focal/pipewire/commit/b8bac95dad890bbb2ed1b0a9bc97fb415bf30515

Git commit 072d3a191c058b2f536308db161a61f8f5429866 by Wim Taymans on 28/01/2021 at 13:28..
media-session: keep track of all active routes

Keep track of active profile in default-routes so that we can restore
the prefered routes later.
Keep track of all active routes in an array. There can be more than
one active route per direction.
New routes will get their volume restored. Route changes will be saved.
https://invent.kde.org/neon/backports-focal/pipewire/commit/072d3a191c058b2f536308db161a61f8f5429866

Git commit fc08c79dad1b4df717e4cdeeb6288e45de7832e1 by Wim Taymans on 28/01/2021 at 13:36..
media-session: start timeout only when something changed
https://invent.kde.org/neon/backports-focal/pipewire/commit/fc08c79dad1b4df717e4cdeeb6288e45de7832e1

Git commit f03deb5324a73afc9af6fa58cd6f9a4df6da72cf by Wim Taymans on 28/01/2021 at 14:41..
media-session: try to avoid switching away from hdmi

When HDMI goes to sleep the profile becomes unavailable. Avoid
switching to Off in that case.
https://invent.kde.org/neon/backports-focal/pipewire/commit/f03deb5324a73afc9af6fa58cd6f9a4df6da72cf

Git commit c0ed88f2f924df7eb1d6285330b7254390930915 by Wim Taymans on 28/01/2021 at 15:56..
media-session: always try to activate the saved profile

When the current profile is not the saved profile, check if the
saved profile is available again and try to activate it.
https://invent.kde.org/neon/backports-focal/pipewire/commit/c0ed88f2f924df7eb1d6285330b7254390930915

Git commit 0ccad38df1026c9958db11209be359dae983d28f by Wim Taymans (on behalf of Jonas Holmberg) on 28/01/2021 at 16:18..
alsa-pcm: Fix target calculation

Use threshold instead of last_threshold so that early wakeup is detected
in handle_capture() when duration changes.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0ccad38df1026c9958db11209be359dae983d28f

Git commit e172effe71c0331def42c5ece0014b32fc66144e by Wim Taymans on 28/01/2021 at 16:56..
pulse-server: log the amount of underrun bytes
https://invent.kde.org/neon/backports-focal/pipewire/commit/e172effe71c0331def42c5ece0014b32fc66144e

Git commit ac3555d6fca37893c2a6672ce77e51c094493718 by Wim Taymans on 28/01/2021 at 16:56..
pulse-server: skip underrun more aggressively

Skip all of the underrun bytes immediately.

See #638
https://invent.kde.org/neon/backports-focal/pipewire/commit/ac3555d6fca37893c2a6672ce77e51c094493718

Git commit b65b291bb27b19cff8a67f18ab9b3f1791c72da6 by Wim Taymans on 28/01/2021 at 17:59..
pulse-server: make sure to count played samples

On underrun we need to keep on counting playing_for so fill this
in underrun and don't add this to missing to avoid double counting.

See #639
https://invent.kde.org/neon/backports-focal/pipewire/commit/b65b291bb27b19cff8a67f18ab9b3f1791c72da6

Git commit 8636c509f50e8f6b3006913f6a51894866e478ac by Wim Taymans on 28/01/2021 at 18:17..
pulser-server: revert attempt to flush more

size is later used as the buffer size and might be too large.
https://invent.kde.org/neon/backports-focal/pipewire/commit/8636c509f50e8f6b3006913f6a51894866e478ac

Git commit 0b69b92dc83cb849bc291e1aa6a2a92670c76fb8 by Wim Taymans on 28/01/2021 at 18:19..
json: init value with NULL

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

Git commit 09f423922d8fca454d1e564ad9eb8b8f32a8056d by Wim Taymans on 28/01/2021 at 18:30..
pulse-server: don't crash when alloc fails
https://invent.kde.org/neon/backports-focal/pipewire/commit/09f423922d8fca454d1e564ad9eb8b8f32a8056d

Git commit f8d57d03caa39ac1cae593d616ae2402adc4ddb1 by Wim Taymans on 28/01/2021 at 19:00..
pulse-server: keep separate counter for missing bytes

And only increment when consumed from ringbuffer. In underrun we
play silence and don't ask for the missing bytes.

Fixes #616
https://invent.kde.org/neon/backports-focal/pipewire/commit/f8d57d03caa39ac1cae593d616ae2402adc4ddb1

Git commit c64bf36e8ea9811155ffd053ecc7919692c6f4f2 by Jakub Adam on 28/01/2021 at 19:50..
gst: avoid crash with zero SPA_PARAM_BUFFERS_size

With sending and receiving pipelines:

  gst-launch videotestsrc ! tee !  pipewiresink mode=provide

  gst-launch pipewiresrc path=<node_id> ! videoconvert ! autovideosink

The first pipeline crashes when the other connects.

It happens because SPA_PARAM_BUFFERS_size passed to
pw_stream_update_params() upon pipewiresink's buffer pool activation is
zero. As a consequence, in gst_pipewire_pool_wrap_buffer(), d->type will
be SPA_ID_INVALID and the created GstBuffer will have no memory
appended. This ultimately leads to segfault in do_send_buffer().

If size hasn't been set in GstPipeWirePool's config before the
first buffer is to be rendered by pipewiresink, configure the pool with
the size of that first incoming buffer and activate the pool.
https://invent.kde.org/neon/backports-focal/pipewire/commit/c64bf36e8ea9811155ffd053ecc7919692c6f4f2

Git commit 6370d75efdbafe1f1c794429c22c060407fdad25 by Wim Taymans on 29/01/2021 at 08:18..
json: init value to ->cur instead of NULL

Or else we end up with a return value of ->cur - NULL, which might look
lik a positive result and cause a crash later on.

Fixes #641
https://invent.kde.org/neon/backports-focal/pipewire/commit/6370d75efdbafe1f1c794429c22c060407fdad25

Git commit 1ea8282a248e121d2cb2f9e0b0ce7975b7ebf055 by Wim Taymans on 29/01/2021 at 09:45..
pulse-server: don't update ringbuffer in underrun
https://invent.kde.org/neon/backports-focal/pipewire/commit/1ea8282a248e121d2cb2f9e0b0ce7975b7ebf055

Git commit ab5059cd07a463b6f76a7ecb1148513a6e883c27 by Wim Taymans on 29/01/2021 at 14:27..
alsa: add array of devices in EnumProfile

So that we can enumerate the possible Routes per device for
this profile as well.
https://invent.kde.org/neon/backports-focal/pipewire/commit/ab5059cd07a463b6f76a7ecb1148513a6e883c27

Git commit 2a1875fc35772257b0290c116fb375ee0e44b859 by Wim Taymans on 29/01/2021 at 14:37..
bluez: disable pause on idle by default
https://invent.kde.org/neon/backports-focal/pipewire/commit/2a1875fc35772257b0290c116fb375ee0e44b859

Git commit 7cc5026c022e91c07d19da67bb54aa2bf3ee6c9b by Wim Taymans on 29/01/2021 at 15:58..
pulse-server: remove useless _pop()
https://invent.kde.org/neon/backports-focal/pipewire/commit/7cc5026c022e91c07d19da67bb54aa2bf3ee6c9b

Git commit f43bcca35e27782517a1c33773aadc9d1924bd45 by Wim Taymans on 29/01/2021 at 15:59..
media-session: implement route selection and restore

Disable automatic port configuration in acp and move the logic
to the session manager.
Implement initial port selection and restore on profile activation.
Implement route switch when unavailable
Implement port settings save.
https://invent.kde.org/neon/backports-focal/pipewire/commit/f43bcca35e27782517a1c33773aadc9d1924bd45

Git commit 8fd120cb23e5fb00e4d1936af2cf80238b9f67d2 by Wim Taymans on 29/01/2021 at 16:23..
media-session: recheck route status when != available

Save the new state so we can detect changes
Check for available != yes to also recheck when the state becomes
unknown.
https://invent.kde.org/neon/backports-focal/pipewire/commit/8fd120cb23e5fb00e4d1936af2cf80238b9f67d2

Git commit f7db158bd6d2fa058e88cd29b797d4fd832ccdc5 by Pauli Virtanen on 30/01/2021 at 13:00..
media-session: give bluez5 objects driver.priority

Makes bluez devices as automatic default devices, with priority slightly
larger than alsa devices.  The priority.driver is also used by
pulse-server on determining automatic default devices, when no default
has been manually set.
https://invent.kde.org/neon/backports-focal/pipewire/commit/f7db158bd6d2fa058e88cd29b797d4fd832ccdc5

Git commit 494194c4bfe60484423a46f51b47231bc95f6cfa by Wim Taymans (on behalf of Pauli Virtanen) on 30/01/2021 at 17:23..
bluez5: allow selecting codecs to use in config file

For debugging, it may be useful to disable some of the codecs.  Enable
configuring this in config file, to make it more convenient for users,
who may not know how to recompile/install pipewire.
https://invent.kde.org/neon/backports-focal/pipewire/commit/494194c4bfe60484423a46f51b47231bc95f6cfa

Git commit 28376d1db23ae94f3b95e714e5e32236aef1f415 by Wim Taymans on 30/01/2021 at 18:31..
bluez: avoid warning
https://invent.kde.org/neon/backports-focal/pipewire/commit/28376d1db23ae94f3b95e714e5e32236aef1f415

Git commit 98dab7903ad2f4a9bd85539bfef960571f386e4d by Wim Taymans on 30/01/2021 at 18:32..
pulse-server: add buffer attributes as properties
https://invent.kde.org/neon/backports-focal/pipewire/commit/98dab7903ad2f4a9bd85539bfef960571f386e4d

Git commit d37742b4103b57036b23678fff9f90fedb7ffbfc by Wim Taymans on 30/01/2021 at 18:48..
pulse-server: handle prebuf better

prebuf == 0 should keep the read pointer updating
prebuf > 0 should pause
https://invent.kde.org/neon/backports-focal/pipewire/commit/d37742b4103b57036b23678fff9f90fedb7ffbfc

Git commit d1c0244512d5be300a40f3fc3e35340923187314 by Wim Taymans on 30/01/2021 at 19:38..
pulser-server: keep updating missing bytes if prebuf == 0
https://invent.kde.org/neon/backports-focal/pipewire/commit/d1c0244512d5be300a40f3fc3e35340923187314

Git commit 60aef11072ce02646374efa2d615f7720a15c8e8 by Wim Taymans on 30/01/2021 at 20:04..
pulse-server: if prebuf == 0, keep increasing playing_for

Or else the client pauses and time stops. Makes GStreamer
pipelines complete.
https://invent.kde.org/neon/backports-focal/pipewire/commit/60aef11072ce02646374efa2d615f7720a15c8e8

Git commit c778bd734ce0240b1385dc314226b544664b732a by Huang-Huang on 31/01/2021 at 01:01..
a2dp: improve codec specific transport socket send buffer size setting
https://invent.kde.org/neon/backports-focal/pipewire/commit/c778bd734ce0240b1385dc314226b544664b732a

Git commit b66e67db14283d6e5ed59879385d755b6723096f by Huang-Huang on 31/01/2021 at 16:01..
bluez5: unregister HSP dbus object paths when current HSP/HFP registration fails
https://invent.kde.org/neon/backports-focal/pipewire/commit/b66e67db14283d6e5ed59879385d755b6723096f

Git commit f6cc45f73654910493ec862ea5cf58ec583364ac by Wim Taymans (on behalf of Huang-Huang) on 31/01/2021 at 18:12..
bluez5: allow headset roles selecting
https://invent.kde.org/neon/backports-focal/pipewire/commit/f6cc45f73654910493ec862ea5cf58ec583364ac

Git commit b9f2e6a8c43cb2bffcb35bb901eb5bd3364789f3 by Huang-Huang on 31/01/2021 at 19:39..
bluez5: disable HSP AG by default in native backend
https://invent.kde.org/neon/backports-focal/pipewire/commit/b9f2e6a8c43cb2bffcb35bb901eb5bd3364789f3

Git commit 80368ab8ae83352b9d3cd5b07e6b95a6d19aa826 by Wim Taymans on 01/02/2021 at 14:16..
pulse-server: remove unused macro
https://invent.kde.org/neon/backports-focal/pipewire/commit/80368ab8ae83352b9d3cd5b07e6b95a6d19aa826

Git commit 5e15411af4cea1898d66fc4b21bb1e8dae8da458 by Wim Taymans on 01/02/2021 at 14:16..
alsa-monitor: use max channels on non-ACP devices

Otherwise, they might still negotiate to something less than the
max channels.
https://invent.kde.org/neon/backports-focal/pipewire/commit/5e15411af4cea1898d66fc4b21bb1e8dae8da458

Git commit be6410909f1255b21283c638b95823451235a886 by Wim Taymans on 01/02/2021 at 14:16..
audioadapter: remove some unused code
https://invent.kde.org/neon/backports-focal/pipewire/commit/be6410909f1255b21283c638b95823451235a886

Git commit a18a8c9e328e7b7ff12b22e36fdd47bdda629efa by Wim Taymans on 01/02/2021 at 17:02..
media-session: save and restore profile ports

Save the last explicitly set ports per profile.
When a profile change happens, restore the saved ports or select
the best port when nothing was saved.
https://invent.kde.org/neon/backports-focal/pipewire/commit/a18a8c9e328e7b7ff12b22e36fdd47bdda629efa

Git commit 748e2054534740820cdd04db44009261316fcd2b by Wim Taymans on 02/02/2021 at 09:42..
pulse-server: hand out silence when corked

In the corked state we simply hand out silence and don't try to
consume data from our ringbuffer.
Also set the corked state before syncing this with the data thread.

Fixes #662
https://invent.kde.org/neon/backports-focal/pipewire/commit/748e2054534740820cdd04db44009261316fcd2b

Git commit ce335b6d882ec56624439b1c7b1cc8f7444a680d by Wim Taymans (on behalf of Pauli Virtanen) on 02/02/2021 at 09:56..
bluez5: keep track of remote endpoints
https://invent.kde.org/neon/backports-focal/pipewire/commit/ce335b6d882ec56624439b1c7b1cc8f7444a680d

Git commit 0908588d0c1ef3c050103c3d6f8a2f57cf091fb9 by Wim Taymans (on behalf of Pauli Virtanen) on 02/02/2021 at 09:56..
bluez5: add codec check_caps + check vendor codec id for ldac & aptx
https://invent.kde.org/neon/backports-focal/pipewire/commit/0908588d0c1ef3c050103c3d6f8a2f57cf091fb9

Git commit e860f2bb4ea94edf87162c3a9c645f35d41e0ced by Wim Taymans (on behalf of Pauli Virtanen) on 02/02/2021 at 09:56..
bluez5: basic codec-switching framework
https://invent.kde.org/neon/backports-focal/pipewire/commit/e860f2bb4ea94edf87162c3a9c645f35d41e0ced

Git commit b642c7f2096996cbffc8b5b26a3c6df8f27c72cc by Wim Taymans (on behalf of Pauli Virtanen) on 02/02/2021 at 09:56..
bluez5: support device capability checks beyond A2DP caps + split sbc-xq to separate codec

We would like to have BT device codec capability checks beyond what's
possible based on A2DP caps.

Split SBC-XQ to a separate codec, and enable it in the device-dependent
check (although currently it just uses the config option).
https://invent.kde.org/neon/backports-focal/pipewire/commit/b642c7f2096996cbffc8b5b26a3c6df8f27c72cc

Git commit 0c74b90f0e702ad80bb608597ddfd108560a48fb by Wim Taymans (on behalf of Pauli Virtanen) on 02/02/2021 at 09:56..
bluez5: helper functions for querying codecs on device
https://invent.kde.org/neon/backports-focal/pipewire/commit/0c74b90f0e702ad80bb608597ddfd108560a48fb

Git commit 5d97351970080eef7fedea8db0351f4c01b0056f by Wim Taymans (on behalf of Pauli Virtanen) on 02/02/2021 at 09:56..
bluez5: expose different A2DP codecs as separate profiles

The codecs probably should become a separate param later on, but this
workaround at least makes existing UIs work.
https://invent.kde.org/neon/backports-focal/pipewire/commit/5d97351970080eef7fedea8db0351f4c01b0056f

Git commit 8ffde470800f8b9421954b7044d9df3b29cba252 by Wim Taymans (on behalf of Pauli Virtanen) on 02/02/2021 at 09:56..
bluez5: deal with device removal while we're switching the codec

Don't remove devices when there's a codec switch active, but check if
they should be removed once it completes.
https://invent.kde.org/neon/backports-focal/pipewire/commit/8ffde470800f8b9421954b7044d9df3b29cba252

Git commit 4d9e9fcc3310b32b76c68506734793a6840b1dee by Wim Taymans (on behalf of Pauli Virtanen) on 02/02/2021 at 09:56..
bluez5: emit events on profile change and handle them

BlueZ may connect transports long after DEVICE_PROFILE_TRANSPORT_SEC has
passed on already existing devices.  When this occurs, the bluez5
pipewire device should notify that the profile enumeration has changed.

Ignore these events during A2DP codec switch, and handle any changes
when the switch completes.
https://invent.kde.org/neon/backports-focal/pipewire/commit/4d9e9fcc3310b32b76c68506734793a6840b1dee

Git commit f841bc0b5b7ecd411441d57f719c88c97fc40f6e by Wim Taymans (on behalf of Pauli Virtanen) on 02/02/2021 at 09:56..
bluez5: remove pipewire device when bluez device disappears

The pipewire device holds a pointer to the device, and should be removed
when BlueZ removes the underlying device.
https://invent.kde.org/neon/backports-focal/pipewire/commit/f841bc0b5b7ecd411441d57f719c88c97fc40f6e

Git commit 9d74bd61a7ea3a045a50622561c477c754df95ab by Wim Taymans on 02/02/2021 at 10:00..
bluez5: fix debug line
https://invent.kde.org/neon/backports-focal/pipewire/commit/9d74bd61a7ea3a045a50622561c477c754df95ab

Git commit 47b6ce84b2b41ad4e99c6c347b353152fb77db78 by Wim Taymans on 02/02/2021 at 10:01..
channelmix: initialize with float
https://invent.kde.org/neon/backports-focal/pipewire/commit/47b6ce84b2b41ad4e99c6c347b353152fb77db78

Git commit 41063578a59009c73d9936cf0edd0756c9a60d59 by Wim Taymans on 02/02/2021 at 10:48..
bluez5: use for_each_safe when items can be removed

Removing items when iterating a list of only allowed when using the
_safe versions of for_each
https://invent.kde.org/neon/backports-focal/pipewire/commit/41063578a59009c73d9936cf0edd0756c9a60d59

Git commit 2b44f428454a33414e5f6aeeef50327adea032f4 by Wim Taymans on 02/02/2021 at 11:09..
pass the complete buffer size to snprintf

There is no reason to pass size-1, snprintf will always put a \0
at the end.
https://invent.kde.org/neon/backports-focal/pipewire/commit/2b44f428454a33414e5f6aeeef50327adea032f4

Git commit 0d2b9104d14beed5233e80cf10a47ccd33fd8b79 by Wim Taymans on 02/02/2021 at 14:13..
pulse-server: fix seek modes

Adjust missing when seeking and update the filled level correctly.

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

Git commit 379cbeaa5da7170c9ba35d67b52c31636710478b by Wim Taymans on 02/02/2021 at 14:17..
pw-cat: fix option for playback

Fixes #665
https://invent.kde.org/neon/backports-focal/pipewire/commit/379cbeaa5da7170c9ba35d67b52c31636710478b

Git commit 7c0081eb6f3dacb81ded67068bff29ad49e13eb1 by Wim Taymans on 02/02/2021 at 14:24..
pulse-server: move memblock back to debug
https://invent.kde.org/neon/backports-focal/pipewire/commit/7c0081eb6f3dacb81ded67068bff29ad49e13eb1

Git commit ab4223601f17ffe4b1eb19cec0ced2ee9d1e2268 by Huang-Huang on 02/02/2021 at 16:01..
bluez5: fix type of 'Codec' on remote endpoint

Vendor codec(LDAC, aptX) uses codec ID 0xff, use uint8 to fill it.
https://invent.kde.org/neon/backports-focal/pipewire/commit/ab4223601f17ffe4b1eb19cec0ced2ee9d1e2268

Git commit b8ef0fc5bbb7740ab51d7a8ce7a922760c931d66 by Wim Taymans on 02/02/2021 at 16:48..
module-access: make access.allowed an array

Reformat the config file a little
https://invent.kde.org/neon/backports-focal/pipewire/commit/b8ef0fc5bbb7740ab51d7a8ce7a922760c931d66

Git commit a48a4fc1bd689a4a97d875b1d2b83adbc44e6f63 by Wim Taymans on 02/02/2021 at 16:48..
conf: add comments for the other access permissions
https://invent.kde.org/neon/backports-focal/pipewire/commit/a48a4fc1bd689a4a97d875b1d2b83adbc44e6f63

Git commit 8befe9e2386b7e3b9f8818f79707cc6c726bac51 by Wim Taymans on 03/02/2021 at 09:02..
pulse-server: allow objects with priority 0 to be default

Also use the object with priority 0 as a best option when there
is not yet anything else.
https://invent.kde.org/neon/backports-focal/pipewire/commit/8befe9e2386b7e3b9f8818f79707cc6c726bac51

Git commit c9e13bc70f52651ef92645e726fdaa835f2a84e5 by Wim Taymans on 03/02/2021 at 09:34..
README: add donate link
https://invent.kde.org/neon/backports-focal/pipewire/commit/c9e13bc70f52651ef92645e726fdaa835f2a84e5

Git commit be7415dac89f8f90a7123606246777f4979c392b by Wim Taymans on 03/02/2021 at 10:46..
pw-top: improve period and rate columns
https://invent.kde.org/neon/backports-focal/pipewire/commit/be7415dac89f8f90a7123606246777f4979c392b

Git commit 0346b477ad5c82b7e0197723ba1a3bec58558888 by Wim Taymans (on behalf of Pauli Virtanen) on 03/02/2021 at 10:49..
bluez5: make routes compatible with default-route

default-route wants to have SPA_PARAM_ROUTE_devices and
card.profile.devices before it will restore routes. Add these
also for bluez5-devices.

Fixes restoring volumes on Bluetooth profile change.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0346b477ad5c82b7e0197723ba1a3bec58558888

Git commit ec1861c5d9261dc40bc1b8a858a22adbf3980c36 by Raghavendra on 03/02/2021 at 11:27..
libcamera: fix the build and capture issues with latest libcamera version.
https://invent.kde.org/neon/backports-focal/pipewire/commit/ec1861c5d9261dc40bc1b8a858a22adbf3980c36

Git commit 885748dfbd82985abbe396cb3272264ea2e0d163 by Wim Taymans on 03/02/2021 at 14:20..
0.3.21
https://invent.kde.org/neon/backports-focal/pipewire/commit/885748dfbd82985abbe396cb3272264ea2e0d163

Git commit 4c46495c38e146540383ccd67c5b3476109245b8 by Wim Taymans on 03/02/2021 at 18:27..
pw-dump: don't print unreadable params
https://invent.kde.org/neon/backports-focal/pipewire/commit/4c46495c38e146540383ccd67c5b3476109245b8

Git commit fdbcaeb20fb58affb275df6a6ee9e8445bef763b by Pauli Virtanen on 03/02/2021 at 21:00..
bluez5: fix bug in endpoint sort function
https://invent.kde.org/neon/backports-focal/pipewire/commit/fdbcaeb20fb58affb275df6a6ee9e8445bef763b

Git commit 4cf0826b4f6d5796872d53b6fab1a16105df6824 by Pauli Virtanen on 03/02/2021 at 22:05..
bluez5: connect to SBC endpoints in order of preference

High sampling frequencies should be preferred.  SBC-XQ should also
prefer dual channel.
https://invent.kde.org/neon/backports-focal/pipewire/commit/4cf0826b4f6d5796872d53b6fab1a16105df6824

Git commit 3659d70aeff36b735c62260e0f2cdb2087980a8e by Wim Taymans on 04/02/2021 at 09:31..
acp: complain louder when profile files are missing
https://invent.kde.org/neon/backports-focal/pipewire/commit/3659d70aeff36b735c62260e0f2cdb2087980a8e

Git commit d85862af712ab98b604c9c946effb629c63e7c99 by Wim Taymans on 04/02/2021 at 10:48..
module-access: fall back to client requested access mode

When nothing else was decided, use the client requested access
method. The idea is that pipewire-pulse will detect a flatpak client
an performs the pipewire connection on behalf of the client,
requesting flatpak access restrictions.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d85862af712ab98b604c9c946effb629c63e7c99

Git commit 1581b6cfce2b4b4148ee169736c6b7476b3095bc by Wim Taymans on 04/02/2021 at 10:53..
media-session: give more permissions to Manager flatpaks

If a flatpak app has the Manager media.category set, assign more
permissions to it for now. We should later check with the
permission store if this is really allowed.
https://invent.kde.org/neon/backports-focal/pipewire/commit/1581b6cfce2b4b4148ee169736c6b7476b3095bc

Git commit 62cf8c6130fab08a773095c0ee0581193a3832e2 by Wim Taymans on 04/02/2021 at 11:52..
alsa-plugin: improve client name
https://invent.kde.org/neon/backports-focal/pipewire/commit/62cf8c6130fab08a773095c0ee0581193a3832e2

Git commit 5aa7746c95c1776d144638fdad012cfe857d34eb by Wim Taymans on 04/02/2021 at 12:26..
rework param updates

Make it possible to add a NULL param to the pending list. The NULL
param removes all previous updates.
When applying the updates, the NULL param removes the params from
the target list.

This has two advantages: it actually removes params that become
unreadable or that got removed and it allows us to update the target
list more efficiently in one single loop.
https://invent.kde.org/neon/backports-focal/pipewire/commit/5aa7746c95c1776d144638fdad012cfe857d34eb

Git commit 20008b4846f4c86e6d6641c95045cd8360eebcfc by Wim Taymans on 04/02/2021 at 13:53..
pulse-server: actually fill in the maxlenght and fragsize..
https://invent.kde.org/neon/backports-focal/pipewire/commit/20008b4846f4c86e6d6641c95045cd8360eebcfc

Git commit 3450bea4167573d3d364e1a768605d11be241293 by Wim Taymans on 04/02/2021 at 14:48..
jack: implement some missing methods

to make qjackctl 0.9.0 work
https://invent.kde.org/neon/backports-focal/pipewire/commit/3450bea4167573d3d364e1a768605d11be241293

Git commit 5e9246e1f7f0b3f8fc526a1cbc182709b7cf464e by Wim Taymans (on behalf of thedannysmith) on 04/02/2021 at 16:14..
alsa-plugin: change hw-constrainy buffer-size
https://invent.kde.org/neon/backports-focal/pipewire/commit/5e9246e1f7f0b3f8fc526a1cbc182709b7cf464e

Git commit 32a3913933e52cfa9b8d15caca9862fddac7c8f5 by Wim Taymans on 04/02/2021 at 16:15..
alsa-plugin: use MIN_BUFFERS for max as well

To get a more reasonable max
https://invent.kde.org/neon/backports-focal/pipewire/commit/32a3913933e52cfa9b8d15caca9862fddac7c8f5

Git commit be25a00ddb5696322c9a3a4c4d99b8de5a08e462 by Wim Taymans on 04/02/2021 at 16:18..
pulse-server: detect flatpak and pass on the pipewire connection
https://invent.kde.org/neon/backports-focal/pipewire/commit/be25a00ddb5696322c9a3a4c4d99b8de5a08e462

Git commit 994fc1169eb06ff02d9261f19e53a64a051c8d37 by Wim Taymans on 04/02/2021 at 19:56..
Revert "rework param updates"

This reverts commit 5aa7746c95c1776d144638fdad012cfe857d34eb.

Routes are duplicated for some reason, needs more debugging.
https://invent.kde.org/neon/backports-focal/pipewire/commit/994fc1169eb06ff02d9261f19e53a64a051c8d37

Git commit da5f17f653421558a2567374be4bb2b486a14d74 by Pauli Virtanen on 05/02/2021 at 03:00..
bluez5: enable A2DP delay reporting

Inform BlueZ we'd like delay reporting from remote devices.
https://invent.kde.org/neon/backports-focal/pipewire/commit/da5f17f653421558a2567374be4bb2b486a14d74

Git commit c25bdce64553aaad4f4647ef07fd210aa4dcc19f by Wim Taymans on 05/02/2021 at 10:03..
rework param updates

Make it possible to add a NULL param to the pending list. The NULL
param removes all previous updates.
When applying the updates, the NULL param removes the params from
the target list.

For the cached params in the node/device/port we need to be careful
because multiple clients might ask for updates concurrently. Clear
the pending list whenever a new param update starts so that we always
only keep the last set of updates.

This has two advantages: it actually removes params that become
unreadable or that got removed and it allows us to update the target
list more efficiently in one single loop.
https://invent.kde.org/neon/backports-focal/pipewire/commit/c25bdce64553aaad4f4647ef07fd210aa4dcc19f

Git commit 4f28edd4f76083904e593a919685f23a20453b17 by Wim Taymans on 05/02/2021 at 10:36..
pulse-server: limit packets to fragsize

When sending captured data to a client, pulseaudio limits the
size of the block to the fragsize. Let's do the same just in case
a client can't deal with more data.

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

Git commit 972e740519c95f57575eb1acea59d54c1fe78c3b by Wim Taymans on 05/02/2021 at 11:12..
Don't advertize formats we don't yet support

We don't handle the reverse endian formats yet so make sure we
don't advertize them.
https://invent.kde.org/neon/backports-focal/pipewire/commit/972e740519c95f57575eb1acea59d54c1fe78c3b

Git commit 6249b00b9aaf9d1771e64ae423f1c533a3d175f5 by Wim Taymans on 05/02/2021 at 14:08..
audioconvert: add volume ops

Add volume helpers and use this for the monitor output ports so
that we can add volumes to the monitor output signal as well.
https://invent.kde.org/neon/backports-focal/pipewire/commit/6249b00b9aaf9d1771e64ae423f1c533a3d175f5

Git commit cf6d7b5dee71221c90a7c3f0f5c1fc7d7c4434f4 by Wim Taymans on 05/02/2021 at 16:11..
spa: add properties for monitor volume/mute
https://invent.kde.org/neon/backports-focal/pipewire/commit/cf6d7b5dee71221c90a7c3f0f5c1fc7d7c4434f4

Git commit 1511f19f705940a9e7a6b9f4ff9ded3b3b6b3823 by Wim Taymans on 05/02/2021 at 16:12..
audioconvert: handle monitor volumes

Implement monitor volumes in the merger. There are two volumes,
the channel volume and the monitor volume. The monitor volume
is always applied.

By default the monitor volume will now follow the main volume of
the node. This can be disabled with a monitor.channel-volumes
property.

See #674
https://invent.kde.org/neon/backports-focal/pipewire/commit/1511f19f705940a9e7a6b9f4ff9ded3b3b6b3823

Git commit 11900bbd6709835e3f0d200831344d33429bd5d9 by Wim Taymans on 05/02/2021 at 16:29..
audioconvert: add missing file
https://invent.kde.org/neon/backports-focal/pipewire/commit/11900bbd6709835e3f0d200831344d33429bd5d9

Git commit ce7a8c9538751701b993f62228deac7fb764eda7 by Wim Taymans on 05/02/2021 at 16:34..
media-session: put match rules in "" to avoid confusion
https://invent.kde.org/neon/backports-focal/pipewire/commit/ce7a8c9538751701b993f62228deac7fb764eda7

Git commit 6c02fd663a8bb5cd07d84de84cabf383c9e6643a by Wim Taymans on 05/02/2021 at 16:41..
merger: handle monitor mute as well
https://invent.kde.org/neon/backports-focal/pipewire/commit/6c02fd663a8bb5cd07d84de84cabf383c9e6643a

Git commit db6baf618841e4d55921fc9b061ddacadc0a2411 by Wim Taymans (on behalf of Pauli Virtanen) on 06/02/2021 at 18:10..
media-session: use separate keys for configured default nodes

Use separate metadata keys for the current effective default nodes
(default.*), and user-configured ones (default.configured.*).

default-nodes saves and restores the configured ones, and policy-node
keeps the effective ones up to date.

For pipewire users, the effective default values should be considered
read-only, as changing them will not have an effect.  To avoid
confusion, policy-nodes will reset their values back immediately if they
are changed.
https://invent.kde.org/neon/backports-focal/pipewire/commit/db6baf618841e4d55921fc9b061ddacadc0a2411

Git commit d617d7e1a3358ad8129ba0b0775015d7dd88bbcd by Wim Taymans (on behalf of Pauli Virtanen) on 06/02/2021 at 18:10..
pulse-server: SET_DEFAULT_* commands change the configured values
https://invent.kde.org/neon/backports-focal/pipewire/commit/d617d7e1a3358ad8129ba0b0775015d7dd88bbcd

Git commit e0557e0ca8eab4ec269df589878e261c42f45ce7 by Wim Taymans (on behalf of Pauli Virtanen) on 06/02/2021 at 18:12..
bluez5: disable codec switching when in A2DP sink role

Devices that expect pipewire to function as a sink don't seem to like it
switching codecs. Disable codec switching when device is a source.
https://invent.kde.org/neon/backports-focal/pipewire/commit/e0557e0ca8eab4ec269df589878e261c42f45ce7

Git commit 3e9bf908ac9684a1257aed93b598caa801e9cf97 by Pauli Virtanen on 06/02/2021 at 18:19..
pulse-server: clients expect stream names to be non-null

Fixes crash in pavucontrol when media name is missing.
https://invent.kde.org/neon/backports-focal/pipewire/commit/3e9bf908ac9684a1257aed93b598caa801e9cf97

Git commit f1e56b2317ce096bb8506dbf89fb5ff237992773 by Pauli Virtanen on 06/02/2021 at 18:24..
bluez5: provide media.name for a2dp source streams

A2DP source acts as Stream/Output/Audio, so provide media.name for it
indicating the device it comes from (e.g. shown in pulseaudio apps).
https://invent.kde.org/neon/backports-focal/pipewire/commit/f1e56b2317ce096bb8506dbf89fb5ff237992773

Git commit 0be2959f119e1b925c48e76161d62bfee0614422 by Wim Taymans on 06/02/2021 at 19:20..
json: strip spaces and special chars when copying objects

When turning an object into a string, strip out all special chars
and duplicate spaces.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0be2959f119e1b925c48e76161d62bfee0614422

Git commit 78e2e2c27b1ca9032eeb0bf456314f12eaf50e71 by Wim Taymans on 06/02/2021 at 19:45..
json: handle comments when stripping

Or else everything becomes part of the first comment.
https://invent.kde.org/neon/backports-focal/pipewire/commit/78e2e2c27b1ca9032eeb0bf456314f12eaf50e71

Git commit b61c4a88c455b31ed943ec68d580f5e2b2592b38 by Wim Taymans on 06/02/2021 at 19:46..
properties: use json parse_string

So that properties with object values get stripped properly.
https://invent.kde.org/neon/backports-focal/pipewire/commit/b61c4a88c455b31ed943ec68d580f5e2b2592b38

Git commit febe8054e4e04ddfe2e143efe2f6b911957257cd by Wim Taymans on 06/02/2021 at 20:08..
json: revert strippinf code, this needs more work
https://invent.kde.org/neon/backports-focal/pipewire/commit/febe8054e4e04ddfe2e143efe2f6b911957257cd

Git commit 746c714b0c08f2d230f2d783d2943dd84306636d by Wim Taymans on 07/02/2021 at 18:25..
properties: fix value allocation

We need an extra byte for the \0
https://invent.kde.org/neon/backports-focal/pipewire/commit/746c714b0c08f2d230f2d783d2943dd84306636d

Git commit d68bad4673c78c84d0f97289dceec6a4afcc5c14 by Wim Taymans (on behalf of Pauli Virtanen) on 07/02/2021 at 18:32..
bluez5: fix a2dp-source clock rate + stuttering

Make a2dp clock advance at the correct rate.

Revert back to accumulating to a single buffer before sending it out.
What it did previously seemed hard to get to work properly with e.g.
aptx which produces block of varying sizes on decoding.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d68bad4673c78c84d0f97289dceec6a4afcc5c14

Git commit d3d31c4317a98b5781c9ddca10dc0045fee3141a by Wim Taymans (on behalf of Pauli Virtanen) on 07/02/2021 at 18:32..
bluez5: don't force a2dp-source as driver

Don't force a2dp-source to be driver, because it won't advance clock if
the device is not sending data, and possibly blocks other streams.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d3d31c4317a98b5781c9ddca10dc0045fee3141a

Git commit f99eefeb4f1998bcc0cbde015a1d8566ec1c9d5c by Wim Taymans (on behalf of Pauli Virtanen) on 07/02/2021 at 18:32..
bluez5: a2dp-source: release transport if it went idle

Release the transport if it went idle, ensuring that the fd is closed,
and add safeguards we won't double-acquire/release it.

This can occur if the device pauses the playback. The transport may also
activate again later on, and in this case we need to reacquire a new fd.
Not closing the old fd causes problems in this case.

However, apparently the BlueZ Release() call fails if the transport is
idle. We just ignore the error and downgrade the error message; it might
not be safe to not call Release() because the idle property update is
async.
https://invent.kde.org/neon/backports-focal/pipewire/commit/f99eefeb4f1998bcc0cbde015a1d8566ec1c9d5c

Git commit cd78003e6611bdceb729a98f1b16caa52b423747 by Bao, Huang-Huang (on behalf of Huang-Huang) on 07/02/2021 at 18:38..
bluez5: don't create device if there is no connected profile
https://invent.kde.org/neon/backports-focal/pipewire/commit/cd78003e6611bdceb729a98f1b16caa52b423747

Git commit 63c5fadcfcd277b0ed7a4de868d002c2b464a536 by Wim Taymans on 07/02/2021 at 18:43..
a2dp: fix compiler warnings
https://invent.kde.org/neon/backports-focal/pipewire/commit/63c5fadcfcd277b0ed7a4de868d002c2b464a536

Git commit 37d8cbd5d6174790b7e1b9968441059d706ee270 by Wim Taymans on 07/02/2021 at 19:22..
bluez5: make min buffer size match the latency

We request a latency of at least 512 so make sure we have buffers that
large.

See #680
https://invent.kde.org/neon/backports-focal/pipewire/commit/37d8cbd5d6174790b7e1b9968441059d706ee270

Git commit e3d19e560233db8d095f1e386f58eaa181862b3e by Wim Taymans on 08/02/2021 at 09:24..
a2dp: small cleanups
https://invent.kde.org/neon/backports-focal/pipewire/commit/e3d19e560233db8d095f1e386f58eaa181862b3e

Git commit cd2a7aebaf8fc05aa56d8f5bf99bd6e26c4443f6 by Wim Taymans on 08/02/2021 at 09:24..
a2dp-sink: don't force flush on every buffer

Don't force flush on every buffer but accumulate enough data
first. This avoids sending many small packets when the quantum is
small.

See #680
https://invent.kde.org/neon/backports-focal/pipewire/commit/cd2a7aebaf8fc05aa56d8f5bf99bd6e26c4443f6

Git commit 210950dc0ac5a4a4649c0e112681b0959ef2b663 by Wim Taymans on 08/02/2021 at 09:59..
context: disable mlock warnings by default

Make this a tunable option instead.
https://invent.kde.org/neon/backports-focal/pipewire/commit/210950dc0ac5a4a4649c0e112681b0959ef2b663

Git commit 94ec577dcd005b3a5472ab332948a88dc1bd2279 by Wim Taymans on 08/02/2021 at 10:48..
alsa: make sure _recover() works from SUSPENDED

Pass -ESTRPIPE to _recover() when our state is SUSPENDED so that
it always attempts to resume, regardless of the error code.
https://invent.kde.org/neon/backports-focal/pipewire/commit/94ec577dcd005b3a5472ab332948a88dc1bd2279

Git commit cd5ceae69e8de3bf6932a96eab45c8543d646369 by Wim Taymans on 08/02/2021 at 13:56..
systemd: remove LimitMEMLOCK lines

The LimitMEMLOCK lines can only lower the use limits so it is not
very useful.

See #692
https://invent.kde.org/neon/backports-focal/pipewire/commit/cd5ceae69e8de3bf6932a96eab45c8543d646369

Git commit 0f028dab40f5631c4bda6f052c7cdf3e02049737 by Wim Taymans on 08/02/2021 at 14:29..
jack: use the context data thread

Configure the data thread as cancelable, there is no need to make
another thread.

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

Git commit ecd1d3e1d7950316778fe40b926bf64cd85fb725 by Wim Taymans on 08/02/2021 at 16:19..
Move node.pause-on-idle setting to config files

So that we can configure it.
Add some more docs to the config file
https://invent.kde.org/neon/backports-focal/pipewire/commit/ecd1d3e1d7950316778fe40b926bf64cd85fb725

Git commit 085fd536be5da0ad894ae5bad808266c3e192544 by Wim Taymans on 08/02/2021 at 16:30..
daemon: make flags parse like an array
https://invent.kde.org/neon/backports-focal/pipewire/commit/085fd536be5da0ad894ae5bad808266c3e192544

Git commit 19b6942965bcc31b5672b2996ea993ea8e275738 by Wim Taymans on 08/02/2021 at 17:02..
jack: use PIPEWIRE_PROFILE_MODULES first

We want to respect the PROFILE_MODULES settings if any or else
we use the default,rtkit profile.

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

Git commit c14361b19d7406caa01513a44d1b321e061ce5c3 by jasker5183 on 08/02/2021 at 17:14..
Spelling/Punctuation Fixes
https://invent.kde.org/neon/backports-focal/pipewire/commit/c14361b19d7406caa01513a44d1b321e061ce5c3

Git commit dc66df134bd3710ceea39690d03241763ff1b44b by Wim Taymans (on behalf of jasker5183) on 08/02/2021 at 18:17..
alsa-monitor.conf Spelling/Punctuation Fixes
https://invent.kde.org/neon/backports-focal/pipewire/commit/dc66df134bd3710ceea39690d03241763ff1b44b

Git commit 246f7bd77e3939762977e6f81a253fb78f6236e6 by Wim Taymans (on behalf of jasker5183) on 08/02/2021 at 18:19..
bluez-monitor.conf Formatting/Punctuation Fixes
https://invent.kde.org/neon/backports-focal/pipewire/commit/246f7bd77e3939762977e6f81a253fb78f6236e6

Git commit 90d8589fb9a7b5d2d7f784bc0609a6a627781641 by Wim Taymans on 08/02/2021 at 18:52..
pw-dump: always output colors and add option to disable

-N disables colors now. Usually we want to preserve them in debug
files and grep etc.
Use less -R to get colors

See #698
https://invent.kde.org/neon/backports-focal/pipewire/commit/90d8589fb9a7b5d2d7f784bc0609a6a627781641

Git commit 20e1b4f639b09a28c832d9ef5675accfef132251 by Wim Taymans (on behalf of jasker5183) on 09/02/2021 at 07:52..
media-session.conf Formatting/Punctuation
https://invent.kde.org/neon/backports-focal/pipewire/commit/20e1b4f639b09a28c832d9ef5675accfef132251

Git commit 5e2130f6f7d4c92aaef0d96cec26ca1264417b49 by Wim Taymans (on behalf of jasker5183) on 09/02/2021 at 07:54..
v4l2-monitor.conf Formatting/Punctuation Fixes
https://invent.kde.org/neon/backports-focal/pipewire/commit/5e2130f6f7d4c92aaef0d96cec26ca1264417b49

Git commit 2eaf10d5b3e4f39c6619eb0e353a9553e3f96e8c by Wim Taymans (on behalf of jasker5183) on 09/02/2021 at 07:55..
pipewire.conf Formatting #2
https://invent.kde.org/neon/backports-focal/pipewire/commit/2eaf10d5b3e4f39c6619eb0e353a9553e3f96e8c

Git commit ef150bfb3ce760596f14c9ce20baa64484113ab7 by Wim Taymans on 09/02/2021 at 09:26..
jack: return an empty session command

We need to return an empty message because apps don't expect a
NULL pointer.
https://invent.kde.org/neon/backports-focal/pipewire/commit/ef150bfb3ce760596f14c9ce20baa64484113ab7

Git commit e6ea01046ee17d542fd26cb0b75d5d2f401ab75d by Wim Taymans on 09/02/2021 at 09:57..
media-session: add some logging to bluez volume handling

See #699
https://invent.kde.org/neon/backports-focal/pipewire/commit/e6ea01046ee17d542fd26cb0b75d5d2f401ab75d

Git commit 51cfb98ea652565cd4da48fb290808269519e6bc by Wim Taymans on 09/02/2021 at 15:09..
jack: Pass custom flags as port.extra info

Make a port.extra property that contains API specific extra port
information that is passed in the global object properties.
Use this to pass the custom jack flags for a port. Carla uses this
to mark CV ports.
https://invent.kde.org/neon/backports-focal/pipewire/commit/51cfb98ea652565cd4da48fb290808269519e6bc

Git commit 44d8a0a4c1b82322c2a610c716a3af5c243e1b01 by Frédéric Danis on 09/02/2021 at 15:12..
bluez5: Expose WBS in HFP AG SDP record

Updates the available values for SDP records and BRSF for both Hands-Free
profile version 1.7.
https://invent.kde.org/neon/backports-focal/pipewire/commit/44d8a0a4c1b82322c2a610c716a3af5c243e1b01

Git commit 739f3b9f7f6e7689b0122f558c1e7d883f4fa9e0 by Wim Taymans on 09/02/2021 at 16:37..
media-session: disable JACK device by default

It is most likely to fail right now.
https://invent.kde.org/neon/backports-focal/pipewire/commit/739f3b9f7f6e7689b0122f558c1e7d883f4fa9e0

Git commit d60f2b9b92751df0692949719077ed593ef73a62 by Wim Taymans on 09/02/2021 at 16:37..
pulse-server: write captured data in fragsize chunks

Keep on queuing chunks of fragsize length until we read all the
captured data. Else we would fall behind and really never catch
up.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d60f2b9b92751df0692949719077ed593ef73a62

Git commit c3c6dcf53ff2e9a4c7051577abf78e7fc4e1456f by Wim Taymans on 09/02/2021 at 17:15..
conf: add an example for a virtual source
https://invent.kde.org/neon/backports-focal/pipewire/commit/c3c6dcf53ff2e9a4c7051577abf78e7fc4e1456f

Git commit c140a573be476a4e5d3550f8fe2dfc26c5670ada by Wim Taymans on 09/02/2021 at 17:17..
pulse-server: try to avoid setting the same volume/mute
https://invent.kde.org/neon/backports-focal/pipewire/commit/c140a573be476a4e5d3550f8fe2dfc26c5670ada

Git commit 5b36d77ed0fc0e088cf3a8c521ce76bc64bdc0f9 by Wim Taymans on 09/02/2021 at 17:28..
conf: fix the example...
https://invent.kde.org/neon/backports-focal/pipewire/commit/5b36d77ed0fc0e088cf3a8c521ce76bc64bdc0f9

Git commit 640f34d8e24059104347b49dab173142a2cd5e53 by Wim Taymans (on behalf of Frédéric Danis) on 09/02/2021 at 18:08..
bluez: Fix HSP command parser

The HSP command parser should not reply, with 'OK' or 'ERROR', to result
codes from the remote AG.
Split the command parser in AG and HS part.
https://invent.kde.org/neon/backports-focal/pipewire/commit/640f34d8e24059104347b49dab173142a2cd5e53

Git commit d624ed26f4a00dcbfd4ed958596fa13b1d445eaa by Wim Taymans (on behalf of Jonas Holmberg) on 09/02/2021 at 18:09..
media-session: add alsa.reserve property to alsa-monitor
https://invent.kde.org/neon/backports-focal/pipewire/commit/d624ed26f4a00dcbfd4ed958596fa13b1d445eaa

Git commit f977c45240a9db8ddff9711a52acb4ef709e6184 by Wim Taymans (on behalf of Jonas Holmberg) on 09/02/2021 at 18:09..
media-session: add dbus property to media-session
https://invent.kde.org/neon/backports-focal/pipewire/commit/f977c45240a9db8ddff9711a52acb4ef709e6184

Git commit d57c9bd1bd4948f14de6b6eff1749fee41d40ec4 by Pauli Virtanen on 09/02/2021 at 22:18..
bluez5: aac: reject MPEG4_AAC_LTP, MPEG4_AAC_SCA in select_config

These modes are not actually supported by the code, so it should not
accept them.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d57c9bd1bd4948f14de6b6eff1749fee41d40ec4

Git commit 895097230dfa8a5d08b68fb8671480e943846c0e by Wim Taymans on 10/02/2021 at 10:20..
context: add context.module.args property

Add a new property that is passed to the default modules when they
are loaded. This allows basic configuration of the automatically
loaded client modules.
https://invent.kde.org/neon/backports-focal/pipewire/commit/895097230dfa8a5d08b68fb8671480e943846c0e

Git commit 83c403ed1c4ed2492540e2209f60fb887b39a4a3 by Wim Taymans on 10/02/2021 at 10:23..
jack: use PIPEWIRE_PROPS for the context as well

Use PIPEWIRE_PROPS to create and connect the context as well. This
makes it possible to pass configuration to the modules loaded by
the context such as:

PIPEWIRE_PROPS="context.modules.args={nice.level=-14}" jack_simple_client

To set the nice level of the jack app.

See #698
https://invent.kde.org/neon/backports-focal/pipewire/commit/83c403ed1c4ed2492540e2209f60fb887b39a4a3

Git commit 2af7f8204abcafdb925f7e2ba9c044b396af76c0 by Wim Taymans on 10/02/2021 at 10:54..
media-session: remove add_spa_lib, we do this in the config
https://invent.kde.org/neon/backports-focal/pipewire/commit/2af7f8204abcafdb925f7e2ba9c044b396af76c0

Git commit add8329374d0ba6c0e2a8ee2ec2744e55972aa7d by Wim Taymans (on behalf of Frédéric Danis) on 10/02/2021 at 10:57..
bluez5: Use str2ba() function

bluez5 SPA is already linked to the BlueZ library so we can use this
helper function and simplify code.
https://invent.kde.org/neon/backports-focal/pipewire/commit/add8329374d0ba6c0e2a8ee2ec2744e55972aa7d

Git commit 0ce6de8fdf56ee6117b195495af5ef11c3fe8c67 by Wim Taymans (on behalf of George Kiagiadakis) on 10/02/2021 at 11:52..
src: change license (LGPL -> MIT) on left-over LGPL files

Discussed with and approved by Wim
https://invent.kde.org/neon/backports-focal/pipewire/commit/0ce6de8fdf56ee6117b195495af5ef11c3fe8c67

Git commit 210400438290faa59790ca30926ac22e1dedb4b6 by George Kiagiadakis on 10/02/2021 at 13:53..
meson: disable the vulkan plugin by default

It unnecessarily introduces a dependency and gives the wrong
impression to packagers about this feature, which is not
actually something useful or even usable outside the build tree
https://invent.kde.org/neon/backports-focal/pipewire/commit/210400438290faa59790ca30926ac22e1dedb4b6

Git commit 3c0821775f9ce86e83eab087d409ab27f87680cf by Nicolai Syvertsen on 10/02/2021 at 18:12..
pipewire-pulse: Don't send sink-input volume updates unless it has actually changed
https://invent.kde.org/neon/backports-focal/pipewire/commit/3c0821775f9ce86e83eab087d409ab27f87680cf

Git commit beaec3d0032d7a986c6319a269cbb81cbbc66064 by Wim Taymans (on behalf of Pauli Virtanen) on 11/02/2021 at 11:13..
bluez5: set initial profile based on what's connected at startup

Set initial device profile according to what's connected at startup,
rather than having media-session try to set it to A2DP (and fail, if the
profile was not connected, resulting to startup in null profile).

This avoids making a codec switch at device startup (we'll stay with
what BlueZ autoconnected us to, usually the previously used codec).
https://invent.kde.org/neon/backports-focal/pipewire/commit/beaec3d0032d7a986c6319a269cbb81cbbc66064

Git commit 6b11bf71f32a3e752833e217ca1b413cbd380620 by Wim Taymans on 11/02/2021 at 11:17..
media-session: remove unused code
https://invent.kde.org/neon/backports-focal/pipewire/commit/6b11bf71f32a3e752833e217ca1b413cbd380620

Git commit b6108df6f3060a50e84942e21d64bda273609bdf by Pauli Virtanen on 11/02/2021 at 19:55..
bluez5: remove device on disconnect

Do device_remove when device disconnects.

This can occur, as profile check is not run on HFP/HSP profile
disconnect.
https://invent.kde.org/neon/backports-focal/pipewire/commit/b6108df6f3060a50e84942e21d64bda273609bdf

Git commit 0d56f717bf430e20dfd3814a07c6cb8f4def8697 by Wim Taymans (on behalf of Ivan) on 12/02/2021 at 05:26..
style: Reformat config files

Use spaces instead of tabs (as they depend on text editor settings).
Make configuration files more readable and consistent seeing as there
were some mixed indentation and styling.
Also put some logic into styling.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0d56f717bf430e20dfd3814a07c6cb8f4def8697

Git commit c605672d434484ccdcc5b3b802ddfb6c123eecad by Wim Taymans on 12/02/2021 at 09:07..
Implement per client config files

Move the daemon config file loading to a new conf.c file used by
the context to load the configuration. This replaces the module
profiles and some hacks to move properties around.

If there is nothing other specified with $PIPEWIRE_CONFIG_NAME or
a property, the client.conf file is loaded as a fallback.

Update the session manager config file to load the modules via the
config now. Rename the session modules section to another name.

Update pipewire-pulse to also load a specific pulse property file.
This then makes it pssible to assign specific RT priorities for the
pipewire-pulse process.
https://invent.kde.org/neon/backports-focal/pipewire/commit/c605672d434484ccdcc5b3b802ddfb6c123eecad

Git commit fc90a4e48a7072e17eeeb44b81efd7f7cc835e8a by Wim Taymans on 12/02/2021 at 09:25..
Implement config/state file handling

Make methods to load_config and load/save state. For now the config
and state directories are the same but it might not be. Implement
the search path for all config/state files as:

  $XDG_CONFIG_HOME/[$prefix]/$name
  $HOME/.config/[$prefix]/$name
  $PIPEWIRE_CONFIG_DIR/pipewire/[$prefix]/$name
  /etc/pipewire/[$prefix]/$name

Make some config files for jack and RT clients. Make pw-cat use the
client-rt config.

Use core state and config management in media-session.
Move all session manager state and config files to the build dir and
set the PIPEWIRE_CONFIG_DIR to this build dir.
https://invent.kde.org/neon/backports-focal/pipewire/commit/fc90a4e48a7072e17eeeb44b81efd7f7cc835e8a

Git commit 80825aeaea752a4ca50aedf3a38e4b2ded3f50d1 by Wim Taymans on 12/02/2021 at 09:31..
conf: more work on config changes

Add -c option to pipewire to select config file. Use this to select
the uninstalled conf file.
Rename conf properties, prefix with context.
Simplify the main daemon now that everything can go in config.
Simplify pipewire-pulse now that we can put everything in config, it's
now virtually the same as pipewire but with a differenct config file.
Parse server addresses as array of strings.
https://invent.kde.org/neon/backports-focal/pipewire/commit/80825aeaea752a4ca50aedf3a38e4b2ded3f50d1

Git commit a243d126db124430d80d6ef345bb712b6bb1f510 by Wim Taymans on 12/02/2021 at 09:33..
Fix tests, use the right config dir
https://invent.kde.org/neon/backports-focal/pipewire/commit/a243d126db124430d80d6ef345bb712b6bb1f510

Git commit 58d2fe4440577b165ef87f7dfb04fb6cd017d249 by Wim Taymans on 12/02/2021 at 09:33..
man: update man page

Add PIPEWIRE_CONFIG_PREFIX environment variable as well
https://invent.kde.org/neon/backports-focal/pipewire/commit/58d2fe4440577b165ef87f7dfb04fb6cd017d249

Git commit 8101334b1ebaa92dd9db5374a6eae19616ac535c by Wim Taymans on 12/02/2021 at 10:57..
jack: improve short name

Search the : backwards so that we can deal with client names with :
in them.

See #714
https://invent.kde.org/neon/backports-focal/pipewire/commit/8101334b1ebaa92dd9db5374a6eae19616ac535c

Git commit 0ad8f0a6aa7cd4d3a185d54e5920820591986d60 by Wim Taymans on 12/02/2021 at 11:29..
jack: sanitize client and port names

Avoid : in client names and port names.

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

Git commit 13d655ceb2b719a2f883c0125b1c22d440467176 by Wim Taymans on 12/02/2021 at 12:15..
conf: add and example of how to make a raw alsa device
https://invent.kde.org/neon/backports-focal/pipewire/commit/13d655ceb2b719a2f883c0125b1c22d440467176

Git commit 0855b1bb4b4e0ed2709099f336414e95aa425687 by Wim Taymans on 12/02/2021 at 12:27..
doc: add link to LAC 2020 paper
https://invent.kde.org/neon/backports-focal/pipewire/commit/0855b1bb4b4e0ed2709099f336414e95aa425687

Git commit 2a83811297b0b315520dcbe80083a52102851113 by Wim Taymans on 12/02/2021 at 15:10..
bluez: input = source, output = sink
https://invent.kde.org/neon/backports-focal/pipewire/commit/2a83811297b0b315520dcbe80083a52102851113

Git commit 3cc577ddd6c22b3df6aba522d85a88cce39d8f10 by Wim Taymans on 12/02/2021 at 15:13..
v4l2: fix sink/source and output/input names
https://invent.kde.org/neon/backports-focal/pipewire/commit/3cc577ddd6c22b3df6aba522d85a88cce39d8f10

Git commit a14d6d15b3f07d8d6949f477545b0703b96c3dda by Wim Taymans (on behalf of Frédéric Danis) on 12/02/2021 at 16:10..
bluez5: Use only one SCO listening socket in backend-native

Create SCO listening socket on backend creation for all incoming
connections instead of one per remote device.
https://invent.kde.org/neon/backports-focal/pipewire/commit/a14d6d15b3f07d8d6949f477545b0703b96c3dda

Git commit dfb3bff15b821f7020fec28f8200b615747e8af8 by Wim Taymans (on behalf of Pauli Virtanen) on 12/02/2021 at 16:11..
bluez5: fix source priority assignment
https://invent.kde.org/neon/backports-focal/pipewire/commit/dfb3bff15b821f7020fec28f8200b615747e8af8

Git commit 2908e11a7278cf242d3a5e11f436434d9c83c88c by Wim Taymans on 12/02/2021 at 16:20..
bluez5: add mSBC and CVSD codec name to properties

Fixes #666
https://invent.kde.org/neon/backports-focal/pipewire/commit/2908e11a7278cf242d3a5e11f436434d9c83c88c

Git commit 04354215b6104b154442dfd031ef11b46e2fe368 by Wim Taymans on 12/02/2021 at 16:28..
media-session: get the right key for properties
https://invent.kde.org/neon/backports-focal/pipewire/commit/04354215b6104b154442dfd031ef11b46e2fe368

Git commit 2c2ba6eec3675ba9a61e9c117f1fbb3288c917a4 by Wim Taymans on 12/02/2021 at 16:55..
media-session: handle missing dbus support
https://invent.kde.org/neon/backports-focal/pipewire/commit/2c2ba6eec3675ba9a61e9c117f1fbb3288c917a4

Git commit 70390a631efe55b03013d9fb71f63ce1a0904cdd by Wim Taymans on 12/02/2021 at 16:57..
context: add suport.dbus option

Add a support.dbus option in the context that can be used to disable
the dbus feature.
https://invent.kde.org/neon/backports-focal/pipewire/commit/70390a631efe55b03013d9fb71f63ce1a0904cdd

Git commit 9074bfc23a778ac19030e3a50ff054cad045864e by Wim Taymans on 12/02/2021 at 17:10..
module-rtkit: don't use dbus when disabled
https://invent.kde.org/neon/backports-focal/pipewire/commit/9074bfc23a778ac19030e3a50ff054cad045864e

Git commit 1e89b7cdc4ca3c910cdf5c38d4960598848b6364 by Wim Taymans on 12/02/2021 at 19:45..
Revert "jack: sanitize client and port names"

This reverts commit 0ad8f0a6aa7cd4d3a185d54e5920820591986d60.

We should not do this here. We should instead sanitize the names
at the source.
https://invent.kde.org/neon/backports-focal/pipewire/commit/1e89b7cdc4ca3c910cdf5c38d4960598848b6364

Git commit ac910c7c1cbfba770179b8e5ccc8a77750cbacba by Wim Taymans on 12/02/2021 at 19:46..
Revert "jack: improve short name"

This reverts commit 8101334b1ebaa92dd9db5374a6eae19616ac535c.

We should use the same logic as jack1 and jack2 to improve
compatibility.
https://invent.kde.org/neon/backports-focal/pipewire/commit/ac910c7c1cbfba770179b8e5ccc8a77750cbacba

Git commit 062911640c795f5eaffc0221a2060920807ceb01 by Wim Taymans on 12/02/2021 at 19:47..
media-session: sanitize name and nick

Replace unwanted chars in the name with _. This makes it compatible
with pulseaudio names and avoids problems with regex.
Replace unwanred chars in the nick with ' '. This ensures JACK
clients don't receive ':' in the device names, which cause it to
fail when parsing the ports.

See #714 and #130
https://invent.kde.org/neon/backports-focal/pipewire/commit/062911640c795f5eaffc0221a2060920807ceb01

Git commit 0945b102275eb14967a83ba03eb171eb7a251dd1 by Wim Taymans on 12/02/2021 at 20:15..
jack: handle bridge nodes

Bridges have the device name in the port names so use this info
to construct better port names. Makes midi devices show up
as separate clients.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0945b102275eb14967a83ba03eb171eb7a251dd1

Git commit 3b5e040659743546caf46766118e1a9812bfd1cd by Be on 12/02/2021 at 21:05..
pw-uninstalled.sh: use directory of script instead of current dir

This allows running the script from outside the PipeWire source
tree, which is convenient for developing other applications for
use with PipeWire.

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

Git commit b23e33c99fd241f9a2a54fc1f09743f0d875805f by Wim Taymans on 13/02/2021 at 06:17..
media-session: only replace : with space for node.nick
https://invent.kde.org/neon/backports-focal/pipewire/commit/b23e33c99fd241f9a2a54fc1f09743f0d875805f

Git commit 0dee15d0f6e70617d77e2c0c41c6210980ccea7d by Wim Taymans (on behalf of Pauli Virtanen) on 13/02/2021 at 19:03..
bluez5: aac: set reasonable default bitrate

Set default bitrate to a reasonable value in caps, and handle unknown or
bogus bitrates from device.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0dee15d0f6e70617d77e2c0c41c6210980ccea7d

Git commit 791a38f3fa77d4cf381f9823e78b7e3a2badf64a by Wim Taymans (on behalf of Pauli Virtanen) on 13/02/2021 at 19:04..
media-session: fix sm_object ownership

sm_object may be owned by either (i) monitors, created via
sm_media_session_create/export*, or (ii) registry, via
registry_global+bind_object.  However, registry adds the objects to its
globals list when their proxy appears, even if it does not own them.

Only owner should call sm_object_destroy which unrefs obj->handle,
because the sm_object structure is stored inside the handle's user_data
and becomes invalid afterward.

The sm_object_destroy call removes the object from the registry globals
map, so if monitor calls first, there is no problem. However, sometimes
the registry wins the race.

Previously, registry did sm_object_destroy regardless of whether it owns
the object or not, possibly causing the monitor's sm_object_destroy to
refer to freed memory. This could cause segfaults, e.g.

    CARD=XX:XX:XX:XX:XX:XX
    bluetootctl connect $CARD
    while true; do pactl set-card-profile bluez_card.$CARD a2dp-sink; pactl set-card-profile bluez_card.$CARD off; done

leads to a race between bluez5_remove_node and registry_global_remove,
and problems appear when the latter wins.  (As usual, if it doesn't
segfault, a heisenbug appears instead.)

Fix this by keeping track who owns the objects, and having registry
destroy the objects only if it owns them. Otherwise, it just removes
them from its lists.

Also call pw_proxy_unref unconditionally in sm_object_destroy, so its
asserts catch refcounting errors (although now there shouldn't be any).

***

Another problem is conflict between bound_proxy and register_global,
which generates duplicate objects with the same id.  We resolve this by
keeping the object not owned by the registry and discarding the other
one.

This fixes a memory leak, and possible consistency problems in session
modules (due to session_create events for different objects with same
id; now there will be paired session_remove ones in between).
https://invent.kde.org/neon/backports-focal/pipewire/commit/791a38f3fa77d4cf381f9823e78b7e3a2badf64a

Git commit 77e4fdb1e485681635b282579d1c8d26f828a0a6 by Wim Taymans (on behalf of Pauli Virtanen) on 13/02/2021 at 19:04..
media-session: when resolving duplicate objects, bind a proxy if missing

When duplicate objects are created, the new object has missed its
registry_global event, and is missing its proxy.

In this case, bind a proxy for the new object.
https://invent.kde.org/neon/backports-focal/pipewire/commit/77e4fdb1e485681635b282579d1c8d26f828a0a6

Git commit 3c9996aa781c3cf3623547dbddad4772196ae391 by Wim Taymans on 13/02/2021 at 19:17..
spa: add tool to dump spa json file to plain json
https://invent.kde.org/neon/backports-focal/pipewire/commit/3c9996aa781c3cf3623547dbddad4772196ae391

Git commit 7e7f0225d4d44f84cc8ebb3e7267005601f77815 by Ivan on 13/02/2021 at 19:20..
style: Format and fix config files

Some minor formatting for recently added config files.
https://invent.kde.org/neon/backports-focal/pipewire/commit/7e7f0225d4d44f84cc8ebb3e7267005601f77815

Git commit 373fd53d2e5ffb880935e23907a3d623c23f95c1 by Wim Taymans on 13/02/2021 at 19:38..
conf: fix audioconvert regex
https://invent.kde.org/neon/backports-focal/pipewire/commit/373fd53d2e5ffb880935e23907a3d623c23f95c1

Git commit 49301578754b5ceefa948b3e83b8ea7198d146e5 by Ivan on 14/02/2021 at 19:33..
editorconfig: add rule for conf files to use space indentation
https://invent.kde.org/neon/backports-focal/pipewire/commit/49301578754b5ceefa948b3e83b8ea7198d146e5

Git commit a85be7913597c54e068cc7847d5eb3962fa15c04 by Wim Taymans on 15/02/2021 at 14:28..
Revert "media-session: when resolving duplicate objects, bind a proxy if missing"

This reverts commit 77e4fdb1e485681635b282579d1c8d26f828a0a6.
https://invent.kde.org/neon/backports-focal/pipewire/commit/a85be7913597c54e068cc7847d5eb3962fa15c04

Git commit 7ba9044c3dd2c50e03c7a33e65dcf4add374102e by Wim Taymans on 15/02/2021 at 14:28..
Revert "media-session: fix sm_object ownership"

This reverts commit 791a38f3fa77d4cf381f9823e78b7e3a2badf64a.
https://invent.kde.org/neon/backports-focal/pipewire/commit/7ba9044c3dd2c50e03c7a33e65dcf4add374102e

Git commit e7aa15e4756a72dfc00e9edbbc9fb9010cac755b by Wim Taymans on 15/02/2021 at 14:39..
audioadapter: only check port params when changed
https://invent.kde.org/neon/backports-focal/pipewire/commit/e7aa15e4756a72dfc00e9edbbc9fb9010cac755b

Git commit d6afdda898fba2f95a82f305db7fbf7358e976fc by Wim Taymans on 15/02/2021 at 14:43..
audioadapter: enumerate node params from follower as well

Enumerate the params from the follower as well.
Configure params on the follower and converter.
When follower params changes, emit event.

See !460
https://invent.kde.org/neon/backports-focal/pipewire/commit/d6afdda898fba2f95a82f305db7fbf7358e976fc

Git commit 0b2d3730b6b9c5b5a9f2b9b6748a6ad092d38ef4 by Wim Taymans (on behalf of Frédéric Danis) on 15/02/2021 at 14:46..
bluez5: Add HFP HF support
https://invent.kde.org/neon/backports-focal/pipewire/commit/0b2d3730b6b9c5b5a9f2b9b6748a6ad092d38ef4

Git commit b17fe4aba450f48e0da498cc8de9ec766055591e by Carlos Rafael Giani on 15/02/2021 at 16:12..
meson: Make SDL2 and libsndfile dependencies configurable

This is important for cross-platform build frameworks such as Yocto
where the build configurations must be deterministic. In this case, if
some other build dependency pulled in SDL2, then the meson.build logic
would suddenly enable extra features that would not have been built
otherwise. By allowing for explicitely enabling/disabling SDL2 and sndfile
depending bits, this problem is fixed.
https://invent.kde.org/neon/backports-focal/pipewire/commit/b17fe4aba450f48e0da498cc8de9ec766055591e

Git commit ef983616307d8546b8eb7350137dc1f2b114c68b by Wim Taymans on 16/02/2021 at 11:34..
audioconvert: when we reconfigure, emit param changed event

When we reconfigure the node, the Props param changes with the
new number of channels.
https://invent.kde.org/neon/backports-focal/pipewire/commit/ef983616307d8546b8eb7350137dc1f2b114c68b

Git commit c160a063b9b8f51940f80d92c8cfc477500a4d20 by Wim Taymans on 16/02/2021 at 11:34..
audioconvert: handle unexpected channel positions
https://invent.kde.org/neon/backports-focal/pipewire/commit/c160a063b9b8f51940f80d92c8cfc477500a4d20

Git commit 91610bd1a93e6107b74c24c818773b78c2394e9c by Wim Taymans on 16/02/2021 at 11:34..
merger: emit params changed event when reconfiguring

The props param changes when the number of channels changes.
https://invent.kde.org/neon/backports-focal/pipewire/commit/91610bd1a93e6107b74c24c818773b78c2394e9c

Git commit 5892403b01ad66413f5225766aab9eea648692cc by Wim Taymans on 16/02/2021 at 11:34..
acp: add a Pro Audio profile

The Pro Audio profile exposes all devices and subdevices with maximum
channel count and no channel layout. It also have no hardware volume
and is more suited for Pro Audio usage.

See #731 #704 #57
https://invent.kde.org/neon/backports-focal/pipewire/commit/5892403b01ad66413f5225766aab9eea648692cc

Git commit b62771c3cb0c6d83f13637fb92ad55293a4480c6 by Wim Taymans on 16/02/2021 at 11:53..
acp: fix mapping name
https://invent.kde.org/neon/backports-focal/pipewire/commit/b62771c3cb0c6d83f13637fb92ad55293a4480c6

Git commit d1f21a939a669dffd752c52b5ca06610ec4b01a9 by Wim Taymans on 16/02/2021 at 12:22..
context: make method to get config section

Applications will likely need a section of the config, not the
whole thing.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d1f21a939a669dffd752c52b5ca06610ec4b01a9

Git commit af686653a91ba0d142c70290317166c67bd0f0fe by Wim Taymans on 16/02/2021 at 12:23..
jack: add option to merge monitors

Make a different name for the monitor port prefix so that they
appear as different clients.
Add an option to restore the previous behaviour.

See #736
https://invent.kde.org/neon/backports-focal/pipewire/commit/af686653a91ba0d142c70290317166c67bd0f0fe

Git commit 0061ddd6bea5ab413e8a576f8054520d62ddc367 by Frédéric Danis on 16/02/2021 at 13:56..
audioconvert: Fix buffer overflow

This was introduced by commit c160a063b9b8f51940f80d92c8cfc477500a4d20
https://invent.kde.org/neon/backports-focal/pipewire/commit/0061ddd6bea5ab413e8a576f8054520d62ddc367

Git commit ca10c6470f326031223c1335ee89b8967a1e4155 by Wim Taymans on 16/02/2021 at 14:07..
audioconvert: use sizeof for position size

And make the position field a little larger
https://invent.kde.org/neon/backports-focal/pipewire/commit/ca10c6470f326031223c1335ee89b8967a1e4155

Git commit 38e0ff55cd00afb556f1bcea51543dad4aedfcfc by Wim Taymans on 16/02/2021 at 14:17..
acp: don't add pro profile for UCM

For UCM, we can just as well make a use case in the UCM file.
https://invent.kde.org/neon/backports-focal/pipewire/commit/38e0ff55cd00afb556f1bcea51543dad4aedfcfc

Git commit 6079830591bc34433e4ba8e6142061e59022dfe2 by Wim Taymans on 16/02/2021 at 14:41..
media-session: add option to configure suspend timeout

Set the property on the node and use the value when suspending the
node. a timeout of 0 disables suspend.
https://invent.kde.org/neon/backports-focal/pipewire/commit/6079830591bc34433e4ba8e6142061e59022dfe2

Git commit 3aa0a39e3006989568a1931cf2abf13b40b7ba08 by Wim Taymans on 16/02/2021 at 16:21..
pulse-server: track volume/mute changes

When something else changes the volume of our stream, store the new
value in our volume/mute state so that we always have an up-to-date
value when we compare our volume to the desired volume.

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

Git commit be7caf0e666232ff8e4275de1d477e3c9b0e7b2d by Wim Taymans (on behalf of Frédéric Danis) on 16/02/2021 at 16:49..
bluez5: backend_native: Fix default HFP codec
https://invent.kde.org/neon/backports-focal/pipewire/commit/be7caf0e666232ff8e4275de1d477e3c9b0e7b2d

Git commit 23823867b0e3fffba69e5e5f2b5cfc8bf76589a3 by Wim Taymans (on behalf of Frédéric Danis) on 16/02/2021 at 16:49..
bluez5: backend_native: Fix +BRSF parsing for HFP HF
https://invent.kde.org/neon/backports-focal/pipewire/commit/23823867b0e3fffba69e5e5f2b5cfc8bf76589a3

Git commit 344eb2baa33e46a5c62e5f0b642055719f4921a8 by Wim Taymans on 16/02/2021 at 16:58..
bluez5: handle info == NULL when parsing codecs
https://invent.kde.org/neon/backports-focal/pipewire/commit/344eb2baa33e46a5c62e5f0b642055719f4921a8

Git commit 7a96f3a94504d30fdf8a5629bb9a3a6321a0afbc by Frédéric Danis on 16/02/2021 at 17:30..
bluez5: backend_native: Fix SCO deferred setup accept

In BT_DEFER_SETUP mode, when a connection is accepted, the listening
socket is unblocked but the effective connection setup happens only on
first receive, allowing to configure the accepted socket.

First read from the accepted socket is non-blocking and returns a zero
length buffer.
https://invent.kde.org/neon/backports-focal/pipewire/commit/7a96f3a94504d30fdf8a5629bb9a3a6321a0afbc

Git commit 0ed7e537fb71c1f82b9dccf8b4ad79149129d220 by Wim Taymans on 16/02/2021 at 19:21..
acp: make Pro devices look better

Omit the Output/Input string from the name
Don't print a number for the first device.

See !466
https://invent.kde.org/neon/backports-focal/pipewire/commit/0ed7e537fb71c1f82b9dccf8b4ad79149129d220

Git commit c7b7afa66448c54369cd8ca5a04c7c2a56309e2b by Wim Taymans on 17/02/2021 at 08:59..
audioadapter: fix enum of properties

Keep track of the subelement we're iterating in the result index upper
bits. Use enum_sync to iterate each param and switch to the next
element when we run out of params.

See !468
https://invent.kde.org/neon/backports-focal/pipewire/commit/c7b7afa66448c54369cd8ca5a04c7c2a56309e2b

Git commit 38a73336088afb7267e7fbadcb8b6efe6d719be4 by Wim Taymans on 17/02/2021 at 09:14..
adapter: number unknown ports from 1 instead of 0

This makes it like what jack does.
https://invent.kde.org/neon/backports-focal/pipewire/commit/38a73336088afb7267e7fbadcb8b6efe6d719be4

Git commit 01b6dbfca69b7d5e4a5d38ded0c8e1ff6d91f084 by Frédéric Danis on 17/02/2021 at 09:19..
bluez5: backend_native: Add mSBC support to HFP HF
https://invent.kde.org/neon/backports-focal/pipewire/commit/01b6dbfca69b7d5e4a5d38ded0c8e1ff6d91f084

Git commit 1f2ba4b55f21de540589960907ed71147cfd93a7 by Wim Taymans on 17/02/2021 at 10:15..
port: set port id in properties
https://invent.kde.org/neon/backports-focal/pipewire/commit/1f2ba4b55f21de540589960907ed71147cfd93a7

Git commit 39cf575210f9824c4bf610a596ac6b48b6d1f045 by Wim Taymans on 17/02/2021 at 10:15..
jack: don't log errors, let app deal with it
https://invent.kde.org/neon/backports-focal/pipewire/commit/39cf575210f9824c4bf610a596ac6b48b6d1f045

Git commit e66cb18659545d954b1c59b049c9adbcf340c0cb by Wim Taymans on 17/02/2021 at 10:16..
jack: find system: port names as well

Make a system:capture_N or system:playback_M name for each port
and use this also in find_node when the node is a default node.
This makes it possible to

jack_connect system:capture_1 system:playback_1

and make it link the default source to defaukt sink.

Fixes #446
https://invent.kde.org/neon/backports-focal/pipewire/commit/e66cb18659545d954b1c59b049c9adbcf340c0cb

Git commit 60233e30a78bbfc0e40340e7b7180a2286d1d985 by Wim Taymans on 17/02/2021 at 10:36..
jack: tweak names a little

Move the Description in the main node/port name. This then matches
the device names seen in pavucontrol.
Make the port alias contain the node nick.
https://invent.kde.org/neon/backports-focal/pipewire/commit/60233e30a78bbfc0e40340e7b7180a2286d1d985

Git commit aea79cd79ca0f08fe6aae566d23bbf972e27092f by Wim Taymans on 17/02/2021 at 12:12..
media-session: sanitize description

Because we use the description as the JACK name, remove the : so
that it looks somewhat ok in more cases.
https://invent.kde.org/neon/backports-focal/pipewire/commit/aea79cd79ca0f08fe6aae566d23bbf972e27092f

Git commit bdbd0f17c6db24069f2b6d64b1234631845c946b by Frédéric Danis on 17/02/2021 at 13:03..
bluez5: backend_native: Fix backend_native_new() error path
https://invent.kde.org/neon/backports-focal/pipewire/commit/bdbd0f17c6db24069f2b6d64b1234631845c946b

Git commit 76febf1c7f21d2461ca5ff47a822862b11b69a1e by Wim Taymans (on behalf of jasker5183) on 17/02/2021 at 13:53..
Add Link to Wiki
https://invent.kde.org/neon/backports-focal/pipewire/commit/76febf1c7f21d2461ca5ff47a822862b11b69a1e

Git commit bf062e455a3b89b3d03a456caedec460da1af84b by Wim Taymans on 17/02/2021 at 14:49..
media-session: always remember the new route availability
https://invent.kde.org/neon/backports-focal/pipewire/commit/bf062e455a3b89b3d03a456caedec460da1af84b

Git commit c0d8edeb5acfe19bb656c65eb428519e5ca7b71c by Wim Taymans on 17/02/2021 at 19:21..
conf: improve state directory access checks

We only need RW permission on the last directory.
https://invent.kde.org/neon/backports-focal/pipewire/commit/c0d8edeb5acfe19bb656c65eb428519e5ca7b71c

Git commit 81ebc33b571a1faaa68fa2d466845b8fea26b49e by Wim Taymans on 18/02/2021 at 08:16..
pw-top: period -> quantum

period has other connotations in alsa
https://invent.kde.org/neon/backports-focal/pipewire/commit/81ebc33b571a1faaa68fa2d466845b8fea26b49e

Git commit 7053936ffd8b18ba74cc658d3649cf04176517f5 by Wim Taymans on 18/02/2021 at 09:22..
don't attempt to connect to empty remote name

Fixes jconvolver startup.

See #744
https://invent.kde.org/neon/backports-focal/pipewire/commit/7053936ffd8b18ba74cc658d3649cf04176517f5

Git commit 22d563720a7f6ba7bdf59950f8c14488d80dfa95 by Wim Taymans on 18/02/2021 at 10:12..
0.3.22
https://invent.kde.org/neon/backports-focal/pipewire/commit/22d563720a7f6ba7bdf59950f8c14488d80dfa95

Git commit 8ad88d5c2ae10a0de2593bf85f8910535f91cc0e by Sjoerd Simons on 20/02/2021 at 11:01..
Branch for experimental
https://invent.kde.org/neon/backports-focal/pipewire/commit/8ad88d5c2ae10a0de2593bf85f8910535f91cc0e

Git commit c815acc2aaa6e009ab0ea7be8fcabff20aa67630 by Sjoerd Simons on 20/02/2021 at 11:02..
New upstream version 0.3.22
https://invent.kde.org/neon/backports-focal/pipewire/commit/c815acc2aaa6e009ab0ea7be8fcabff20aa67630

Git commit 31087d9e242f66a6073300ec76c8bb6bfc047259 by Sjoerd Simons on 20/02/2021 at 11:02..
Update upstream source from tag 'upstream/0.3.22'

Update to upstream version '0.3.22'
with Debian dir 97484ba93dc628c3df6330b30446dd1c864bb6d1
https://invent.kde.org/neon/backports-focal/pipewire/commit/31087d9e242f66a6073300ec76c8bb6bfc047259

Git commit 658f53f52ac4b8a49d50241f59f32504df0837df by Sjoerd Simons on 20/02/2021 at 11:02..
New upstream release
https://invent.kde.org/neon/backports-focal/pipewire/commit/658f53f52ac4b8a49d50241f59f32504df0837df

Git commit 6ae31f3ed8f777361736fea1020be2b258f7ceb3 by Sjoerd Simons on 20/02/2021 at 11:11..
Mark the i18n translation as not-installed

The i18n translated files are not actually build yet; so mark the .mo
files as non-installed as they're not.

Signed-off-by: Sjoerd Simons <sjoerd at debian.org>
https://invent.kde.org/neon/backports-focal/pipewire/commit/6ae31f3ed8f777361736fea1020be2b258f7ceb3

Git commit a6502365ccb75824f58ef629ab11000222ca666f by Sjoerd Simons on 20/02/2021 at 20:43..
Install new configuration files

Signed-off-by: Sjoerd Simons <sjoerd at debian.org>
https://invent.kde.org/neon/backports-focal/pipewire/commit/a6502365ccb75824f58ef629ab11000222ca666f

Git commit c6e9bf028a51c7f66ff95517b16a5aac20e2a4d6 by Sjoerd Simons on 20/02/2021 at 20:47..
Add new libpipewire-0.3-0 symbols

Signed-off-by: Sjoerd Simons <sjoerd at debian.org>
https://invent.kde.org/neon/backports-focal/pipewire/commit/c6e9bf028a51c7f66ff95517b16a5aac20e2a4d6

Git commit abc610274f6121ebbb6ee736f71fa63c438e0de3 by Sjoerd Simons on 20/02/2021 at 20:48..
Correct volume settings on bluetooth devices

Signed-off-by: Sjoerd Simons <sjoerd at debian.org>
https://invent.kde.org/neon/backports-focal/pipewire/commit/abc610274f6121ebbb6ee736f71fa63c438e0de3

Git commit 7090640e7b3fb0d44527cd084f7c44afac53d708 by Sjoerd Simons on 20/02/2021 at 21:07..
Target experimental
https://invent.kde.org/neon/backports-focal/pipewire/commit/7090640e7b3fb0d44527cd084f7c44afac53d708

Git commit 02a6bb37bcc5cf87c5b64e691bb0fe727bd5ed25 by Daniel van Vugt on 04/03/2021 at 10:03..
Fix "the metadata crash" (LP: #1916716)

Using upstream commit 3673265ae20d7b59e89cad6c5238c232796731b2 which
is scheduled for inclusion in release 0.3.23.
https://invent.kde.org/neon/backports-focal/pipewire/commit/02a6bb37bcc5cf87c5b64e691bb0fe727bd5ed25

Git commit d9a6740d25504e51d7c14721d7c6638d8f185060 by Iain Lane on 04/03/2021 at 11:08..
d/p/policy-node-don-t-crash-without-metadata.patch: Fix patch metadata

Gbp-Dch: ignore
https://invent.kde.org/neon/backports-focal/pipewire/commit/d9a6740d25504e51d7c14721d7c6638d8f185060

Git commit a14a2f25c176fe3b935a0ef516328ac5f3d2aa22 by Iain Lane on 04/03/2021 at 11:09..
Update changelog
https://invent.kde.org/neon/backports-focal/pipewire/commit/a14a2f25c176fe3b935a0ef516328ac5f3d2aa22

Git commit 703bb70a8fc8783af461f3dc66f24b7fbe74b0d5 by Iain Lane on 04/03/2021 at 11:09..
Finalise changelog
https://invent.kde.org/neon/backports-focal/pipewire/commit/703bb70a8fc8783af461f3dc66f24b7fbe74b0d5

Git commit 8983b5298cfcafd540e28e3f24bc4439b33a9df5 by Harald Sitter on 05/03/2021 at 10:46..
Merge tag 'debian/0.3.22-2' into Neon/release-lts

pipewire Debian release 0.3.22-2
https://invent.kde.org/neon/backports-focal/pipewire/commit/8983b5298cfcafd540e28e3f24bc4439b33a9df5


More information about the Neon-commits mailing list