pipewire/src/gst
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
..
.editorconfig add .editorconfig files 2019-02-13 11:19:21 +01:00
gstpipewire.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
gstpipewireclock.c gst: enable the pipewire ticks as a clock source 2024-11-26 17:23:00 +01:00
gstpipewireclock.h gst: use G_DECLARE_FINAL_TYPE for all classes 2024-06-11 12:51:51 +00:00
gstpipewirecore.c gst: core: Fixup connection error handling 2025-01-12 11:42:29 +00:00
gstpipewirecore.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
gstpipewiredeviceprovider.c gst: deviceprovider: take a ref to devices 2025-06-09 16:50:18 +02:00
gstpipewiredeviceprovider.h gst: deviceprovider: Signal default devices 2024-09-11 13:14:26 +00:00
gstpipewireformat.c gst: whitespace fix 2025-07-10 14:05:23 +00:00
gstpipewireformat.h gst: Add helper to fixate DMA_DRM caps 2024-05-29 19:05:53 +02:00
gstpipewirepool.c gst: pipewiresrc: Expose cursor position as a ROI meta 2025-07-11 11:57:59 -04:00
gstpipewirepool.h gst: pipewiresrc: Expose cursor position as a ROI meta 2025-07-11 11:57:59 -04:00
gstpipewiresink.c gst: fix leak in sink_update_params 2025-07-08 13:07:44 +02:00
gstpipewiresink.h gst: sink: update clock before every trigger process 2025-05-08 18:57:44 +05:30
gstpipewiresrc.c pod: rework the parser 2025-07-29 15:15:02 +02:00
gstpipewiresrc.h gst: handle blocks and size allocation for encoded format 2025-04-17 15:21:38 -04:00
gstpipewirestream.c gst: add rate control to the sink 2024-12-03 12:11:47 +01:00
gstpipewirestream.h gst: sink: update clock before every trigger process 2025-05-08 18:57:44 +05:30
meson.build gst: add rate control to the sink 2024-12-03 12:11:47 +01:00