pipewire/spa/plugins/videoconvert
Michael Tretter 0814bafef1 videoadapter: fix EnumPortConfig for adapter without converter
The videoadapter always exposes the EnumPortConfig parameter. If no
converter is loaded, the EnumPortConfig parameter doesn't return a
parameter.

In this case, the client-node in the PipeWire server returns -ENOENT for
the EnumPortConfig, which in turn causes WirePlumber to fail the object
activation and it won't be able to create a link for the object.

This happens since Commit b57375ba85 ("stream: enable videoadapter in
all cases"), since now the videoadapter is always added. Before that,
the EnumPortConfig parameter was just not exposed and linking worked.

Running another client that ignores the error codes for missing
parameters (e.g., pw-dump) hides the issue, as the EnumPortConfig result
is cached as successful with 0 parameters and accessing the cache
doesn't return an error code.

Return the same PortConfig for EnumPortConfig as for PortConfig to fix
this.
2025-01-28 11:38:08 +00:00
..
meson.build videoconvert: add an ffmpeg based video converter 2024-09-06 12:27:02 +02:00
plugin.c videoconvert: add an ffmpeg based video converter 2024-09-06 12:27:02 +02:00
videoadapter.c videoadapter: fix EnumPortConfig for adapter without converter 2025-01-28 11:38:08 +00:00
videoconvert-dummy.c videoconvert: Add dummy plugin 2024-08-29 14:00:51 +00:00
videoconvert-ffmpeg.c spa: use static inline for interfaces instead of macro 2024-11-26 11:35:49 +01:00