mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-16 07:00:00 -05:00
Quoting https://docs.pipewire.org/page_dma_buf.html section "v4l2":
```
It's the the responsibility of the producer while the add_buffer event
to choose DMA-BUF as the used buffer type even though no modifier is
present, if it can guarantee, that the used buffer is mmapable.
```
As Gstreamer internally can mmap dmabufs just fine, support this case.
This enables dmabuf support with V4L2 and libcamera.
This was also tested against Gnome-Shell, which correctly handles this
case and only chooses DmaBuf if the negotiated format has a modifier,
i.e. if the Gstreamer peer supports the format with
`GST_CAPS_FEATURE_MEMORY_DMABUF`.
Fixes
|
||
|---|---|---|
| .. | ||
| .editorconfig | ||
| gstpipewire.c | ||
| gstpipewireclock.c | ||
| gstpipewireclock.h | ||
| gstpipewirecore.c | ||
| gstpipewirecore.h | ||
| gstpipewiredeviceprovider.c | ||
| gstpipewiredeviceprovider.h | ||
| gstpipewireformat.c | ||
| gstpipewireformat.h | ||
| gstpipewirepool.c | ||
| gstpipewirepool.h | ||
| gstpipewiresink.c | ||
| gstpipewiresink.h | ||
| gstpipewiresrc.c | ||
| gstpipewiresrc.h | ||
| meson.build | ||