mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-10 13:30:05 -05:00
pod: use {} as object delimited, like json
Use <> for sequence
This commit is contained in:
parent
ff6a244d8f
commit
2631db14a8
7 changed files with 24 additions and 24 deletions
|
|
@ -526,7 +526,7 @@ spa_pod_builder_addv(struct spa_pod_builder *builder,
|
|||
char t = *format;
|
||||
next:
|
||||
switch (t) {
|
||||
case '<':
|
||||
case '{':
|
||||
{
|
||||
uint32_t type = va_arg(args, uint32_t);
|
||||
uint32_t id = va_arg(args, uint32_t);
|
||||
|
|
@ -539,7 +539,7 @@ spa_pod_builder_addv(struct spa_pod_builder *builder,
|
|||
case '(':
|
||||
spa_pod_builder_push_array(builder);
|
||||
break;
|
||||
case '{':
|
||||
case '<':
|
||||
{
|
||||
uint32_t unit = va_arg(args, uint32_t);
|
||||
spa_pod_builder_push_sequence(builder, unit);
|
||||
|
|
@ -570,7 +570,7 @@ spa_pod_builder_addv(struct spa_pod_builder *builder,
|
|||
|
||||
spa_pod_builder_push_prop(builder, key, flags);
|
||||
|
||||
if (t == '<' || t == '[')
|
||||
if (t == '{' || t == '[' || t == '<')
|
||||
goto next;
|
||||
|
||||
n_values = -1;
|
||||
|
|
@ -621,7 +621,7 @@ static inline void *spa_pod_builder_add(struct spa_pod_builder *builder, const c
|
|||
}
|
||||
|
||||
#define SPA_POD_OBJECT(type,id,...) \
|
||||
"<", type, id, ##__VA_ARGS__, ">"
|
||||
"{", type, id, ##__VA_ARGS__, "}"
|
||||
|
||||
#define SPA_POD_STRUCT(...) \
|
||||
"[", ##__VA_ARGS__, "]"
|
||||
|
|
@ -630,7 +630,7 @@ static inline void *spa_pod_builder_add(struct spa_pod_builder *builder, const c
|
|||
":", key, spec, value, ##__VA_ARGS__
|
||||
|
||||
#define SPA_POD_SEQUENCE(unit,...) \
|
||||
"{", unit, ##__VA_ARGS__, "}"
|
||||
"<", unit, ##__VA_ARGS__, ">"
|
||||
|
||||
#define SPA_POD_CONTROL(offset,type,...) \
|
||||
".", offset, type, ##__VA_ARGS__
|
||||
|
|
|
|||
|
|
@ -208,7 +208,7 @@ static inline int spa_pod_parser_getv(struct spa_pod_parser *parser,
|
|||
|
||||
while (format) {
|
||||
switch (*format) {
|
||||
case '<':
|
||||
case '{':
|
||||
if (pod == NULL || SPA_POD_TYPE(pod) != SPA_TYPE_Object)
|
||||
return -EINVAL;
|
||||
if (++parser->depth >= SPA_POD_MAX_DEPTH)
|
||||
|
|
@ -226,7 +226,7 @@ static inline int spa_pod_parser_getv(struct spa_pod_parser *parser,
|
|||
it = &parser->iter[parser->depth];
|
||||
spa_pod_iter_init(it, pod, SPA_POD_SIZE(pod), sizeof(struct spa_pod_struct));
|
||||
goto read_pod;
|
||||
case ']': case '>':
|
||||
case ']': case '}':
|
||||
if (current != NULL)
|
||||
return -EINVAL;
|
||||
if (--parser->depth < 0)
|
||||
|
|
@ -312,7 +312,7 @@ static inline int spa_pod_parser_get(struct spa_pod_parser *parser,
|
|||
({ \
|
||||
struct spa_pod_parser __p; \
|
||||
spa_pod_parser_pod(&__p, pod); \
|
||||
spa_pod_parser_get(&__p, "<", ##__VA_ARGS__, NULL); \
|
||||
spa_pod_parser_get(&__p, "{", ##__VA_ARGS__, NULL); \
|
||||
})
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue