pipewire/spa/plugins
Wim Taymans d4581755e6 spa: Improve JSON error reporting
Add struct spa_error_location that holds information about some parsing
context such as the line and column number, error and line fragment
with the error.

Make spa_json_get_error() fill in the spa_error_location instead. Add
some error codes to the error state and use this to add a parsing reason
to the location.

Add a debug function to log the error location in a nice way. Also
add a FILE based debug context to log to any FILE.

Replace pw_properties_check_string() with
pw_properties_update_string_checked() and add
pw_properties_new_string_checked(). The check string behaviour can still
be done by setting props to NULL but the main purpose is to be able to
avoid parsing the json file twice in the future.

When using the old pw_properties_update_string(), log a warning to the
log when we fail to parse the complete string.

Use the new checked functions and the debug functions to report about
parsing errors in the tools and conf parsing.

This gives errors like:

```
> pw-loopback --playback-props '{ foo =  [ f : g ] }'
error: syntax error in --playback-props: Invalid array separator
line:      1 | { foo =  [ f : g ] }
col:      14 |              ^
```
2024-03-27 15:42:29 +01:00
..
aec spa: export log topic enumerations 2024-01-04 10:02:55 +00:00
alsa alsa: add option to skip the busy check 2024-03-22 12:42:48 +01:00
audioconvert spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
audiomixer spa: export log topic enumerations 2024-01-04 10:02:55 +00:00
audiotestsrc spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
avb spa: small cleanups 2024-01-10 15:51:01 +01:00
bluez5 spa: Improve JSON error reporting 2024-03-27 15:42:29 +01:00
control spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
ffmpeg spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
jack spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
libcamera buffer: add MAPPABLE data flag 2024-02-08 18:09:08 +01:00
support spa plugins: Include Linux headers on Linux only 2024-03-25 14:53:14 +00:00
test spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
v4l2 v4l2: set latency on port 2024-03-22 11:15:10 +01:00
videoconvert videoconvert: Enable loading external converter plugins 2024-01-22 13:59:16 +00:00
videotestsrc spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
volume spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
vulkan spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
meson.build meson: fix build with missing libudev-devel 2024-02-06 11:49:40 +01:00