{"object_kind":"push","event_name":"push","before":"cad1df748ee3b007f37ea08cbe340d59fc0079e4","after":"642504f5f981440761f1cf2cd3873e283d8ea07e","ref":"refs/heads/master","ref_protected":true,"checkout_sha":"642504f5f981440761f1cf2cd3873e283d8ea07e","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":"a32e6e108c366580a08e00d616f60f299c1d9e8b","message":"Revert \"module-rtp: Remove device_delay from timestamp math\"\n\nThis reverts commit dcdc19238be3a2dc354f28adbfb0258042640704.\n\nReverting this because it caused big sync errors of ~62 ms in test setups.\nFurther discussions about this can be found here:\n\nhttps://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/2666\n\nFollowup commits modify the device delay application (by scaling it),\nwhich is another reason why this needs to be reverted.\n\n","title":"Revert \"module-rtp: Remove device_delay from timestamp math\"","timestamp":"2026-02-03T09:07:36+01:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/a32e6e108c366580a08e00d616f60f299c1d9e8b","author":{"name":"Carlos Rafael Giani","email":"crg7475@mailbox.org"},"added":[],"modified":["src/modules/module-rtp/audio.c"],"removed":[]},{"id":"95970e539efe9bd9476f91c00780d9586e431b40","message":"module-rtp: Fix invalid ring buffer read attempts in direct timestamp mode\n\nIn corner cases where the read and write pointers are very close, it may\nnot be possible to read out all the wanted samples. This can for example\nhappen when there is a jump in the graph driver position. Currently, the\ncode reads the wanted number of samples out of the ring buffer regardless\nof the write and read pointer positions. It does so even when the read\npointer is ahead of the write pointer (that is, an underrun occurs).\n\nFix this by checking the fill level and reading only the available amount\nof samples if that amount is less than the wanted amount. The remaining\nspace in the target buffer is then filled with nullbytes.\n\n","title":"module-rtp: Fix invalid ring buffer read attempts in direct timestamp mode","timestamp":"2026-02-03T09:07:48+01:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/95970e539efe9bd9476f91c00780d9586e431b40","author":{"name":"Carlos Rafael Giani","email":"crg7475@mailbox.org"},"added":[],"modified":["src/modules/module-rtp/audio.c"],"removed":[]},{"id":"413f5762c46ff5bbc6084ea4a9c94e9895d41c83","message":"module-rtp: Clear ringbuffer in constant delay mode\n\nClearing the ring buffer is important not only in the direct timestamp\nmode, but also in the constant delay mode, since missed packets can lead\nto gaps in the ring buffer. These gaps may have stale data inside if the\nringbuffer is not cleared after reading from it.\n\n","title":"module-rtp: Clear ringbuffer in constant delay mode","timestamp":"2026-02-03T09:07:48+01:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/413f5762c46ff5bbc6084ea4a9c94e9895d41c83","author":{"name":"Carlos Rafael Giani","email":"crg7475@mailbox.org"},"added":[],"modified":["src/modules/module-rtp/audio.c"],"removed":[]},{"id":"543000151f67a0a40032fd45c2b4540e3942c324","message":"module-rtp: Handle unsigned 32-bit integer overflow in constant delay mode\n\n","title":"module-rtp: Handle unsigned 32-bit integer overflow in constant delay mode","timestamp":"2026-02-03T09:07:48+01:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/543000151f67a0a40032fd45c2b4540e3942c324","author":{"name":"Carlos Rafael Giani","email":"crg7475@mailbox.org"},"added":[],"modified":["src/modules/module-rtp/audio.c"],"removed":[]},{"id":"9f0dc9c1af1aa2cccae153678b81b7b42633273c","message":"module-rtp: Update ringbuffer indices upon resync with proper API calls\n","title":"module-rtp: Update ringbuffer indices upon resync with proper API calls","timestamp":"2026-02-03T09:07:48+01:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/9f0dc9c1af1aa2cccae153678b81b7b42633273c","author":{"name":"Carlos Rafael Giani","email":"crg7475@mailbox.org"},"added":[],"modified":["src/modules/module-rtp/audio.c"],"removed":[]},{"id":"5d7f21f1304cb7b8ddb2a8364aec66f22e7a2894","message":"module-rtp: Improve rtp_audio_flush_packets() logging\n\n","title":"module-rtp: Improve rtp_audio_flush_packets() logging","timestamp":"2026-02-03T09:07:48+01:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/5d7f21f1304cb7b8ddb2a8364aec66f22e7a2894","author":{"name":"Carlos Rafael Giani","email":"crg7475@mailbox.org"},"added":[],"modified":["src/modules/module-rtp/audio.c"],"removed":[]},{"id":"a16485f8aa21dfb8e038b1c7e6a31adb25be7f85","message":"module-rtp: Extract common RTP code into static library for better reuse\n\n","title":"module-rtp: Extract common RTP code into static library for better reuse","timestamp":"2026-02-03T09:07:48+01:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/a16485f8aa21dfb8e038b1c7e6a31adb25be7f85","author":{"name":"Carlos Rafael Giani","email":"crg7475@mailbox.org"},"added":[],"modified":["src/modules/meson.build"],"removed":[]},{"id":"e874f705a9264d7b94e011a3cc5e7f080a56ced1","message":"module-rtp: clear ringbuffer when stream stops to prevent old packets\n\nClear the ringbuffer in stream_stop() when processing stops to prevent old invalid packets\nfrom being sent when processing resumes via rtp_audio_flush_packets().\n\nThis ensures a clean state when the stream restarts.\n\n","title":"module-rtp: clear ringbuffer when stream stops to prevent old packets","timestamp":"2026-02-03T09:07:48+01:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/e874f705a9264d7b94e011a3cc5e7f080a56ced1","author":{"name":"Stanislav Ruzani","email":"stanislav.ruzani@streamunlimited.com"},"added":[],"modified":["src/modules/module-rtp/stream.c"],"removed":[]},{"id":"6192c110385457df5c1655c313bd701595aac56d","message":"module-rtp: Convert clock pos to RTP time in RTP source and factor in ASRC\n\nThis can easily be overlooked if the RTP rate equals the clock rate, which\nis fairly common (for example, RTP rate and clock rate both being 48 kHz).\n\nAnd, if an ASRC is active, and converting the output of the RTP source\nnode, the resampler's delay need to be taken into the account as well.\n\n","title":"module-rtp: Convert clock pos to RTP time in RTP source and factor in ASRC","timestamp":"2026-02-03T09:07:48+01:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/6192c110385457df5c1655c313bd701595aac56d","author":{"name":"Carlos Rafael Giani","email":"crg7475@mailbox.org"},"added":[],"modified":["src/modules/module-rtp/audio.c"],"removed":[]},{"id":"642504f5f981440761f1cf2cd3873e283d8ea07e","message":"module-rtp: Compensate for stream resampler effects in RTP sink node\n\n","title":"module-rtp: Compensate for stream resampler effects in RTP sink node","timestamp":"2026-02-03T09:07:48+01:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/642504f5f981440761f1cf2cd3873e283d8ea07e","author":{"name":"Carlos Rafael Giani","email":"crg7475@mailbox.org"},"added":[],"modified":["src/modules/module-rtp/audio.c"],"removed":[]}],"total_commits_count":10,"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}}