I try to compare the working and non-working system. The log's different when allocate buffer.
Good: pipewire[1889]: pw.link: 0x5595fb3a6de0: allocating 16 buffers 0x5595fb3b4590 pipewire[1889]: pw.port: 0x5595fb361960: 1:0.0: 16 buffers flags:1 state:2 n_mix:1 pipewire[1889]: pw.port: 0x5595fb361960: 1.0 use 16 buffers on node: 0x5595fb35f2d0 pipewire[1889]: spa.v4l2: got 16 buffers
Bad: pipewire[1118]: pw.link: 0x5620ee222d50: allocating 16 buffers 0x5620ee222600 pipewire[1118]: pw.port: 0x5620ee23d570: 1:0.0: 16 buffers flags:1 state:2 n_mix:1 pipewire[1118]: pw.port: 0x5620ee23d570: 1.0 use 16 buffers on node: 0x5620ee243c50 pipewire[1118]: spa.v4l2: got 2 buffers pipewire[1118]: spa.v4l2: buffer 0 was already queued pipewire[1118]: spa.v4l2: have 0 buffers using MMAP
From the source it utilize the ioctl to query the driver: https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/spa/plugins/v4l2/v4l2-utils.c#L1439
More, the driver report the buffer flag V4L2_BUF_FLAG_QUEUED on IPU6 platform. Might need to check driver what makes it different. It keeps reporting no buffers for doing streaming on IPU6 platform.
I try to compare the working and non-working system. The log's different when allocate buffer.
Good:
pipewire[1889]: pw.link: 0x5595fb3a6de0: allocating 16 buffers 0x5595fb3b4590
pipewire[1889]: pw.port: 0x5595fb361960: 1:0.0: 16 buffers flags:1 state:2 n_mix:1
pipewire[1889]: pw.port: 0x5595fb361960: 1.0 use 16 buffers on node: 0x5595fb35f2d0
pipewire[1889]: spa.v4l2: got 16 buffers
Bad:
pipewire[1118]: pw.link: 0x5620ee222d50: allocating 16 buffers 0x5620ee222600
pipewire[1118]: pw.port: 0x5620ee23d570: 1:0.0: 16 buffers flags:1 state:2 n_mix:1
pipewire[1118]: pw.port: 0x5620ee23d570: 1.0 use 16 buffers on node: 0x5620ee243c50
pipewire[1118]: spa.v4l2: got 2 buffers
pipewire[1118]: spa.v4l2: buffer 0 was already queued
pipewire[1118]: spa.v4l2: have 0 buffers using MMAP
From the source it utilize the ioctl to query the driver: /gitlab. freedesktop. org/pipewire/ pipewire/ -/blob/ master/ spa/plugins/ v4l2/v4l2- utils.c# L1439
https:/
More, the driver report the buffer flag V4L2_BUF_ FLAG_QUEUED on IPU6 platform.
Might need to check driver what makes it different. It keeps reporting no buffers for doing streaming on IPU6 platform.