{"object_kind":"push","event_name":"push","before":"cefb4e926e2e99c1db04cc71d4bb61f102361b02","after":"6734d69c887d23445b380aa201beb3762466ecda","ref":"refs/heads/master","ref_protected":true,"checkout_sha":"6734d69c887d23445b380aa201beb3762466ecda","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":"6734d69c887d23445b380aa201beb3762466ecda","message":"spa: v4l2: do not expose compound controls as props\n\nVIDIOC_QUERY_EXT_CTRL reports an array of integers as\nV4L2_CTRL_TYPE_INTEGER, so spa_v4l2_enum_controls() registers it as a\nplain Int property. Such a control has a payload and can only be\naccessed with VIDIOC_G_EXT_CTRLS; VIDIOC_G_CTRL returns EINVAL for it.\n\nspa_v4l2_update_controls() treats that as a fatal error, so every\nenumeration of SPA_PARAM_Props on the node fails with -EINVAL as soon as\nthe device has one such control. vivid, which exposes one (\"S32 2\nElement Array\"), is affected: WirePlumber requests all features on every\nnode, the failing Props enumeration aborts the activation, no node-added\nevent is emitted, no session item is created, and a camera client fails\nwith \"target not found\".\n\nSkip controls that have a payload; they cannot be represented as a\nsingle Int or Bool anyway. The control types that already fall through\nto the default case (string, integer64, u8/u16/u32 arrays) are\nunaffected; only the integer, boolean and menu cases could reach\nVIDIOC_G_CTRL with a payload control. The flag is also filled in on the\nVIDIOC_QUERYCTRL fallback path, so the check works on drivers without\nVIDIOC_QUERY_EXT_CTRL too.\n\nFixes #5431\nSuggested-by: Barnabás Pőcze \n","title":"spa: v4l2: do not expose compound controls as props","timestamp":"2026-08-24T13:03:59+00:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/6734d69c887d23445b380aa201beb3762466ecda","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}}