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

KDE Git Services - Bulk Change null at kde.org
Sat Aug 7 13:41:34 BST 2021


Git repository change summary for neon/backports-focal/pipewire
Pushed by jriddell into branch 'Neon/unstable'.
Changed from 6c8d7f4b0401912fa040d2e30c1d5ab0e4c8c755 to 9f27ba11579e9e6d1c42b152a2116d0866b6e19d
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 82f2e85a0fdd2cfc25a17f39651e5e8887fb9570 by Wim Taymans on 28/06/2021 at 15:20..
fmt-ops: fix neon stereo resample
https://invent.kde.org/neon/backports-focal/pipewire/commit/82f2e85a0fdd2cfc25a17f39651e5e8887fb9570

Git commit 5497d2d907ed8614c2c0b6482ea709cc7314f301 by Wim Taymans on 28/06/2021 at 15:21..
pw-cat: fix format string
https://invent.kde.org/neon/backports-focal/pipewire/commit/5497d2d907ed8614c2c0b6482ea709cc7314f301

Git commit 6a0cf77985ba05929f510aeec9f66c930bd9869c by Wim Taymans on 29/06/2021 at 11:19..
NEWS: fix some spelling mistakes
https://invent.kde.org/neon/backports-focal/pipewire/commit/6a0cf77985ba05929f510aeec9f66c930bd9869c

Git commit c4971d17c46972c739d16e702f77eddbe5b30507 by Wim Taymans on 29/06/2021 at 11:49..
keys: add node.link-group property

The node.link-group property marks streams that are internally linked
together in some way. It is used to relate the input and output streams
of some of the module streams.
https://invent.kde.org/neon/backports-focal/pipewire/commit/c4971d17c46972c739d16e702f77eddbe5b30507

Git commit d1c6114423708945cecb09fdce6c72b276665c60 by Wim Taymans on 29/06/2021 at 12:02..
media-session: don't try to link to the same link-group

Avoid linking streams to a node of the same link-group because that
would be a circular link.

Fixes #1360
https://invent.kde.org/neon/backports-focal/pipewire/commit/d1c6114423708945cecb09fdce6c72b276665c60

Git commit ae89ae093e31675930bb59a006189287f228e319 by Wim Taymans on 29/06/2021 at 15:43..
acp: strip UCM alibpref from mapping

Strip the alibpref from the device string in the mapping name. This
name is used to generate the node name eventually and we don't want
this random identifier in it.

Fixes #1362
https://invent.kde.org/neon/backports-focal/pipewire/commit/ae89ae093e31675930bb59a006189287f228e319

Git commit e062c4d8ded38be246d62d8c940005aa3d06bf49 by Wim Taymans (on behalf of Niklāvs Koļesņikovs) on 29/06/2021 at 17:23..
meson.build: adds summary() to optional programs
https://invent.kde.org/neon/backports-focal/pipewire/commit/e062c4d8ded38be246d62d8c940005aa3d06bf49

Git commit 04367932991f1f5a02f2d3689c40cf40f9fe4ac7 by Wim Taymans (on behalf of Niklāvs Koļesņikovs) on 29/06/2021 at 17:23..
doc/meson.build: pruning of unused find_program()
https://invent.kde.org/neon/backports-focal/pipewire/commit/04367932991f1f5a02f2d3689c40cf40f9fe4ac7

Git commit 27b9f469b5caa7062d38cf94aa833c81717ae148 by Wim Taymans on 30/06/2021 at 07:36..
impl-port: avoid recalculating latency on destroying port

Fixes a crash.

Fixes #1371
https://invent.kde.org/neon/backports-focal/pipewire/commit/27b9f469b5caa7062d38cf94aa833c81717ae148

Git commit 2c5d89ff19f0d37c24307547fc045dfca6794262 by Wim Taymans on 30/06/2021 at 09:52..
pw-cli: allow '-' for port/node in create-link

Passing a '-' as the port or node for create-link will omit sending
the property to create-link so we can check if the link factory handles
missing properties too.

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

Git commit 324894e6053997d94709e406ad3cd5ccfb12a277 by Wim Taymans on 30/06/2021 at 11:49..
keys: add object.register property

Add a new object.register boolean property.

Make adapter and remote-note only register when object.register
is true.

Make stream and filter not register themselves. They are always
exported to a remote server and thus don't need local
registration.

Fixes #1309
https://invent.kde.org/neon/backports-focal/pipewire/commit/324894e6053997d94709e406ad3cd5ccfb12a277

Git commit 9994a763d67f2d7c34bb79888263f9a40140d6a6 by Barnabás Pőcze on 30/06/2021 at 12:44..
pulse-server: module-zeroconf-publish: remove `static`

`sysname` need not be static since `avahi_string_list_add_pair()`
creates a copy, and no other parts of the code have reference to
`sysname` that would require static lifetime.

Furthermore, do not hardcode the size of the array.
https://invent.kde.org/neon/backports-focal/pipewire/commit/9994a763d67f2d7c34bb79888263f9a40140d6a6

Git commit 7cb7d8b15bb2136d29f690bbfef9634abf1c21e5 by Barnabás Pőcze on 30/06/2021 at 12:44..
pulse-server: module-zeroconf-publish: handle `uname()` failure gracefully

Only add the "uname=..." entry to the Avahi string list
if `uname()` succeeds.
https://invent.kde.org/neon/backports-focal/pipewire/commit/7cb7d8b15bb2136d29f690bbfef9634abf1c21e5

Git commit 9076e3e80b734192df2bc00bae6551af0f505e7b by Barnabás Pőcze on 30/06/2021 at 12:44..
pulse-server: module-pipe-source: do not unlink fifo if it was there

If the module did not create the FIFO, then it should not remove it.
https://invent.kde.org/neon/backports-focal/pipewire/commit/9076e3e80b734192df2bc00bae6551af0f505e7b

Git commit 8a613745922b3cc7f3f4d17ae80a57beef2c5379 by Barnabás Pőcze on 30/06/2021 at 12:44..
pulse-server: module-pipe-source: set error code when entity is not pipe

Previously, the code did not set any error code, leaving res = 0,
when the file existed but it wasn't a pipe. This resulted in no
status code being returned to the client.
https://invent.kde.org/neon/backports-focal/pipewire/commit/8a613745922b3cc7f3f4d17ae80a57beef2c5379

Git commit 73ea24a356624a58c38c1c342cb6ec38b554afb4 by Barnabás Pőcze on 30/06/2021 at 12:44..
pulse-server: module-pipe-source: don't queue partial samples

If the number of bytes read is not a multiple of the stride,
then partial samples may be queued. Avoid that by storing the
last partial sample (if any) in a separate buffer,
and only queue full samples.
https://invent.kde.org/neon/backports-focal/pipewire/commit/73ea24a356624a58c38c1c342cb6ec38b554afb4

Git commit 9aacd36f37c93c346fb86d6533cef981e1aa8620 by Barnabás Pőcze on 30/06/2021 at 12:44..
pipewire: properties: take `const` argument

Since these particular methods never modify the
lists they receive, make the arguments `const`.
https://invent.kde.org/neon/backports-focal/pipewire/commit/9aacd36f37c93c346fb86d6533cef981e1aa8620

Git commit c0e158aa0c9c414ff6d6f7071d5338aad47e1edb by Barnabás Pőcze on 30/06/2021 at 12:44..
pipewire: global: take `const` argument

The elements of the array are never modified,
so change the argument to be `const`.
https://invent.kde.org/neon/backports-focal/pipewire/commit/c0e158aa0c9c414ff6d6f7071d5338aad47e1edb

Git commit 48dbb4da3c166159cb1828ef9d2c7d76536c32f5 by Barnabás Pőcze on 30/06/2021 at 12:44..
spa: bluez: native: do not use spa_aprintf()

Instead of spa_aprintf(), convert `rfcomm_send_{cmd,query}`
to take a printf-style format string.

Furthermore, handle overflows and return errors from
`rfcomm_send_{cmd,reply}`. And make those functions
take an rfcomm as argument instead of any spa_source.
And match conversion specifiers to the actual types
in format strings.
https://invent.kde.org/neon/backports-focal/pipewire/commit/48dbb4da3c166159cb1828ef9d2c7d76536c32f5

Git commit f5d51162c4141d5ae1e32e49283e037238853712 by Barnabás Pőcze on 30/06/2021 at 12:44..
treewide: mark things `static` and `const`

Mark some structures, arrays static/const at various places.
In some cases this prevents unnecessary initialization
when a function is entered.

All in all, the text segments across all shared
libraries are reduced by about 2 KiB. However,
the total size increases by about 2 KiB as well.
https://invent.kde.org/neon/backports-focal/pipewire/commit/f5d51162c4141d5ae1e32e49283e037238853712

Git commit 900cb596d33be6d95081de75c3f712696e9f8de4 by Wim Taymans on 30/06/2021 at 15:17..
pipewire-pulse: implement simple quirk database

Add a simple quirks table.

Forces S16 formats for teams sink and source info.

Forces removal of the DONT_MOVE flag for capture streams for firefox.

See #838 and #1363
https://invent.kde.org/neon/backports-focal/pipewire/commit/900cb596d33be6d95081de75c3f712696e9f8de4

Git commit 64a25110dc706e4841eff8ab30608b8d2e46bc47 by Wim Taymans on 30/06/2021 at 16:10..
pulse-server: move quirks to a json blob

Make the quirks table as a json blob so that we can move it
out when we need to.
https://invent.kde.org/neon/backports-focal/pipewire/commit/64a25110dc706e4841eff8ab30608b8d2e46bc47

Git commit c633004bf310998580ff8944c59d94689d6fca87 by George Kiagiadakis on 01/07/2021 at 08:37..
null-sink: make the timerfd non-blocking

Fixes #1377
https://invent.kde.org/neon/backports-focal/pipewire/commit/c633004bf310998580ff8944c59d94689d6fca87

Git commit 5aa9c953909b936ba215ebca77461a17160f59fb by George Kiagiadakis on 01/07/2021 at 08:52..
node-driver: make the timerfd non-blocking

Relates to #1377
https://invent.kde.org/neon/backports-focal/pipewire/commit/5aa9c953909b936ba215ebca77461a17160f59fb

Git commit 36c7e820d8624c79dfa4815aa87ba390eb08eca4 by George Kiagiadakis on 01/07/2021 at 08:52..
test nodes: make the timerfd non-blocking

Relates to #1377
https://invent.kde.org/neon/backports-focal/pipewire/commit/36c7e820d8624c79dfa4815aa87ba390eb08eca4

Git commit 620b34cd6b98b30cab2c6eb09d9a0c0fc6739b99 by Wim Taymans on 01/07/2021 at 09:33..
null-audio-sink: only start timers when driving

Check if we are driving or following and only start the timers when we
are the driver of the graph.

Ready events from non-drivers are not really a problem because they are
ignored. They only cause unnecessary wakeups in the graph.
https://invent.kde.org/neon/backports-focal/pipewire/commit/620b34cd6b98b30cab2c6eb09d9a0c0fc6739b99

Git commit 45c045382e76755f9209781aef93303310a60a12 by George Kiagiadakis on 01/07/2021 at 09:58..
check_missing_headers.sh: stop looking in the old src/extensions dir
https://invent.kde.org/neon/backports-focal/pipewire/commit/45c045382e76755f9209781aef93303310a60a12

Git commit 35194d6de055541da5e45123ffc8271d3ceba993 by Wim Taymans on 01/07/2021 at 10:28..
node-driver: remove timers when not a driver
https://invent.kde.org/neon/backports-focal/pipewire/commit/35194d6de055541da5e45123ffc8271d3ceba993

Git commit 797e9b3e0baf193c4f034b98cf769405721d6caa by Wim Taymans on 01/07/2021 at 13:34..
jack: use RESET_ON_FORK when dropping rt priority

Once we set the RESET_ON_FORK flag we might not have permission to
reset again in drop_rt so simply also set it when dropping.
https://invent.kde.org/neon/backports-focal/pipewire/commit/797e9b3e0baf193c4f034b98cf769405721d6caa

Git commit 43e4625bbe4a1ad5fca4cf7d82ccacc9a2dea38e by Wim Taymans (on behalf of Gleb Popov) on 01/07/2021 at 17:33..
Use real pthread_setname_np implementation on old FreeBSD.

pthread_setname_np differs from pthread_set_name_np in the return value, so
it is not correct to just #define one to another.
https://invent.kde.org/neon/backports-focal/pipewire/commit/43e4625bbe4a1ad5fca4cf7d82ccacc9a2dea38e

Git commit df8bd852775343524879ba9d4ac91b884ca72157 by George Kiagiadakis on 02/07/2021 at 14:44..
alsa-ctl: filter for and use only the "default" metadata object

Fixes #1384
https://invent.kde.org/neon/backports-focal/pipewire/commit/df8bd852775343524879ba9d4ac91b884ca72157

Git commit 1c6326439f9343aacd7371eb4327bbc5691a91bf by Hector Martin on 03/07/2021 at 07:58..
jack: make cycle_wait() loop until a valid cycle

pw_data_loop_wait() can return due to activity on another socket, so
keep looping until cycle_run() gets a valid command.

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

Git commit d14c383811d45333a7897fa8907da4ca60b20993 by Wim Taymans on 03/07/2021 at 19:14..
pulse-server: silence UNDERFLOW warning to info

Creating underflows is standard behaviour for many clients. PulseAudio
does not warn about this so we should not either.

Fixes #910
https://invent.kde.org/neon/backports-focal/pipewire/commit/d14c383811d45333a7897fa8907da4ca60b20993

Git commit 77318477bc2922586b4358658a5a7d2067514add by Wim Taymans (on behalf of Haochen Tong) on 03/07/2021 at 19:32..
keys: fix PW_KEY_AUDIO_RATE key name
https://invent.kde.org/neon/backports-focal/pipewire/commit/77318477bc2922586b4358658a5a7d2067514add

Git commit 4b9b97841d0fc94ac53bc500b454211ed9319713 by Wim Taymans on 04/07/2021 at 19:57..
increase rt.limit from 200ms to 2seconds

200ms seems a little small, some plugins initialize themselves from the
RT thread and get killed. 2 seconds seem to be a better default.

The important part is that there is a limit so that runaway processes
are killed and don't lock up the system.

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

Git commit e2d6545e776ccbadff5c9daeb15f20f76bd8b7d0 by Wim Taymans on 05/07/2021 at 07:56..
jack: client_thread_id should return the data thread

Add a function in data-loop to get the natvive thread and use that
in client_thread_id() so that it returns the pthread of the
data thread instead of the caller thread.
https://invent.kde.org/neon/backports-focal/pipewire/commit/e2d6545e776ccbadff5c9daeb15f20f76bd8b7d0

Git commit 5088ebacc5b265c7b5f2d04e06311ed84377c0f4 by Wim Taymans on 05/07/2021 at 07:56..
jack: drop/acquire RT when enter/exit freewheel

Freewheel can use a lot of CPU and we don't want our realtime threads to
take up all resources while freewheeling.
https://invent.kde.org/neon/backports-focal/pipewire/commit/5088ebacc5b265c7b5f2d04e06311ed84377c0f4

Git commit bfa3c6c13793e4dbc8a9d2342f68b99d10b0c7d2 by Wim Taymans on 05/07/2021 at 08:05..
thread: add interface to manage threads

Add an interface to create and join threads as well as change the
priority on the threads.
https://invent.kde.org/neon/backports-focal/pipewire/commit/bfa3c6c13793e4dbc8a9d2342f68b99d10b0c7d2

Git commit 6b73d49780b8047d6b5c36fd255fc7e15ccf8bff by Wim Taymans on 05/07/2021 at 08:10..
data-loop: use new thread interface
https://invent.kde.org/neon/backports-focal/pipewire/commit/6b73d49780b8047d6b5c36fd255fc7e15ccf8bff

Git commit 1de16afc40b16f198a94e46ac6ad75949f2de81e by Wim Taymans on 05/07/2021 at 08:26..
modules: use pw_thread_utils interface for module-rt*

Let the module-rt and module-rtkit provide a new pw_thread_utils
implementation.

The pw_thread_utils interface has many advantages over the old way
of boosting the thread:

1. Does not require to add a source to the loop and do priority
   boost in-thread.
2. Works on simple threads without data-loop interface.
3. Allows dropping RT priority as well.

The rtkit implementation requires a bit more work because there is
currently no pthread API to map an pthread to a tid. We make a small
wrapper thread to capture the tid with getpid() to do the mapping
ourselves. This should go when the new API arrives. See also:
(https://sourceware.org/bugzilla/show_bug.cgi?id=27880)
https://invent.kde.org/neon/backports-focal/pipewire/commit/1de16afc40b16f198a94e46ac6ad75949f2de81e

Git commit 9ceb728decc1a2e8bdc7968d0d3bb123512ac17a by Wim Taymans on 05/07/2021 at 08:40..
jack: use the pw_thread_utils interface

Use the pw_thread_utils interface to create/join and acquire/drop
RT priority. This allows JACK apps to also use the configured module to
handle RT priorities.
https://invent.kde.org/neon/backports-focal/pipewire/commit/9ceb728decc1a2e8bdc7968d0d3bb123512ac17a

Git commit 5e0c9199bd120126581aab739ba8b81d8b0799d9 by Wim Taymans on 05/07/2021 at 08:41..
context: drop RT when freewheeling

When we are freewheeling, drop the RT priority so that we don't
lock up the system too much.
https://invent.kde.org/neon/backports-focal/pipewire/commit/5e0c9199bd120126581aab739ba8b81d8b0799d9

Git commit 91988acb6b6ad3d079a64e473a68abef7e1e3a18 by Wim Taymans (on behalf of Evgeniy Khramtsov) on 05/07/2021 at 08:49..
utils: fix public API with consumers using _POSIX_C_SOURCE on FreeBSD

cb6dbd165a37 made public API incompatible with consumers using
_POSIX_SOURCE, _POSIX_C_SOURCE or _XOPEN_SOURCE: <sys/mount.h>
isn't standalone but depends on BSD-specific types in <sys/types.h>
which are hidden when POSIX compliance is requested.

xdg-desktop-portal-wlr passes -D_POSIX_C_SOURCE=200809L via meson.build
which works for its own code and all other dependencies.

In file included from ../src/core/main.c:7:
In file included from /usr/local/include/pipewire-0.3/pipewire/pipewire.h:35:
In file included from /usr/local/include/pipewire-0.3/pipewire/client.h:35:
In file included from /usr/local/include/pipewire-0.3/pipewire/proxy.h:108:
In file included from /usr/local/include/pipewire-0.3/pipewire/protocol.h:48:
In file included from /usr/local/include/pipewire-0.3/pipewire/utils.h:34:
In file included from /usr/include/sys/mount.h:38:
/usr/include/sys/ucred.h:99:2: error: unknown type name 'u_int'
        u_int   cr_version;             /* structure layout version */
        ^
In file included from ../src/core/main.c:7:
In file included from /usr/local/include/pipewire-0.3/pipewire/pipewire.h:35:
In file included from /usr/local/include/pipewire-0.3/pipewire/client.h:35:
In file included from /usr/local/include/pipewire-0.3/pipewire/proxy.h:108:
In file included from /usr/local/include/pipewire-0.3/pipewire/protocol.h:48:
In file included from /usr/local/include/pipewire-0.3/pipewire/utils.h:34:

Reported by: Jan Beich <jbeich at FreeBSD.org>
https://invent.kde.org/neon/backports-focal/pipewire/commit/91988acb6b6ad3d079a64e473a68abef7e1e3a18

Git commit d51634a2f1a7bca6fcf1b07d8d7c5aff1eb48650 by Wim Taymans (on behalf of Peter Hutterer) on 05/07/2021 at 08:57..
man: add --config to the pipewire man page
https://invent.kde.org/neon/backports-focal/pipewire/commit/d51634a2f1a7bca6fcf1b07d8d7c5aff1eb48650

Git commit d6bb69f2bd88212c28aa99faad5e0f70e6d649e3 by Wim Taymans (on behalf of Peter Hutterer) on 05/07/2021 at 08:57..
doc: add the configuration file format to the online documentation

Mostly copied from the man page but with a more applicable example.
https://invent.kde.org/neon/backports-focal/pipewire/commit/d6bb69f2bd88212c28aa99faad5e0f70e6d649e3

Git commit 765bd417decc8f39cb950be10af5e2f9a1753061 by Wim Taymans (on behalf of Peter Hutterer) on 05/07/2021 at 08:57..
doc: link the most recent modules as subpages

This sorts them correctly in the navigation bar
https://invent.kde.org/neon/backports-focal/pipewire/commit/765bd417decc8f39cb950be10af5e2f9a1753061

Git commit 488150fac6c954acd69b15571aebf5e237583b66 by Wim Taymans (on behalf of Peter Hutterer) on 05/07/2021 at 08:57..
modules: document roc ports to be TCP/UDP ports

Let's make this really obvious that we're not talking about a pipewire port
here.
https://invent.kde.org/neon/backports-focal/pipewire/commit/488150fac6c954acd69b15571aebf5e237583b66

Git commit dc5ed8f327ae781ba4fbdddf5234242fdaa3a87f by Wim Taymans on 05/07/2021 at 09:35..
thread: add methods to get rt priority range
https://invent.kde.org/neon/backports-focal/pipewire/commit/dc5ed8f327ae781ba4fbdddf5234242fdaa3a87f

Git commit c0b002689b8417bca8800e0ba72764ac2ace37fe by Wim Taymans on 05/07/2021 at 14:00..
impl-link: don't recalc latency on feedback links

Or else we might keep updating the latency in a loop.
https://invent.kde.org/neon/backports-focal/pipewire/commit/c0b002689b8417bca8800e0ba72764ac2ace37fe

Git commit 4abcfcdfb92888b9893076445d4190dde0c8b87f by Wim Taymans on 05/07/2021 at 14:06..
improve some debug
https://invent.kde.org/neon/backports-focal/pipewire/commit/4abcfcdfb92888b9893076445d4190dde0c8b87f

Git commit 831fb9ea0101790833cd45d702dc2c7c937460d3 by Wim Taymans on 05/07/2021 at 14:06..
JACK: implement jack_recompute_total_latencies()

Still acts a little weird in Ardour sometimes as if ardour is not
getting the updates in time.

See #1388
https://invent.kde.org/neon/backports-focal/pipewire/commit/831fb9ea0101790833cd45d702dc2c7c937460d3

Git commit 0b758a2301d43ea30572c26f37416304f07c39d6 by Wim Taymans on 05/07/2021 at 14:25..
alsa-seq: fix off-by-one for event offset

The event offsets need to go from 0 to quantum-1 to be valid to the
current midi event buffer.

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

Git commit ab71d2c3cbf8b95b0f6323d4f2e8539a458f4426 by Konstantin Kharlamov on 05/07/2021 at 16:35..
audioconvert: fix potential NULL reference in resample_native_init

That was found by GCC fanalyze pass. Fixes warning:

    ../spa/plugins/audioconvert/resample-native.c: In function ‘resample_native_init’:
    ../spa/plugins/audioconvert/resample-native.c:385:9: warning: dereference of NULL ‘0B’ [CWE-476] [-Wanalyzer-null-dereference]
      385 |         spa_log_debug(r->log, "native %p: q:%d in:%d out:%d n_taps:%d n_phases:%d features:%08x:%08x",
https://invent.kde.org/neon/backports-focal/pipewire/commit/ab71d2c3cbf8b95b0f6323d4f2e8539a458f4426

Git commit dea1a0bee27b5644a4409903d0fe35a8cabdd86f by Konstantin Kharlamov on 05/07/2021 at 20:30..
audiotestsrc: convert `sizes` to const size_t

`sizes` members participate in multiplication and subsequent assignment
into port->bpf, which has size_t. So LGTM rightfully complains, there's
a chance the multiplication will overflow before the assignment happens.

Should have no influence on performance since 64 bit multiplication is
as fast, and since the struct is constified, a wise compiler should make
sure it doesn't take excess space either.

Fixes LGTM warning:

    Multiplication result may overflow 'unsigned int' before it is converted to 'size_t'.
https://invent.kde.org/neon/backports-focal/pipewire/commit/dea1a0bee27b5644a4409903d0fe35a8cabdd86f

Git commit 6f39e13f110e5c319fc69fd1bb3737cce43a865c by Konstantin Kharlamov on 05/07/2021 at 20:53..
module-zeroconf-discover: factor out pw_properties_from_avahi_string

This allows to get rid of the empty if block in comparison to
channel_map, and makes it clear that the comparison is useless. So in
the next commit we will remove it.

Fixes an LGTM warning:

    Empty block without comment
https://invent.kde.org/neon/backports-focal/pipewire/commit/6f39e13f110e5c319fc69fd1bb3737cce43a865c

Git commit 8c013b8183b810e9a9fc78aaa58584b4797665f8 by Konstantin Kharlamov on 05/07/2021 at 20:57..
modules: remove useless comparison in pw_properties_from_avahi_string

It doesn't do anything, let's just get rid of it.
https://invent.kde.org/neon/backports-focal/pipewire/commit/8c013b8183b810e9a9fc78aaa58584b4797665f8

Git commit 64352dd256bece07a3bcb4c569ebf368e9be52e6 by Konstantin Kharlamov on 05/07/2021 at 21:07..
gstpipewireformat: remove useless comparison in gst_caps_from_format

Fixes a LGTM warning:

    Empty block without comment
https://invent.kde.org/neon/backports-focal/pipewire/commit/64352dd256bece07a3bcb4c569ebf368e9be52e6

Git commit 252816f757883fa958c319f0acad9583553a9f0a by Konstantin Kharlamov on 05/07/2021 at 21:07..
bluez5: fix wrongly typed `started` field in spa_bt_sco_io

This is a bitfield, but it's unclear what it achieves since this is the
only member of a bitfield, so it may be more efficient to just make it a
bool.

Fixes a LGTM warning:

    Bit field started of type int should have explicitly unsigned integral, explicitly signed integral, or enumeration type.
https://invent.kde.org/neon/backports-focal/pipewire/commit/252816f757883fa958c319f0acad9583553a9f0a

Git commit b1ac776ff098e531eaaa689e4ed62c8b959cbf1a by Wim Taymans (on behalf of Peter Hutterer) on 06/07/2021 at 07:14..
test: remove duplicate test invocation
https://invent.kde.org/neon/backports-focal/pipewire/commit/b1ac776ff098e531eaaa689e4ed62c8b959cbf1a

Git commit fb2d35895ea2b5424c2cecffe58f0a0396692355 by Wim Taymans (on behalf of Peter Hutterer) on 06/07/2021 at 07:14..
conf: ignore the prefix if the config file name is an absolute path

Fixes:
$ export PIPEWIRE_CONFIG_PREFIX=/usr/share/pipewire
$ pipewire -c /etc/pipewire/bar.conf
[W][11925.530591][          conf.c:  253 conf_load()] config 0x560039ac6510: error loading config '/usr/share/pipewire//etc/pipewire/pipewire.conf': No such file or directory
[W][11925.530721][       context.c:  178 try_load_conf()] context 0x560039ac6190: can't load config /usr/share/pipewire//etc/pipewire/pipewire.conf: No such file or directory
https://invent.kde.org/neon/backports-focal/pipewire/commit/fb2d35895ea2b5424c2cecffe58f0a0396692355

Git commit bba9edabeebd63313e042316724e04ef15c55efa by Wim Taymans (on behalf of Peter Hutterer) on 06/07/2021 at 07:14..
conf: don't allow a NULL config name

No functional changes, this is enforced by the only in-tree callers of
pw_conf_load_conf() but let's enforce this properly.
https://invent.kde.org/neon/backports-focal/pipewire/commit/bba9edabeebd63313e042316724e04ef15c55efa

Git commit a3549deb48a4d8f96c68372eca5baa0689638b07 by Wim Taymans on 06/07/2021 at 08:40..
jack: remove a lock

The thread loop is already taken when calling port_update_latency.
Improve some debug, add some comments.
https://invent.kde.org/neon/backports-focal/pipewire/commit/a3549deb48a4d8f96c68372eca5baa0689638b07

Git commit aab72ded6e757c7edad5404ffdcd6072fa9740fe by Wim Taymans on 06/07/2021 at 08:40..
jack: emit graph callbacks as well

When a link is added and removed, emit the graph callback.
https://invent.kde.org/neon/backports-focal/pipewire/commit/aab72ded6e757c7edad5404ffdcd6072fa9740fe

Git commit 3a879e8b1a1639d6d61ef30964d62b497400ce04 by Wim Taymans on 06/07/2021 at 10:42..
audioconvert: fix s24_32 to float

s24_32 needs to be sign extended before converting to float because the
upper bits are undefined and might be anything.

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

Git commit 1ff535e6eba21bdf14a919d6a365f15c55b57947 by Wim Taymans on 06/07/2021 at 13:48..
spa: move thread to SPA support

It can be more generally useful eventually.
https://invent.kde.org/neon/backports-focal/pipewire/commit/1ff535e6eba21bdf14a919d6a365f15c55b57947

Git commit 27fc430effd09847e04993baf3de11327a4b3845 by Wim Taymans on 06/07/2021 at 14:02..
po: update russian

Fixes  #1374
https://invent.kde.org/neon/backports-focal/pipewire/commit/27fc430effd09847e04993baf3de11327a4b3845

Git commit 9fa72f22cbc4028ad21ecb43163552081ed98e4b by Wim Taymans on 06/07/2021 at 14:20..
thread: fix compilation
https://invent.kde.org/neon/backports-focal/pipewire/commit/9fa72f22cbc4028ad21ecb43163552081ed98e4b

Git commit acad6b8f2b98fdf4e88a0f9e53532ed4d6a3fd3d by Wim Taymans on 06/07/2021 at 14:28..
audioconvert: use the right variable

Keep the result of the follower in res2, fail if we could not set the
properties on both the follower and the converter.
https://invent.kde.org/neon/backports-focal/pipewire/commit/acad6b8f2b98fdf4e88a0f9e53532ed4d6a3fd3d

Git commit 91f4e4d3c8d8501faa178c9ac89413196241f979 by Wim Taymans on 06/07/2021 at 15:54..
alsa: catch and handle some more errors
https://invent.kde.org/neon/backports-focal/pipewire/commit/91f4e4d3c8d8501faa178c9ac89413196241f979

Git commit d88e8edd1125904233061bdeb06ba3d0d78bce6b by Wim Taymans on 06/07/2021 at 15:55..
avoid shadowing arguments
https://invent.kde.org/neon/backports-focal/pipewire/commit/d88e8edd1125904233061bdeb06ba3d0d78bce6b

Git commit 99b1ce96ed40e0d6f682f1631c13d024d3cdb17e by Wim Taymans on 06/07/2021 at 15:55..
jack: avoid overflow in time calculations
https://invent.kde.org/neon/backports-focal/pipewire/commit/99b1ce96ed40e0d6f682f1631c13d024d3cdb17e

Git commit 8184d4576a64f1babf31debc539142cc2c641ca7 by Wim Taymans on 06/07/2021 at 15:56..
handle snprintf errors better
https://invent.kde.org/neon/backports-focal/pipewire/commit/8184d4576a64f1babf31debc539142cc2c641ca7

Git commit 298dfa7da41fabc705275b1d319e004042c504dd by Jonas Holmberg on 06/07/2021 at 17:29..
pipewire: make pw_get_prgname() thread safe

Make sure the string isn't overwritten while another thread is reading
it.

Fixes #1402
https://invent.kde.org/neon/backports-focal/pipewire/commit/298dfa7da41fabc705275b1d319e004042c504dd

Git commit 6600d93d5d1274d6984d6679b7fb1b098ce5319e by Wim Taymans on 07/07/2021 at 10:54..
impl-link: improve feedback loop check

Mark peer nodes as visited and only visit them once. Reduces the
complexity a lot.
Limit the number of hops we check to 32 to avoid excessive work.
https://invent.kde.org/neon/backports-focal/pipewire/commit/6600d93d5d1274d6984d6679b7fb1b098ce5319e

Git commit 5ebfbccd16c0e387fc661871e412dca8281c2c53 by Wim Taymans (on behalf of Peter Hutterer) on 07/07/2021 at 11:03..
pwtest: if a test expects a signal, skip it under valgrind

Running under valgrind enforces --no-fork so any signal will cause valgrind
to error out, failing the test abnormally. This prevents us from running
our test suite through valgrind, we'd have to mark every test specifically
whether it should run under valgrind or not.

Easier is just to automatically skip tests expecting signals.
https://invent.kde.org/neon/backports-focal/pipewire/commit/5ebfbccd16c0e387fc661871e412dca8281c2c53

Git commit 4f49e893c1858f5da250bfc5b1c7c19cac95acc2 by Wim Taymans (on behalf of Peter Hutterer) on 07/07/2021 at 11:03..
test: init the pod test buffer with a fixed value

Works around the valgrind complaints when we call spa_debug_mem() on the
buffer with various sizes.
https://invent.kde.org/neon/backports-focal/pipewire/commit/4f49e893c1858f5da250bfc5b1c7c19cac95acc2

Git commit 731888fcdd9816f8c3e6877806f79ec53ee6f15f by Wim Taymans (on behalf of Peter Hutterer) on 07/07/2021 at 11:03..
test: fix a memleak in the config tests

Fixes bba9edabeebd63313e042316724e04ef15c55efa
https://invent.kde.org/neon/backports-focal/pipewire/commit/731888fcdd9816f8c3e6877806f79ec53ee6f15f

Git commit 0f5e462909b1c499b409fc8768c94faa0d5bdb8e by Wim Taymans (on behalf of Peter Hutterer) on 07/07/2021 at 11:03..
tests: fix indentation issues in meson.build
https://invent.kde.org/neon/backports-focal/pipewire/commit/0f5e462909b1c499b409fc8768c94faa0d5bdb8e

Git commit 1bd43e828211ce6deca15acca97df466c091fa94 by Wim Taymans (on behalf of Peter Hutterer) on 07/07/2021 at 11:03..
test: skip the endpoint test under valgrind

This test currently prevents us from running the test suite in valgrind but
it's not a straightforward fix. So in the meantime, skip this test when
running under valgrind.
https://invent.kde.org/neon/backports-focal/pipewire/commit/1bd43e828211ce6deca15acca97df466c091fa94

Git commit de394866e391d74c2102bdda6440c97c1988344b by Wim Taymans (on behalf of Peter Hutterer) on 07/07/2021 at 11:03..
ci: hook up a valgrind run
https://invent.kde.org/neon/backports-focal/pipewire/commit/de394866e391d74c2102bdda6440c97c1988344b

Git commit afb7090ba01a8d5a07c45b4397290f4009727e44 by Wim Taymans on 07/07/2021 at 13:12..
media-session: reevaluate current profile only for its own routes

Only check the current active profile when some routes changed that are
part of the profile. If some other route changed, just ignore it.

Fixes #1403
https://invent.kde.org/neon/backports-focal/pipewire/commit/afb7090ba01a8d5a07c45b4397290f4009727e44

Git commit 33f90abfb55a0bc0aaff0093c5886e8c184414cc by Wim Taymans on 07/07/2021 at 13:56..
impl-link: use loopvisited variable for loop checking

Don't reuse the visited variable for checking feedback loops because the
scheduler expects it to be false on entry. Use a different variable
instead.
https://invent.kde.org/neon/backports-focal/pipewire/commit/33f90abfb55a0bc0aaff0093c5886e8c184414cc

Git commit 33e07cc98452f726f6de147aa24c3f3fc0724206 by Wim Taymans on 07/07/2021 at 15:38..
pipewire-pulse: don't republish when object changes

Ignore changes to the object. Otherwise, we would remove and publish
the device again for each volume change.

Fixes #1406
https://invent.kde.org/neon/backports-focal/pipewire/commit/33e07cc98452f726f6de147aa24c3f3fc0724206

Git commit 2dcdc80030a5bf11f5addb275322f6aab6f5c370 by Julian Bouzas on 08/07/2021 at 15:08..
spa: alsa: acp: fix memleak when destroying card profles
https://invent.kde.org/neon/backports-focal/pipewire/commit/2dcdc80030a5bf11f5addb275322f6aab6f5c370

Git commit 579481ab70695fce50b4a5d189648a7722c133e2 by Wim Taymans (on behalf of lsde) on 11/07/2021 at 16:10..
Use correct RTP payload type for aptX, LDAC,SBC
According to the A2DP spec, the payload type should be
set to a number between 96 and 127.
This is fixed for AAC codec, but not the rest.

Original PulseAudio issue: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/591
https://invent.kde.org/neon/backports-focal/pipewire/commit/579481ab70695fce50b4a5d189648a7722c133e2

Git commit 0c9f0210ed77ac990b16d7ecaab223c32df13169 by Wim Taymans (on behalf of Pauli Virtanen) on 11/07/2021 at 16:14..
bluez5: sco-io: start writing only after the packet size is known

The kernel-provided SCO write MTU is currently never the correct packet
size for writing, so don't try to use it. Some adapter firmware (eg.
BCM20702A0 0b05:17cb) appears in practice sensitive to the alignment of
the msbc frames, and writes with wrong packet size break things but only
on certain headsets. For other adapters, this doesn't appear to matter.
https://invent.kde.org/neon/backports-focal/pipewire/commit/0c9f0210ed77ac990b16d7ecaab223c32df13169

Git commit 3bde823e745bce4a5957bd4b1afe02e8e5df2240 by Arun Raghavan on 12/07/2021 at 05:31..
pipewire-pulse: Fix media.class setting on pipe sink/source

Fixes: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1407
https://invent.kde.org/neon/backports-focal/pipewire/commit/3bde823e745bce4a5957bd4b1afe02e8e5df2240

Git commit e504ff86059a03c962b80964d1258eb40378ebde by Ден Иванов on 12/07/2021 at 08:10..
Update INSTALL.md - added info on Fedora dependencies
https://invent.kde.org/neon/backports-focal/pipewire/commit/e504ff86059a03c962b80964d1258eb40378ebde

Git commit 7bf50fd8ed1fc766b60559696e50f0af5bc361cf by Wim Taymans (on behalf of Julian Bouzas) on 13/07/2021 at 17:03..
spa: alsa: acp: free device name in add_pro_profile
https://invent.kde.org/neon/backports-focal/pipewire/commit/7bf50fd8ed1fc766b60559696e50f0af5bc361cf

Git commit 4732aea0c6ff0df23257c0a07f2c2edfc9608b35 by Wim Taymans (on behalf of Julian Bouzas) on 13/07/2021 at 17:03..
spa: clear all devices when udev monitor stops

Otherwise the udev device leaks when restarting the monitor
https://invent.kde.org/neon/backports-focal/pipewire/commit/4732aea0c6ff0df23257c0a07f2c2edfc9608b35

Git commit 257fd83f65a5ab66b243a077ce3fd08c4e95afb2 by Peter Hutterer on 14/07/2021 at 06:56..
Replace Pipewire with PipeWire for consistency

And set up a CI job to check for that.
https://invent.kde.org/neon/backports-focal/pipewire/commit/257fd83f65a5ab66b243a077ce3fd08c4e95afb2

Git commit 327ec4306fb92883c8d98c37a9ee53a71ddd71e9 by George Kiagiadakis (on behalf of Peter Hutterer) on 14/07/2021 at 12:25..
INSTALL: link to our CI pipeline for distributions-specific dependencies

We know these are up-to-date and they are based off a minimal base
system.
https://invent.kde.org/neon/backports-focal/pipewire/commit/327ec4306fb92883c8d98c37a9ee53a71ddd71e9

Git commit 7f4fa6429113f8aa8a729e6f54148a1ba215b802 by Wim Taymans on 19/07/2021 at 07:53..
loop: Fix crash because of overflow

Also check if there is enough space to write the payload bytes.

We check if there is enough space for the invoke_item structure first.
Then we calculate how much bytes we need to use for the payload but we
fail to check if we can actually write that much data, risking
overwriting existing data from the ringbuffer and causing a crash later
when we try to jump to invalid memory.

Add some more comments.
https://invent.kde.org/neon/backports-focal/pipewire/commit/7f4fa6429113f8aa8a729e6f54148a1ba215b802

Git commit a91502b3e09d95be1ab9b90fad91ea2cab2dec52 by Wim Taymans on 19/07/2021 at 08:12..
loop: improve invoke avail check

First calculate the size of the aligned payload and then check if
we can fit this aligned payload in the remaining space in the
ringbuffer.

Otherwise we might be able to fit the item + payload in the remaining
space but then place the alignment bytes at the begginning, which would
break alignment of the next invoke_item struct.
https://invent.kde.org/neon/backports-focal/pipewire/commit/a91502b3e09d95be1ab9b90fad91ea2cab2dec52

Git commit 1531f78965a9500836593c0167c828cd3dfca09c by Wim Taymans on 19/07/2021 at 09:50..
jack: ensure transport frame_rate is not 0

Try harder to get the transport frame_rate from the position.
If we can't find an activation structure, use the configured frame_rate
instead of 0.

Fixes #1432
https://invent.kde.org/neon/backports-focal/pipewire/commit/1531f78965a9500836593c0167c828cd3dfca09c

Git commit 587e9d5fb1ea8ee36af199f22ecb8f8ad10d4277 by Wim Taymans on 19/07/2021 at 10:13..
mem: remove unused global mempools list

The mempools list keeps track of all allocated mempools but is otherwise
not used. Because it is not protected with a lock, concurrent contexts
or thread loops can step on eachother and crash. Remove this for now
until we actually need it and implement it with some sort of lock.

Fixes #1416
https://invent.kde.org/neon/backports-focal/pipewire/commit/587e9d5fb1ea8ee36af199f22ecb8f8ad10d4277

Git commit bd98c6771eddacd7990536cd69a841f9ab85fa03 by Wim Taymans on 19/07/2021 at 16:21..
modules: make a default node.link-group property

When nothing else is specified, add a default node.link-group property
so that all the nodes from this echo-canceler are tagged as being linked
together in some way.

This allows the session manager to follow the relations between the
different streams and avoids linking those related nodes together, which
avoids playing or recording from itself in a loop.

Fixes #1376
https://invent.kde.org/neon/backports-focal/pipewire/commit/bd98c6771eddacd7990536cd69a841f9ab85fa03

Git commit 6e44c081b031cdc6542ff5dd5f3f7fa30d7aa224 by Wim Taymans on 19/07/2021 at 16:30..
modules: silence some useless warnings

Fixes #1423
https://invent.kde.org/neon/backports-focal/pipewire/commit/6e44c081b031cdc6542ff5dd5f3f7fa30d7aa224

Git commit cb3543e9b42897ee57ddc0ff562b11762793c54f by Wim Taymans on 20/07/2021 at 07:52..
media-session: don't move nodes to same link-group

Refuse to move a node to a new target when they belong to the same
link-group to avoid loops.

Fixes #1376
https://invent.kde.org/neon/backports-focal/pipewire/commit/cb3543e9b42897ee57ddc0ff562b11762793c54f

Git commit cea8a95a59dce645b9684640200b63f80ad27e4e by Wim Taymans on 20/07/2021 at 09:44..
jack: emit more graph_order callbacks

We should actually emit the graphorder callback whenever something
changed, also when a client or port was added/removed.

Also emit the graphorder callback right after a client is activated to
make jackdbus work.
https://invent.kde.org/neon/backports-focal/pipewire/commit/cea8a95a59dce645b9684640200b63f80ad27e4e

Git commit 41ce3092756ab27106881f4246e54bf32ea5adbe by Wim Taymans on 20/07/2021 at 11:06..
0.3.32
https://invent.kde.org/neon/backports-focal/pipewire/commit/41ce3092756ab27106881f4246e54bf32ea5adbe

Git commit 4c37b252bbc577013ded3f96b0606cd1e8d52fd2 by Dylan Aïssi on 21/07/2021 at 09:45..
Merge tag '0.3.32' into upstream/latest
https://invent.kde.org/neon/backports-focal/pipewire/commit/4c37b252bbc577013ded3f96b0606cd1e8d52fd2

Git commit 75b86d4e3ea69ad407f48d936b482c4fc72fb3d1 by Dylan Aïssi on 21/07/2021 at 09:46..
Merge tag 'upstream/0.3.32' into debian/experimental
https://invent.kde.org/neon/backports-focal/pipewire/commit/75b86d4e3ea69ad407f48d936b482c4fc72fb3d1

Git commit b3c25780cfd40e60412a0c680c9dac347f0b92dd by Dylan Aïssi on 21/07/2021 at 09:49..
Bump d/changelog
https://invent.kde.org/neon/backports-focal/pipewire/commit/b3c25780cfd40e60412a0c680c9dac347f0b92dd

Git commit c2f4cd79efdeca8a9878dc72b7f55ed0f21136ec by Dylan Aïssi on 21/07/2021 at 09:57..
Update symbols file
https://invent.kde.org/neon/backports-focal/pipewire/commit/c2f4cd79efdeca8a9878dc72b7f55ed0f21136ec

Git commit 0af98193b7a2038ac0db037607f73b537feb7c1b by Dylan Aïssi on 21/07/2021 at 10:14..
Upload to experimental
https://invent.kde.org/neon/backports-focal/pipewire/commit/0af98193b7a2038ac0db037607f73b537feb7c1b

Git commit 0a91e90c1793e16fdbc5a1eebda5eb6f95d682f2 by Jonathan Riddell on 06/08/2021 at 10:42..
merge
https://invent.kde.org/neon/backports-focal/pipewire/commit/0a91e90c1793e16fdbc5a1eebda5eb6f95d682f2

Git commit 9f27ba11579e9e6d1c42b152a2116d0866b6e19d by Jonathan Riddell on 06/08/2021 at 10:43..
new release
https://invent.kde.org/neon/backports-focal/pipewire/commit/9f27ba11579e9e6d1c42b152a2116d0866b6e19d


More information about the Neon-commits mailing list