{"object_kind":"push","event_name":"push","before":"a3853c2c3d9179fff114b7e063ebc822db69dd86","after":"efd15264230b5b644a18a5f1a0c330dcdf5fb969","ref":"refs/heads/master","ref_protected":true,"checkout_sha":"efd15264230b5b644a18a5f1a0c330dcdf5fb969","message":null,"user_id":3060,"user_name":"Wim Taymans","user_username":"wtaymans","user_email":"","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","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":"49300d8ee0e997ecd67de73d9bfecaf0b952bf5b","message":"pipewiresrc: Take a copy instead of a reference for last_buffer\n\nBuffer timestamps get adjusted by the base class, GstBaseSrc, even if we\ntake an additional ref. Arguably the base class should check if buffers\nare writable (gst_buffer_make_writable()), which would trigger a buffer\ncopy. That is currently not the case, though, thus do so on our side.\n\nNotes:\n1. Usually a buffer copy doesn't copy the underlying memory, i.e.\ncopying is cheap.\n2. The copy holds a reference to the copied buffer, preventing the\nbuffer from getting recycled as before.\n","title":"pipewiresrc: Take a copy instead of a reference for last_buffer","timestamp":"2026-03-03T22:51:04+01:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/49300d8ee0e997ecd67de73d9bfecaf0b952bf5b","author":{"name":"Robert Mader","email":"robert.mader@collabora.com"},"added":[],"modified":["src/gst/gstpipewiresrc.c"],"removed":[]},{"id":"efd15264230b5b644a18a5f1a0c330dcdf5fb969","message":"pipewiresrc: Use clock time difference to update last_buffer time\n\nSetting the current clock time when resending buffers is often wrong.\nEspecially for pseudo-live sources - the default mode - it discards\nthe original buffer time, which again is used by the base-class to\nadjust the timestamps further, ultimately resulting in very wrong\ntimestamps.\n\nInstead, try to calculate the delta between when we originally got the\nbuffer and now.\n","title":"pipewiresrc: Use clock time difference to update last_buffer time","timestamp":"2026-03-03T22:52:52+01:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/efd15264230b5b644a18a5f1a0c330dcdf5fb969","author":{"name":"Robert Mader","email":"robert.mader@collabora.com"},"added":[],"modified":["src/gst/gstpipewiresrc.c","src/gst/gstpipewiresrc.h"],"removed":[]}],"total_commits_count":2,"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}}