{"object_kind":"push","event_name":"push","before":"110d8572c0b5438ad6d5467298880eaf2ea916e0","after":"0829f32114ba6296f4d5e41d0d3084c53d3082ff","ref":"refs/heads/master","ref_protected":true,"checkout_sha":"0829f32114ba6296f4d5e41d0d3084c53d3082ff","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@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":null,"homepage":"https://gitlab.freedesktop.org/pipewire/pipewire","url":"git@gitlab.freedesktop.org:pipewire/pipewire.git","ssh_url":"git@gitlab.freedesktop.org:pipewire/pipewire.git","http_url":"https://gitlab.freedesktop.org/pipewire/pipewire.git"},"commits":[{"id":"0829f32114ba6296f4d5e41d0d3084c53d3082ff","message":"stream: clear buffer from io when clearing buffers\n\nIf a provider uses the stream API and pushes a buffer to the stream\nafter the stream is set to paused, the buffer_id of the last buffer\nremains in the io.\n\nIf a consumer starts streaming in this state, the buffer_id of the old\nbuffer is still in the io. The consumer receives a stale buffer_id and\nmay discard the buffer. Now the buffer is lost, since it is still marked\nas busy on the producer.\n\nThis can be reproduced by starting Weston with the PipeWire backend and\nrepeatedly restarting a GStreamer pipeline that connects to the Weston\noutput. Eventually Weston won't be able to dequeue buffers since the\nlost buffer is still busy.\n\nClear the buffers in the io when the buffers are cleared to avoid\nsending an old buffer_id to the consumer.\n","title":"stream: clear buffer from io when clearing buffers","timestamp":"2025-01-28T12:50:37+01:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/0829f32114ba6296f4d5e41d0d3084c53d3082ff","author":{"name":"Michael Tretter","email":"m.tretter@pengutronix.de"},"added":[],"modified":["src/pipewire/stream.c"],"removed":[]}],"total_commits_count":1,"push_options":{},"repository":{"name":"pipewire","url":"git@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@gitlab.freedesktop.org:pipewire/pipewire.git","visibility_level":20}}