{"object_kind":"push","event_name":"push","before":"4fc2b60163560c008bcc8d09cb50932eea115130","after":"a7eb57adbb60754bf961141b8a055ffa44e16b70","ref":"refs/heads/master","ref_protected":true,"checkout_sha":"a7eb57adbb60754bf961141b8a055ffa44e16b70","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":"a7eb57adbb60754bf961141b8a055ffa44e16b70","message":"spa: v4l2: enumerate the formats and filter the result\n\nspa_v4l2_enum_format() uses the filter only to decide which ioctls to\nmake, and never filters the param it emits. Whatever the filter does not\nsteer is therefore not checked: a fixed frame size is taken on faith, so\na client can negotiate a size the device does not enumerate and fails\nlater in set_format with -EINVAL.\n\nEnumerate what the device offers and apply spa_pod_filter() to the\nresult, as the other plugins do. enum_filter_format(),\nfilter_framesize() and filter_framerate() go away, and so does the\nspecial case added in ae7cb6730.\n\nThe variant without the modifier is built in a builder of its own,\nbecause filtering appends to the main builder, which can move its data\noff the stack buffer that the unfiltered param points into.\n\nThe unfiltered enumeration is unchanged. A size the device does not\nenumerate now ends the enumeration instead of failing in set_format, and\na driver that enumerates discrete sizes but scales to others is offered\nonly the sizes it enumerates.\n\nFixes #4842\n","title":"spa: v4l2: enumerate the formats and filter the result","timestamp":"2026-09-16T08:32:53+00:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/a7eb57adbb60754bf961141b8a055ffa44e16b70","author":{"name":"Viorel Cernateanu","email":"vrilutza@gmail.com"},"added":[],"modified":["spa/plugins/v4l2/v4l2-utils.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}}