pipewire/spa/include/spa/pod
Wim Taymans a859c7a651 builder: add support for FEATURE choice
This is the same as the Flags choice but the property (if any) has the
DROP flag set.

This means that when filtering, the property is dropped when one side
is missing the property. Otherwise, the flags are AND-ed together with a
negotiation failure when the result if 0.

This can be used to make sure both sides present compatible feature bits.
The result of the filter is then:

  1. no property (one side didn't present bits). This is likely because
     the other side is old and doesn't know about the feature bits yet.
     Code can take a backwards compatibility codepath.
  2. a negotiation failure, both sides presented bits but the AND is 0,
     they don't have compatible features.
  3. a property with bits (features) that are compatible.

This is different from normal flags in that the flags are not dropped
when the other size is missing the property.
2025-09-19 13:40:52 +02:00
..
body.h spa: avoid warnings when compiling cpp 2025-08-26 14:54:23 +02:00
builder.h builder: add support for FEATURE choice 2025-09-19 13:40:52 +02:00
command.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
compare.h pod: improve compare function 2025-07-22 14:19:08 +02:00
dynamic.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
event.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
filter.h pod: add SPA_POD_PROP_FLAG_DROP 2025-09-16 11:00:04 +02:00
iter.h Revert "pod: remove checks from spa_pod_body_get_*()" 2025-08-01 10:46:45 +02:00
parser.h spa: support props flags building and parsing 2025-09-12 16:54:04 +02:00
pod.h pod: add SPA_POD_PROP_FLAG_DROP 2025-09-16 11:00:04 +02:00
simplify.h pod: check that choices are not empty 2025-07-15 10:13:18 +02:00
vararg.h builder: add support for FEATURE choice 2025-09-19 13:40:52 +02:00