pipewire/spa/include/spa/param
Wim Taymans e317edcfb9 pod: rework the parser
Make a new body.h file with some functions to deal with pod and their
body. Make the iter.h functions use mostly this.

Rework the parser so that it only uses body.h functions. With the separation
of pod+body, we can read and verify the pod once and then use the
verified copy to handle the rest of the body safely.

We do this because iter.h only works in pods in memory that doesn't change
because it is vulnerable to modifications of the data after verifying it.

The new parser is not vulnerable to this and will not cause invalid
memory access when used on shared memory. There is however no need for
atomic operations to read the headers, whever is read is either valid
and useable of invalid and rejected.

See #4822
2025-07-29 15:15:02 +02:00
..
audio pod: rework the parser 2025-07-29 15:15:02 +02:00
bluetooth bluez5: support LC3-24kHz HFP codec available on some Apple devices 2025-06-13 22:15:29 +00:00
video pod: rework the parser 2025-07-29 15:15:02 +02:00
buffers-types.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
buffers.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
format-types.h spa: param: video: add missing type info for color params 2025-07-12 21:18:23 +02:00
format-utils.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
format.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
latency-types.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
latency-utils.h spa: add SPA_LATENCY_INFO_UNSET 2025-06-12 12:12:28 +02:00
latency.h spa: add SPA_LATENCY_INFO_UNSET 2025-06-12 12:12:28 +02:00
param-types.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
param.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
port-config-types.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
port-config.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
profile-types.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
profile.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
profiler-types.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
profiler.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
props-types.h spa: add volume_ramp_scale enum type info 2025-06-13 10:06:09 +02:00
props.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
route-types.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
route.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
tag-types.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
tag-utils.h pod: rework the parser 2025-07-29 15:15:02 +02:00
tag.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
type-info.h Port: Add tag param 2023-08-29 14:22:13 +02:00