{"object_kind":"push","event_name":"push","before":"89ef2ac93fd19ee4f7501ea931e5744b48510bad","after":"bcf88ed940d4f71c63e77a91cb78d9c0a499c145","ref":"refs/heads/master","ref_protected":true,"checkout_sha":"bcf88ed940d4f71c63e77a91cb78d9c0a499c145","message":null,"user_id":3060,"user_name":"Wim Taymans","user_username":"wtaymans","user_email":"[REDACTED]","user_avatar":"https://secure.gravatar.com/avatar/1ca1bed246cb9b95b7ead6d6be96bb09f0c112953140c8bb38b41aedf4465270?s=80&d=identicon","project_id":4753,"project":{"id":4753,"name":"pipewire","description":"Multimedia processing graphs","web_url":"https://gitlab.freedesktop.org/pipewire/pipewire","avatar_url":"https://gitlab.freedesktop.org/uploads/-/system/project/avatar/4753/pipewire.png?v=1790757586","git_ssh_url":"git@ssh.gitlab.freedesktop.org:pipewire/pipewire.git","git_http_url":"https://gitlab.freedesktop.org/pipewire/pipewire.git","namespace":"PipeWire","visibility_level":20,"path_with_namespace":"pipewire/pipewire","default_branch":"master","ci_config_path":"","homepage":"https://gitlab.freedesktop.org/pipewire/pipewire","url":"git@ssh.gitlab.freedesktop.org:pipewire/pipewire.git","ssh_url":"git@ssh.gitlab.freedesktop.org:pipewire/pipewire.git","http_url":"https://gitlab.freedesktop.org/pipewire/pipewire.git"},"commits":[{"id":"b7246d0d5ddc79cbab06e7e55f6dda37c446118d","message":"bluez5: deal with asynchronous device and node removal\n\nOn Wireplumber 0.5.17, spa_device_emit_object_info(..., NULL) no longer\nremoves the device/node SPA object synchronously.\n\nInstead, use explicit remove notices to do this.\n\nThere is already spa_bt_device_events::destroy, so use it in\nbluez5-device.c to nullify this->bt_dev. Add NULL checks where needed.\n\nAdd spa_bt_transport_events::remove_node, and emit it before\nbluez5-device.c removes a node associated with the transport. Handle\nthe node removal event in media-sink/source.c by stopping, and releasing\nand dropping the transport, as the node will be removed soon.\n","title":"bluez5: deal with asynchronous device and node removal","timestamp":"2026-09-30T09:05:58+00:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/b7246d0d5ddc79cbab06e7e55f6dda37c446118d","author":{"name":"Pauli Virtanen","email":"pav@iki.fi"},"added":[],"modified":["spa/plugins/bluez5/bluez5-device.c","spa/plugins/bluez5/defs.h","spa/plugins/bluez5/media-sink.c","spa/plugins/bluez5/media-source.c"],"removed":[]},{"id":"80a7d954b48b805b91c8596be6843bb726d968be","message":"ci: bump bluez and pytest-bluezenv versions\n\nNewer pytest-bluezenv is needed for overriding HostPlugins.\nAlso add virtiofsd that newer bluez test-runner can use.\n","title":"ci: bump bluez and pytest-bluezenv versions","timestamp":"2026-09-30T09:05:58+00:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/80a7d954b48b805b91c8596be6843bb726d968be","author":{"name":"Pauli Virtanen","email":"pav@iki.fi"},"added":[],"modified":[".gitlab-ci.yml"],"removed":[]},{"id":"094cdbfb772690660ef7ef5811c025117b97f621","message":"test/bluezenv: add test for bluetoothd restart\n\nAdd a BluetoothdWithRestart host plugin that terminates bluetoothd with\nSIGUSR1 and restarts it, and a PipeWire.shutdown() helper that checks\nfor clean exit. The new test observes a bluez card, restarts bluetoothd\nunder a running PipeWire client, and shuts down; it is marked xfail\nbecause currently WirePlumber may crash (SIGSEGV) on the abrupt exit.\n\nAssisted-by: opencode:qwen3.8-flash-next\n","title":"test/bluezenv: add test for bluetoothd restart","timestamp":"2026-09-30T09:05:58+00:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/094cdbfb772690660ef7ef5811c025117b97f621","author":{"name":"Pauli Virtanen","email":"pav@iki.fi"},"added":[],"modified":["test/bluezenv/test_streaming.py"],"removed":[]},{"id":"8ec93d438f0eefa23103f088065a0bb53a7d975d","message":"test/bluezenv: fix wireplumber starting\n\nThe test needs to first wait for Pipewire to start before launching\nWireplumber.\n","title":"test/bluezenv: fix wireplumber starting","timestamp":"2026-09-30T09:05:58+00:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/8ec93d438f0eefa23103f088065a0bb53a7d975d","author":{"name":"Pauli Virtanen","email":"pav@iki.fi"},"added":[],"modified":["test/bluezenv/test_streaming.py"],"removed":[]},{"id":"c736c4263246c8817c649a9c79404b954e7f16b8","message":"test: bluezenv: check profile switching works\n\nSwitching profiles releases the transport while the nodes still exist,\nwhich media-sink used to count as the remote end failing to activate it.\n\nSwitch profiles while streaming, for A2DP/HFP and for BAP, and check no\ntransport errors are logged. Also terminate the streams before closing\ntheir pipes, so they can be stopped while PipeWire is still running.\n\nAssisted-by: claude-opus-5\n","title":"test: bluezenv: check profile switching works","timestamp":"2026-09-30T09:05:58+00:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/c736c4263246c8817c649a9c79404b954e7f16b8","author":{"name":"Martin Schrodt","email":"martin@schrodt.org"},"added":[],"modified":["test/bluezenv/test_streaming.py"],"removed":[]},{"id":"7971011958a672c91ad56e81f7f658c9a3a45290","message":"test: bluezenv: fix tests with LSan enabled\n","title":"test: bluezenv: fix tests with LSan enabled","timestamp":"2026-09-30T09:05:58+00:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/7971011958a672c91ad56e81f7f658c9a3a45290","author":{"name":"Pauli Virtanen","email":"pav@iki.fi"},"added":[],"modified":["test/bluezenv/test_streaming.py"],"removed":[]},{"id":"bcf88ed940d4f71c63e77a91cb78d9c0a499c145","message":"test: bluezenv: bump memory amount for ASan build\n\nASan builds require more memory in order to not OOM.\n","title":"test: bluezenv: bump memory amount for ASan build","timestamp":"2026-09-30T09:05:58+00:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/bcf88ed940d4f71c63e77a91cb78d9c0a499c145","author":{"name":"Pauli Virtanen","email":"pav@iki.fi"},"added":[],"modified":["test/bluezenv/test_streaming.py"],"removed":[]}],"total_commits_count":7,"push_options":{},"repository":{"name":"pipewire","url":"git@ssh.gitlab.freedesktop.org:pipewire/pipewire.git","description":"Multimedia processing graphs","homepage":"https://gitlab.freedesktop.org/pipewire/pipewire","git_http_url":"https://gitlab.freedesktop.org/pipewire/pipewire.git","git_ssh_url":"git@ssh.gitlab.freedesktop.org:pipewire/pipewire.git","visibility_level":20}}