diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2023-02-16 21:39:22 +0200 |
---|---|---|
committer | Marius Vlad <marius.vlad@collabora.com> | 2023-05-16 10:44:25 +0300 |
commit | 0849a9b3c843c05c7b180a04737317f8f5a60725 (patch) | |
tree | 43dfa7e78fd727194b7b11266058e1b22e9ad191 | |
parent | 597437a0964faa9e58d67395f43c09f62989c681 (diff) | |
download | weston-0849a9b3c843c05c7b180a04737317f8f5a60725.tar.gz |
pipewire: Destroy the pipewire outputs at shutdown
Seems like we are missing destroying the pipewire outputs on the shutdown
path; this follow-ups with remoting plug-in as well.
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
(cherry picked from commit 278fe4d7d47c7828d42047f4c910f1d815d32b80)
-rw-r--r-- | pipewire/pipewire-plugin.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/pipewire/pipewire-plugin.c b/pipewire/pipewire-plugin.c index 2c91ee7f..b8dad03e 100644 --- a/pipewire/pipewire-plugin.c +++ b/pipewire/pipewire-plugin.c @@ -631,10 +631,14 @@ weston_pipewire_destroy(struct wl_listener *l, void *data) { struct weston_pipewire *pipewire = wl_container_of(l, pipewire, destroy_listener); + struct pipewire_output *p_output, *p_output_next; weston_log_scope_destroy(pipewire->debug); pipewire->debug = NULL; + wl_list_for_each_safe(p_output, p_output_next, &pipewire->output_list, link) + pipewire_output_destroy(p_output->output); + wl_event_source_remove(pipewire->loop_source); pw_loop_leave(pipewire->loop); pw_loop_destroy(pipewire->loop); |