{"object_kind":"push","event_name":"push","before":"a2ede934799e9c3776c1a0557e3e156d71c9f723","after":"f073a1a59b2849592482bb508a8a16e67f1d1fbb","ref":"refs/heads/master","ref_protected":true,"checkout_sha":"f073a1a59b2849592482bb508a8a16e67f1d1fbb","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":"d0680a2b3d85717089e0b8fefdbe2578b7c902c3","message":"bluez5: support packet loss concealment in codecs\n\nLC3 and Opus have built-in support for packet loss concealment.\n\nAdd codec interface for that, and implement for LC3.\n\nExtend media_codec interface so that packets not aligned with socket\nreads can be handled, as in HFP. This is required for correct sequence\nnumber counting, and for being able to run codec PLC *before* decoding\nthe next correctly received packet.\n","title":"bluez5: support packet loss concealment in codecs","timestamp":"2025-07-12T19:59:33+00:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/d0680a2b3d85717089e0b8fefdbe2578b7c902c3","author":{"name":"Pauli Virtanen","email":"pav@iki.fi"},"added":[],"modified":["spa/plugins/bluez5/bap-codec-lc3.c","spa/plugins/bluez5/hfp-codec-lc3-a127.c","spa/plugins/bluez5/hfp-codec-lc3-swb.c","spa/plugins/bluez5/hfp-codec-msbc.c","spa/plugins/bluez5/media-codecs.h"],"removed":[]},{"id":"90a1b35017ae5a5e8e7908378e3c6ee2a10078dc","message":"bluez5: media-source: support codec-provided packet loss concealment\n\nIf packet sequence number jumps ahead, or we would underflow, use\ncodec-provided packet loss concealment to produce some audio data.\n\nWhen we produce it during underflow, skip the corresponding number of\nsequence numbers of future packets.\n\nIf codec doesn't have PLC, keep the previous behavior (pad with zeros,\nbuffering pauses to wait for data).\n","title":"bluez5: media-source: support codec-provided packet loss concealment","timestamp":"2025-07-12T19:59:33+00:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/90a1b35017ae5a5e8e7908378e3c6ee2a10078dc","author":{"name":"Pauli Virtanen","email":"pav@iki.fi"},"added":[],"modified":["spa/plugins/bluez5/decode-buffer.h","spa/plugins/bluez5/media-source.c"],"removed":[]},{"id":"87843366cecc935ede11bda6e23fada33b4fde23","message":"bluez5: add PLC for MSBC using spandsp\n\nUse spandsp as optional dependency for MSBC codec, for providing PLC.\n","title":"bluez5: add PLC for MSBC using spandsp","timestamp":"2025-07-12T19:59:33+00:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/87843366cecc935ede11bda6e23fada33b4fde23","author":{"name":"Pauli Virtanen","email":"pav@iki.fi"},"added":["spa/plugins/bluez5/plc.h"],"modified":["meson_options.txt","spa/meson.build","spa/plugins/bluez5/hfp-codec-msbc.c","spa/plugins/bluez5/meson.build"],"removed":[]},{"id":"02d5d9bc1fcb60feac964b41fa4cbea653c02823","message":"bluez5: sco-io: remove unnecessary variable\n","title":"bluez5: sco-io: remove unnecessary variable","timestamp":"2025-07-12T19:59:33+00:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/02d5d9bc1fcb60feac964b41fa4cbea653c02823","author":{"name":"Pauli Virtanen","email":"pav@iki.fi"},"added":[],"modified":["spa/plugins/bluez5/sco-io.c"],"removed":[]},{"id":"ff81fc9f7b29bd85111607bbe4dd3ab56517863a","message":"bluez5: fix ISO sequence numbering\n\nPass zero-length packets to the codec. BAP/ISO may use these to indicate\nmissing data.\n\nFix A2DP codecs to not parse input with spa_return_val_if_fail, that's\nmeant for assertions. Just return -EINVAL directly, it's normal that\ninput data may contain garbage.\n","title":"bluez5: fix ISO sequence numbering","timestamp":"2025-07-12T19:59:33+00:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/ff81fc9f7b29bd85111607bbe4dd3ab56517863a","author":{"name":"Pauli Virtanen","email":"pav@iki.fi"},"added":[],"modified":["spa/plugins/bluez5/a2dp-codec-aac.c","spa/plugins/bluez5/a2dp-codec-aptx.c","spa/plugins/bluez5/a2dp-codec-faststream.c","spa/plugins/bluez5/a2dp-codec-lc3plus.c","spa/plugins/bluez5/a2dp-codec-ldac.c","spa/plugins/bluez5/a2dp-codec-opus-g.c","spa/plugins/bluez5/a2dp-codec-opus.c","spa/plugins/bluez5/a2dp-codec-sbc.c","spa/plugins/bluez5/bap-codec-lc3.c","spa/plugins/bluez5/media-source.c"],"removed":[]},{"id":"cee0c39b00b4c2718c106fb8c4db52efa0185ffb","message":"bluez5: fix decode-buffer buffering threshold\n\nThe minimum is the number of requested samples, not duration, which can\nbe different when resampling.\n","title":"bluez5: fix decode-buffer buffering threshold","timestamp":"2025-07-12T19:59:33+00:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/cee0c39b00b4c2718c106fb8c4db52efa0185ffb","author":{"name":"Pauli Virtanen","email":"pav@iki.fi"},"added":[],"modified":["spa/plugins/bluez5/decode-buffer.h"],"removed":[]},{"id":"f073a1a59b2849592482bb508a8a16e67f1d1fbb","message":"ci: add spandsp & liblc3\n","title":"ci: add spandsp & liblc3","timestamp":"2025-07-12T19:59:33+00:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/f073a1a59b2849592482bb508a8a16e67f1d1fbb","author":{"name":"Pauli Virtanen","email":"pav@iki.fi"},"added":[],"modified":[".gitlab-ci.yml"],"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}}