{"object_kind":"push","event_name":"push","before":"e30ee9c8462dbfafb5af513b1f10928c508ec9cd","after":"57e589f2e14fd515ff8e6c3df49cb478f9756384","ref":"refs/heads/master","ref_protected":true,"checkout_sha":"57e589f2e14fd515ff8e6c3df49cb478f9756384","message":null,"user_id":3060,"user_name":"Wim Taymans","user_username":"wtaymans","user_email":"","user_avatar":"https://secure.gravatar.com/avatar/ee99737f7492c79c3a9be75f2e2437f2c944c95fca1480fafcd7ce3bf8c85784?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","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":"57e589f2e14fd515ff8e6c3df49cb478f9756384","message":"stream: avoid flushing invoke before state change\n\nA flushing invoke is dangerous because the application might have queued\na destroy, which could then be executed right while we do things.\n\nAvoid doing the flushing invoke from the state change function. This was\ndone because previously we would invoke a process call when we were\nworking in non-RT mode. Nowadays we run the process function right from\nthe main thread and we don't need to invoke anymore. This also means\nthat we can't have pending process calls to flush out when we go to\npaused. We do queue other calls, like drained and trigger-done but it\nshould not cause problems to let those through after the state change.\nIf this causes problems in the future, we can check the state before\nemiting them.\n\nDo a flushing invoke right before freeing the stream. This should be ok\nbecause we removed all signal hooks so that the pending invokes would\nnot get to the app.\n\nFixes #5010\n","title":"stream: avoid flushing invoke before state change","timestamp":"2025-12-04T10:16:33+01:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/57e589f2e14fd515ff8e6c3df49cb478f9756384","author":{"name":"Wim Taymans","email":"wtaymans@redhat.com"},"added":[],"modified":["src/pipewire/filter.c","src/pipewire/stream.c"],"removed":[]}],"total_commits_count":1,"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}}