wireplumber: fix audio randomly not working at boot time 58/30658/2 18.0.3 ricefish/18.0.3 ricefish_18.0.3
authorGeorge Kiagiadakis <george.kiagiadakis@collabora.com>
Fri, 13 Dec 2024 10:03:52 +0000 (12:03 +0200)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Mon, 16 Dec 2024 17:06:16 +0000 (17:06 +0000)
commit993439c93ac10f799bbacf4dcf286b5ce7fd2bfa
treea0553e90717547b0d8a136d30f4b55e97550d6e3
parentb4ceb8545fc0f62984fca6c0db38eb0d7cad37f9
wireplumber: fix audio randomly not working at boot time

This issue is caused by a race condition that triggers some links to be
created and then destroyed very fast, but at a certain point where the
managing object (si-standard-link) is not fully configured yet. At that
point, droping the ref count of the si-standard-link doesn't destroy it
and the links remain dangling, causing a loop in the graph that prevents
audio from working properly.

This patch mitigates the issue by forcing si-standard-link to reset to
its initial state, forcing the pipewire links to be destroyed. This does
not, however, prevent the potential leak of the si-standard-link.
A better solution is being worked on for upstreaming.

Bug-AGL: SPEC-5244
Change-Id: I61477c0c021351903239d58fff0217e25e08db02
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/30658
ci-image-boot-test: Jenkins Job builder account
Tested-by: Jenkins Job builder account
ci-image-build: Jenkins Job builder account
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0001-linking-reset-link-when-moving-target.patch [new file with mode: 0644]
meta-pipewire/recipes-multimedia/wireplumber/wireplumber_%.bbappend