{"object_kind":"push","event_name":"push","before":"9ac17bbcc7da60f10322ccaa07e5a6329dc33abc","after":"737443255a00a7f5b8abe8d66e8a200cbf1e40fa","ref":"refs/heads/master","ref_protected":true,"checkout_sha":"737443255a00a7f5b8abe8d66e8a200cbf1e40fa","message":null,"user_id":5223,"user_name":"Julian Bouzas","user_username":"julian","user_email":"julian.bouzas@collabora.com","user_avatar":"https://gitlab.freedesktop.org/uploads/-/system/user/avatar/5223/avatar.png?v=1792687578","project_id":2941,"project":{"id":2941,"name":"wireplumber","description":"Session / policy manager implementation for PipeWire","web_url":"https://gitlab.freedesktop.org/pipewire/wireplumber","avatar_url":null,"git_ssh_url":"git@ssh.gitlab.freedesktop.org:pipewire/wireplumber.git","git_http_url":"https://gitlab.freedesktop.org/pipewire/wireplumber.git","namespace":"PipeWire","visibility_level":20,"path_with_namespace":"pipewire/wireplumber","default_branch":"master","ci_config_path":"","homepage":"https://gitlab.freedesktop.org/pipewire/wireplumber","url":"git@ssh.gitlab.freedesktop.org:pipewire/wireplumber.git","ssh_url":"git@ssh.gitlab.freedesktop.org:pipewire/wireplumber.git","http_url":"https://gitlab.freedesktop.org/pipewire/wireplumber.git"},"commits":[{"id":"737443255a00a7f5b8abe8d66e8a200cbf1e40fa","message":"spa-device: Run teardown on the owning client context\n\nRemoving a SPA device listener can stop its monitor and remove loop\nsources. Holding the client-context lock does not transfer execution\nto the owning loop thread. With PipeWire 1.4, video-only shutdown\naborts in loop_remove_source while polling, without a browser involved.\n\nInvoke listener removal and SPA handle unloading synchronously on the\nclient-context thread, following the mechanism used for module teardown.\nWait for these operations before continuing object cleanup. Preserve\nthe direct path without a client context and leave listener installation\nand its initial synchronous information burst unchanged.\n","title":"spa-device: Run teardown on the owning client context","timestamp":"2026-10-22T17:42:56+03:00","url":"https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/737443255a00a7f5b8abe8d66e8a200cbf1e40fa","author":{"name":"Viorel Cernateanu","email":"vrilutza@gmail.com"},"added":[],"modified":["lib/wp/device.c"],"removed":[]}],"total_commits_count":1,"push_options":{},"repository":{"name":"wireplumber","url":"git@ssh.gitlab.freedesktop.org:pipewire/wireplumber.git","description":"Session / policy manager implementation for PipeWire","homepage":"https://gitlab.freedesktop.org/pipewire/wireplumber","git_http_url":"https://gitlab.freedesktop.org/pipewire/wireplumber.git","git_ssh_url":"git@ssh.gitlab.freedesktop.org:pipewire/wireplumber.git","visibility_level":20}}