| 
| #define  | SPA_POD_BUILDER_FLAG_BODY   (1<<0) | 
|   | 
| #define  | SPA_POD_BUILDER_FLAG_FIRST   (1<<1) | 
|   | 
| #define  | SPA_VERSION_POD_BUILDER_CALLBACKS   0 | 
|   | 
| #define  | SPA_POD_BUILDER_INIT(buffer,  size)   ((struct spa_pod_builder){ (buffer), (size), 0, {}, {} }) | 
|   | 
| #define  | SPA_POD_INIT(size,  type)   ((struct spa_pod) { (size), (type) }) | 
|   | 
| #define  | SPA_POD_INIT_None()   SPA_POD_INIT(0, SPA_TYPE_None) | 
|   | 
| #define  | SPA_POD_INIT_Bool(val)   ((struct spa_pod_bool){ { sizeof(uint32_t), SPA_TYPE_Bool }, (val) ? 1 : 0, 0 }) | 
|   | 
| #define  | SPA_POD_INIT_Id(val)   ((struct spa_pod_id){ { sizeof(uint32_t), SPA_TYPE_Id }, (val), 0 }) | 
|   | 
| #define  | SPA_POD_INIT_Int(val)   ((struct spa_pod_int){ { sizeof(int32_t), SPA_TYPE_Int }, (val), 0 }) | 
|   | 
| #define  | SPA_POD_INIT_Long(val)   ((struct spa_pod_long){ { sizeof(int64_t), SPA_TYPE_Long }, (val) }) | 
|   | 
| #define  | SPA_POD_INIT_Float(val)   ((struct spa_pod_float){ { sizeof(float), SPA_TYPE_Float }, (val), 0 }) | 
|   | 
| #define  | SPA_POD_INIT_Double(val)   ((struct spa_pod_double){ { sizeof(double), SPA_TYPE_Double }, (val) }) | 
|   | 
| #define  | SPA_POD_INIT_String(len)   ((struct spa_pod_string){ { (len), SPA_TYPE_String } }) | 
|   | 
| #define  | SPA_POD_INIT_Bytes(len)   ((struct spa_pod_bytes){ { (len), SPA_TYPE_Bytes } }) | 
|   | 
| #define  | SPA_POD_INIT_Pointer(type,  value)   ((struct spa_pod_pointer){ { sizeof(struct spa_pod_pointer_body), SPA_TYPE_Pointer }, { (type), 0, (value) } }) | 
|   | 
| #define  | SPA_POD_INIT_Fd(fd)   ((struct spa_pod_fd){ { sizeof(int64_t), SPA_TYPE_Fd }, (fd) }) | 
|   | 
| #define  | SPA_POD_INIT_Rectangle(val)   ((struct spa_pod_rectangle){ { sizeof(struct spa_rectangle), SPA_TYPE_Rectangle }, (val) }) | 
|   | 
| #define  | SPA_POD_INIT_Fraction(val)   ((struct spa_pod_fraction){ { sizeof(struct spa_fraction), SPA_TYPE_Fraction }, (val) }) | 
|   | 
| #define  | SPA_POD_INIT_CHOICE_BODY(type,  flags,  child_size,  child_type)   	((struct spa_pod_choice_body) { (type), (flags), { (child_size), (child_type) }}) | 
|   | 
| #define  | SPA_POD_INIT_Choice(type,  ctype,  child_type,  n_vals, ...) | 
|   | 
| #define  | SPA_POD_INIT_Struct(size)   ((struct spa_pod_struct){ { (size), SPA_TYPE_Struct } }) | 
|   | 
| #define  | SPA_POD_INIT_Object(size,  type,  id, ...)   ((struct spa_pod_object){ { (size), SPA_TYPE_Object }, { (type), (id) }, ##__VA_ARGS__ }) | 
|   | 
| #define  | SPA_POD_INIT_Prop(key,  flags,  size,  type)   	((struct spa_pod_prop){ (key), (flags), { (size), (type) } }) | 
|   | 
| #define  | SPA_POD_INIT_Sequence(size,  unit)   	((struct spa_pod_sequence){ { (size), SPA_TYPE_Sequence}, {(unit), 0 } }) | 
|   | 
| #define  | SPA_POD_BUILDER_COLLECT(builder,  type,  args) | 
|   | 
| #define  | spa_pod_builder_add_object(b,  type,  id, ...) | 
|   | 
| #define  | spa_pod_builder_add_struct(b, ...) | 
|   | 
| #define  | spa_pod_builder_add_sequence(b,  unit, ...) | 
|   | 
| #define  | SPA_COMMAND_TYPE(cmd)   ((cmd)->body.body.type) | 
|   | 
| #define  | SPA_COMMAND_ID(cmd,  type) | 
|   | 
| #define  | SPA_COMMAND_INIT_FULL(t,  size,  type,  id, ...) | 
|   | 
| #define  | SPA_COMMAND_INIT(type,  id) | 
|   | 
| #define  | SPA_EVENT_TYPE(ev)   ((ev)->body.body.type) | 
|   | 
| #define  | SPA_EVENT_ID(ev,  type) | 
|   | 
| #define  | SPA_EVENT_INIT_FULL(t,  size,  type,  id, ...) | 
|   | 
| #define  | SPA_EVENT_INIT(type,  id) | 
|   | 
| #define  | SPA_POD_ARRAY_BODY_FOREACH(body,  _size,  iter) | 
|   | 
| #define  | SPA_POD_ARRAY_FOREACH(obj,  iter)   	SPA_POD_ARRAY_BODY_FOREACH(&(obj)->body, SPA_POD_BODY_SIZE(obj), iter) | 
|   | 
| #define  | SPA_POD_CHOICE_BODY_FOREACH(body,  _size,  iter) | 
|   | 
| #define  | SPA_POD_CHOICE_FOREACH(obj,  iter)   	SPA_POD_CHOICE_BODY_FOREACH(&(obj)->body, SPA_POD_BODY_SIZE(obj), iter) | 
|   | 
| #define  | SPA_POD_FOREACH(pod,  size,  iter) | 
|   | 
| #define  | SPA_POD_STRUCT_FOREACH(obj,  iter)   	SPA_POD_FOREACH(SPA_POD_BODY(obj), SPA_POD_BODY_SIZE(obj), iter) | 
|   | 
| #define  | SPA_POD_OBJECT_BODY_FOREACH(body,  size,  iter) | 
|   | 
| #define  | SPA_POD_OBJECT_FOREACH(obj,  iter)   	SPA_POD_OBJECT_BODY_FOREACH(&(obj)->body, SPA_POD_BODY_SIZE(obj), iter) | 
|   | 
| #define  | SPA_POD_SEQUENCE_BODY_FOREACH(body,  size,  iter) | 
|   | 
| #define  | SPA_POD_SEQUENCE_FOREACH(seq,  iter)   	SPA_POD_SEQUENCE_BODY_FOREACH(&(seq)->body, SPA_POD_BODY_SIZE(seq), iter) | 
|   | 
| #define  | SPA_POD_PARSER_INIT(buffer,  size)   ((struct spa_pod_parser){ (buffer), (size), 0, {} }) | 
|   | 
| #define  | SPA_POD_PARSER_COLLECT(pod,  _type,  args) | 
|   | 
| #define  | SPA_POD_PARSER_SKIP(_type,  args) | 
|   | 
| #define  | SPA_POD_OPT_Bool(val)   "?" SPA_POD_Bool(val) | 
|   | 
| #define  | SPA_POD_OPT_Id(val)   "?" SPA_POD_Id(val) | 
|   | 
| #define  | SPA_POD_OPT_Int(val)   "?" SPA_POD_Int(val) | 
|   | 
| #define  | SPA_POD_OPT_Long(val)   "?" SPA_POD_Long(val) | 
|   | 
| #define  | SPA_POD_OPT_Float(val)   "?" SPA_POD_Float(val) | 
|   | 
| #define  | SPA_POD_OPT_Double(val)   "?" SPA_POD_Double(val) | 
|   | 
| #define  | SPA_POD_OPT_String(val)   "?" SPA_POD_String(val) | 
|   | 
| #define  | SPA_POD_OPT_Stringn(val,  len)   "?" SPA_POD_Stringn(val,len) | 
|   | 
| #define  | SPA_POD_OPT_Bytes(val,  len)   "?" SPA_POD_Bytes(val,len) | 
|   | 
| #define  | SPA_POD_OPT_Rectangle(val)   "?" SPA_POD_Rectangle(val) | 
|   | 
| #define  | SPA_POD_OPT_Fraction(val)   "?" SPA_POD_Fraction(val) | 
|   | 
| #define  | SPA_POD_OPT_Array(csize,  ctype,  n_vals,  vals)   "?" SPA_POD_Array(csize,ctype,n_vals,vals) | 
|   | 
| #define  | SPA_POD_OPT_Pointer(type,  val)   "?" SPA_POD_Pointer(type,val) | 
|   | 
| #define  | SPA_POD_OPT_Fd(val)   "?" SPA_POD_Fd(val) | 
|   | 
| #define  | SPA_POD_OPT_Pod(val)   "?" SPA_POD_Pod(val) | 
|   | 
| #define  | SPA_POD_OPT_PodObject(val)   "?" SPA_POD_PodObject(val) | 
|   | 
| #define  | SPA_POD_OPT_PodStruct(val)   "?" SPA_POD_PodStruct(val) | 
|   | 
| #define  | SPA_POD_OPT_PodChoice(val)   "?" SPA_POD_PodChoice(val) | 
|   | 
| #define  | spa_pod_parser_get_object(p,  type,  id, ...) | 
|   | 
| #define  | spa_pod_parser_get_struct(p, ...) | 
|   | 
| #define  | spa_pod_parse_object(pod,  type,  id, ...) | 
|   | 
| #define  | spa_pod_parse_struct(pod, ...) | 
|   | 
| #define  | SPA_POD_BODY_SIZE(pod)   (((struct spa_pod*)(pod))->size) | 
|   | 
| #define  | SPA_POD_TYPE(pod)   (((struct spa_pod*)(pod))->type) | 
|   | 
| #define  | SPA_POD_SIZE(pod)   ((uint64_t)sizeof(struct spa_pod) + SPA_POD_BODY_SIZE(pod)) | 
|   | 
| #define  | SPA_POD_CONTENTS_SIZE(type,  pod)   (SPA_POD_SIZE(pod)-sizeof(type)) | 
|   | 
| #define  | SPA_POD_CONTENTS(type,  pod)   SPA_PTROFF((pod),sizeof(type),void) | 
|   | 
| #define  | SPA_POD_CONTENTS_CONST(type,  pod)   SPA_PTROFF((pod),sizeof(type),const void) | 
|   | 
| #define  | SPA_POD_BODY(pod)   SPA_PTROFF((pod),sizeof(struct spa_pod),void) | 
|   | 
| #define  | SPA_POD_BODY_CONST(pod)   SPA_PTROFF((pod),sizeof(struct spa_pod),const void) | 
|   | 
| #define  | SPA_POD_VALUE(type,  pod)   (((type*)(pod))->value) | 
|   | 
| #define  | SPA_POD_ARRAY_CHILD(arr)   (&((struct spa_pod_array*)(arr))->body.child) | 
|   | 
| #define  | SPA_POD_ARRAY_VALUE_TYPE(arr)   (SPA_POD_TYPE(SPA_POD_ARRAY_CHILD(arr))) | 
|   | 
| #define  | SPA_POD_ARRAY_VALUE_SIZE(arr)   (SPA_POD_BODY_SIZE(SPA_POD_ARRAY_CHILD(arr))) | 
|   | 
| #define  | SPA_POD_ARRAY_N_VALUES(arr)   (SPA_POD_ARRAY_VALUE_SIZE(arr) ? ((SPA_POD_BODY_SIZE(arr) - sizeof(struct spa_pod_array_body)) / SPA_POD_ARRAY_VALUE_SIZE(arr)) : 0) | 
|   | 
| #define  | SPA_POD_ARRAY_VALUES(arr)   SPA_POD_CONTENTS(struct spa_pod_array, arr) | 
|   | 
| #define  | SPA_POD_CHOICE_CHILD(choice)   (&((struct spa_pod_choice*)(choice))->body.child) | 
|   | 
| #define  | SPA_POD_CHOICE_TYPE(choice)   (((struct spa_pod_choice*)(choice))->body.type) | 
|   | 
| #define  | SPA_POD_CHOICE_FLAGS(choice)   (((struct spa_pod_choice*)(choice))->body.flags) | 
|   | 
| #define  | SPA_POD_CHOICE_VALUE_TYPE(choice)   (SPA_POD_TYPE(SPA_POD_CHOICE_CHILD(choice))) | 
|   | 
| #define  | SPA_POD_CHOICE_VALUE_SIZE(choice)   (SPA_POD_BODY_SIZE(SPA_POD_CHOICE_CHILD(choice))) | 
|   | 
| #define  | SPA_POD_CHOICE_N_VALUES(choice)   (SPA_POD_CHOICE_VALUE_SIZE(choice) ? ((SPA_POD_BODY_SIZE(choice) - sizeof(struct spa_pod_choice_body)) / SPA_POD_CHOICE_VALUE_SIZE(choice)) : 0) | 
|   | 
| #define  | SPA_POD_CHOICE_VALUES(choice)   (SPA_POD_CONTENTS(struct spa_pod_choice, choice)) | 
|   | 
| #define  | SPA_POD_OBJECT_TYPE(obj)   (((struct spa_pod_object*)(obj))->body.type) | 
|   | 
| #define  | SPA_POD_OBJECT_ID(obj)   (((struct spa_pod_object*)(obj))->body.id) | 
|   | 
| #define  | SPA_POD_PROP_SIZE(prop)   (sizeof(struct spa_pod_prop) + (prop)->value.size) | 
|   | 
| #define  | SPA_POD_PROP_FLAG_READONLY   (1u<<0) | 
|   | is read-only  More...
  | 
|   | 
| #define  | SPA_POD_PROP_FLAG_HARDWARE   (1u<<1) | 
|   | some sort of hardware parameter  More...
  | 
|   | 
| #define  | SPA_POD_PROP_FLAG_HINT_DICT   (1u<<2) | 
|   | contains a dictionary struct as (Struct( Int : n_items, (String : key, String : value)*))  More...
  | 
|   | 
| #define  | SPA_POD_PROP_FLAG_MANDATORY   (1u<<3) | 
|   | is mandatory  More...
  | 
|   | 
| #define  | SPA_POD_PROP_FLAG_DONT_FIXATE   (1u<<4) | 
|   | choices need no fixation  More...
  | 
|   | 
| #define  | SPA_POD_CONTROL_SIZE(ev)   (sizeof(struct spa_pod_control) + (ev)->value.size) | 
|   | 
| #define  | SPA_POD_Prop(key, ...)   	key, ##__VA_ARGS__ | 
|   | 
| #define  | SPA_POD_Control(offset,  type, ...)   	offset, type, ##__VA_ARGS__ | 
|   | 
| #define  | SPA_CHOICE_RANGE(def,  min,  max)   3,(def),(min),(max) | 
|   | 
| #define  | SPA_CHOICE_STEP(def,  min,  max,  step)   4,(def),(min),(max),(step) | 
|   | 
| #define  | SPA_CHOICE_ENUM(n_vals, ...)   (n_vals),##__VA_ARGS__ | 
|   | 
| #define  | SPA_CHOICE_FLAGS(flags)   1, (flags) | 
|   | 
| #define  | SPA_CHOICE_BOOL(def)   3,(def),(def),!(def) | 
|   | 
| #define  | SPA_POD_Bool(val)   "b", val | 
|   | 
| #define  | SPA_POD_CHOICE_Bool(def)   "?eb", SPA_CHOICE_BOOL(def) | 
|   | 
| #define  | SPA_POD_Id(val)   "I", val | 
|   | 
| #define  | SPA_POD_CHOICE_ENUM_Id(n_vals, ...)   "?eI", SPA_CHOICE_ENUM(n_vals, __VA_ARGS__) | 
|   | 
| #define  | SPA_POD_Int(val)   "i", val | 
|   | 
| #define  | SPA_POD_CHOICE_ENUM_Int(n_vals, ...)   "?ei", SPA_CHOICE_ENUM(n_vals, __VA_ARGS__) | 
|   | 
| #define  | SPA_POD_CHOICE_RANGE_Int(def,  min,  max)   "?ri", SPA_CHOICE_RANGE(def, min, max) | 
|   | 
| #define  | SPA_POD_CHOICE_STEP_Int(def,  min,  max,  step)   "?si", SPA_CHOICE_STEP(def, min, max, step) | 
|   | 
| #define  | SPA_POD_CHOICE_FLAGS_Int(flags)   "?fi", SPA_CHOICE_FLAGS(flags) | 
|   | 
| #define  | SPA_POD_Long(val)   "l", val | 
|   | 
| #define  | SPA_POD_CHOICE_ENUM_Long(n_vals, ...)   "?el", SPA_CHOICE_ENUM(n_vals, __VA_ARGS__) | 
|   | 
| #define  | SPA_POD_CHOICE_RANGE_Long(def,  min,  max)   "?rl", SPA_CHOICE_RANGE(def, min, max) | 
|   | 
| #define  | SPA_POD_CHOICE_STEP_Long(def,  min,  max,  step)   "?sl", SPA_CHOICE_STEP(def, min, max, step) | 
|   | 
| #define  | SPA_POD_CHOICE_FLAGS_Long(flags)   "?fl", SPA_CHOICE_FLAGS(flags) | 
|   | 
| #define  | SPA_POD_Float(val)   "f", val | 
|   | 
| #define  | SPA_POD_CHOICE_ENUM_Float(n_vals, ...)   "?ef", SPA_CHOICE_ENUM(n_vals, __VA_ARGS__) | 
|   | 
| #define  | SPA_POD_CHOICE_RANGE_Float(def,  min,  max)   "?rf", SPA_CHOICE_RANGE(def, min, max) | 
|   | 
| #define  | SPA_POD_CHOICE_STEP_Float(def,  min,  max,  step)   "?sf", SPA_CHOICE_STEP(def, min, max, step) | 
|   | 
| #define  | SPA_POD_Double(val)   "d", val | 
|   | 
| #define  | SPA_POD_CHOICE_ENUM_Double(n_vals, ...)   "?ed", SPA_CHOICE_ENUM(n_vals, __VA_ARGS__) | 
|   | 
| #define  | SPA_POD_CHOICE_RANGE_Double(def,  min,  max)   "?rd", SPA_CHOICE_RANGE(def, min, max) | 
|   | 
| #define  | SPA_POD_CHOICE_STEP_Double(def,  min,  max,  step)   "?sd", SPA_CHOICE_STEP(def, min, max, step) | 
|   | 
| #define  | SPA_POD_String(val)   "s",val | 
|   | 
| #define  | SPA_POD_Stringn(val,  len)   "S",val,len | 
|   | 
| #define  | SPA_POD_Bytes(val,  len)   "y",val,len | 
|   | 
| #define  | SPA_POD_Rectangle(val)   "R",val | 
|   | 
| #define  | SPA_POD_CHOICE_ENUM_Rectangle(n_vals, ...)   "?eR", SPA_CHOICE_ENUM(n_vals, __VA_ARGS__) | 
|   | 
| #define  | SPA_POD_CHOICE_RANGE_Rectangle(def,  min,  max)   "?rR", SPA_CHOICE_RANGE((def),(min),(max)) | 
|   | 
| #define  | SPA_POD_CHOICE_STEP_Rectangle(def,  min,  max,  step)   "?sR", SPA_CHOICE_STEP((def),(min),(max),(step)) | 
|   | 
| #define  | SPA_POD_Fraction(val)   "F",val | 
|   | 
| #define  | SPA_POD_CHOICE_ENUM_Fraction(n_vals, ...)   "?eF", SPA_CHOICE_ENUM(n_vals, __VA_ARGS__) | 
|   | 
| #define  | SPA_POD_CHOICE_RANGE_Fraction(def,  min,  max)   "?rF", SPA_CHOICE_RANGE((def),(min),(max)) | 
|   | 
| #define  | SPA_POD_CHOICE_STEP_Fraction(def,  min,  max,  step)   "?sF", SPA_CHOICE_STEP(def, min, max, step) | 
|   | 
| #define  | SPA_POD_Array(csize,  ctype,  n_vals,  vals)   "a", csize,ctype,n_vals,vals | 
|   | 
| #define  | SPA_POD_Pointer(type,  val)   "p", type,val | 
|   | 
| #define  | SPA_POD_Fd(val)   "h", val | 
|   | 
| #define  | SPA_POD_None()   "P", NULL | 
|   | 
| #define  | SPA_POD_Pod(val)   "P", val | 
|   | 
| #define  | SPA_POD_PodObject(val)   "O", val | 
|   | 
| #define  | SPA_POD_PodStruct(val)   "T", val | 
|   | 
| #define  | SPA_POD_PodChoice(val)   "V", val | 
|   | 
 | 
| static void  | spa_pod_builder_get_state (struct spa_pod_builder *builder, struct spa_pod_builder_state *state) | 
|   | 
| static void  | spa_pod_builder_set_callbacks (struct spa_pod_builder *builder, const struct spa_pod_builder_callbacks *callbacks, void *data) | 
|   | 
| static void  | spa_pod_builder_reset (struct spa_pod_builder *builder, struct spa_pod_builder_state *state) | 
|   | 
| static void  | spa_pod_builder_init (struct spa_pod_builder *builder, void *data, uint32_t size) | 
|   | 
| static struct spa_pod *  | spa_pod_builder_deref (struct spa_pod_builder *builder, uint32_t offset) | 
|   | 
| static struct spa_pod *  | spa_pod_builder_frame (struct spa_pod_builder *builder, struct spa_pod_frame *frame) | 
|   | 
| static void  | spa_pod_builder_push (struct spa_pod_builder *builder, struct spa_pod_frame *frame, const struct spa_pod *pod, uint32_t offset) | 
|   | 
| static int  | spa_pod_builder_raw (struct spa_pod_builder *builder, const void *data, uint32_t size) | 
|   | 
| static int  | spa_pod_builder_pad (struct spa_pod_builder *builder, uint32_t size) | 
|   | 
| static int  | spa_pod_builder_raw_padded (struct spa_pod_builder *builder, const void *data, uint32_t size) | 
|   | 
| static void *  | spa_pod_builder_pop (struct spa_pod_builder *builder, struct spa_pod_frame *frame) | 
|   | 
| static int  | spa_pod_builder_primitive (struct spa_pod_builder *builder, const struct spa_pod *p) | 
|   | 
| static int  | spa_pod_builder_none (struct spa_pod_builder *builder) | 
|   | 
| static int  | spa_pod_builder_child (struct spa_pod_builder *builder, uint32_t size, uint32_t type) | 
|   | 
| static int  | spa_pod_builder_bool (struct spa_pod_builder *builder, bool val) | 
|   | 
| static int  | spa_pod_builder_id (struct spa_pod_builder *builder, uint32_t val) | 
|   | 
| static int  | spa_pod_builder_int (struct spa_pod_builder *builder, int32_t val) | 
|   | 
| static int  | spa_pod_builder_long (struct spa_pod_builder *builder, int64_t val) | 
|   | 
| static int  | spa_pod_builder_float (struct spa_pod_builder *builder, float val) | 
|   | 
| static int  | spa_pod_builder_double (struct spa_pod_builder *builder, double val) | 
|   | 
| static int  | spa_pod_builder_write_string (struct spa_pod_builder *builder, const char *str, uint32_t len) | 
|   | 
| static int  | spa_pod_builder_string_len (struct spa_pod_builder *builder, const char *str, uint32_t len) | 
|   | 
| static int  | spa_pod_builder_string (struct spa_pod_builder *builder, const char *str) | 
|   | 
| static int  | spa_pod_builder_bytes (struct spa_pod_builder *builder, const void *bytes, uint32_t len) | 
|   | 
| static void *  | spa_pod_builder_reserve_bytes (struct spa_pod_builder *builder, uint32_t len) | 
|   | 
| static int  | spa_pod_builder_pointer (struct spa_pod_builder *builder, uint32_t type, const void *val) | 
|   | 
| static int  | spa_pod_builder_fd (struct spa_pod_builder *builder, int64_t fd) | 
|   | 
| static int  | spa_pod_builder_rectangle (struct spa_pod_builder *builder, uint32_t width, uint32_t height) | 
|   | 
| static int  | spa_pod_builder_fraction (struct spa_pod_builder *builder, uint32_t num, uint32_t denom) | 
|   | 
| static int  | spa_pod_builder_push_array (struct spa_pod_builder *builder, struct spa_pod_frame *frame) | 
|   | 
| static int  | spa_pod_builder_array (struct spa_pod_builder *builder, uint32_t child_size, uint32_t child_type, uint32_t n_elems, const void *elems) | 
|   | 
| static int  | spa_pod_builder_push_choice (struct spa_pod_builder *builder, struct spa_pod_frame *frame, uint32_t type, uint32_t flags) | 
|   | 
| static int  | spa_pod_builder_push_struct (struct spa_pod_builder *builder, struct spa_pod_frame *frame) | 
|   | 
| static int  | spa_pod_builder_push_object (struct spa_pod_builder *builder, struct spa_pod_frame *frame, uint32_t type, uint32_t id) | 
|   | 
| static int  | spa_pod_builder_prop (struct spa_pod_builder *builder, uint32_t key, uint32_t flags) | 
|   | 
| static int  | spa_pod_builder_push_sequence (struct spa_pod_builder *builder, struct spa_pod_frame *frame, uint32_t unit) | 
|   | 
| static uint32_t  | spa_pod_builder_control (struct spa_pod_builder *builder, uint32_t offset, uint32_t type) | 
|   | 
| static uint32_t  | spa_choice_from_id (char id) | 
|   | 
| static int  | spa_pod_builder_addv (struct spa_pod_builder *builder, va_list args) | 
|   | 
| static int  | spa_pod_builder_add (struct spa_pod_builder *builder,...) | 
|   | 
| static struct spa_pod *  | spa_pod_copy (const struct spa_pod *pod) | 
|   | Copy a pod structure.  More...
  | 
|   | 
| static int  | spa_pod_compare_value (uint32_t type, const void *r1, const void *r2, uint32_t size) | 
|   | 
| static int  | spa_pod_compare (const struct spa_pod *pod1, const struct spa_pod *pod2) | 
|   | 
| static int  | spa_pod_choice_fix_default (struct spa_pod_choice *choice) | 
|   | 
| static int  | spa_pod_filter_flags_value (struct spa_pod_builder *b, uint32_t type, const void *r1, const void *r2, uint32_t size) | 
|   | 
| static int  | spa_pod_filter_is_step_of (uint32_t type, const void *r1, const void *r2, uint32_t size) | 
|   | 
| static int  | spa_pod_filter_prop (struct spa_pod_builder *b, const struct spa_pod_prop *p1, const struct spa_pod_prop *p2) | 
|   | 
| static int  | spa_pod_filter_part (struct spa_pod_builder *b, const struct spa_pod *pod, uint32_t pod_size, const struct spa_pod *filter, uint32_t filter_size) | 
|   | 
| static int  | spa_pod_filter (struct spa_pod_builder *b, struct spa_pod **result, const struct spa_pod *pod, const struct spa_pod *filter) | 
|   | 
| static bool  | spa_pod_is_inside (const void *pod, uint32_t size, const void *iter) | 
|   | 
| static void *  | spa_pod_next (const void *iter) | 
|   | 
| static struct spa_pod_prop *  | spa_pod_prop_first (const struct spa_pod_object_body *body) | 
|   | 
| static bool  | spa_pod_prop_is_inside (const struct spa_pod_object_body *body, uint32_t size, const struct spa_pod_prop *iter) | 
|   | 
| static struct spa_pod_prop *  | spa_pod_prop_next (const struct spa_pod_prop *iter) | 
|   | 
| static struct spa_pod_control *  | spa_pod_control_first (const struct spa_pod_sequence_body *body) | 
|   | 
| static bool  | spa_pod_control_is_inside (const struct spa_pod_sequence_body *body, uint32_t size, const struct spa_pod_control *iter) | 
|   | 
| static struct spa_pod_control *  | spa_pod_control_next (const struct spa_pod_control *iter) | 
|   | 
| static void *  | spa_pod_from_data (void *data, size_t maxsize, off_t offset, size_t size) | 
|   | 
| static int  | spa_pod_is_none (const struct spa_pod *pod) | 
|   | 
| static int  | spa_pod_is_bool (const struct spa_pod *pod) | 
|   | 
| static int  | spa_pod_get_bool (const struct spa_pod *pod, bool *value) | 
|   | 
| static int  | spa_pod_is_id (const struct spa_pod *pod) | 
|   | 
| static int  | spa_pod_get_id (const struct spa_pod *pod, uint32_t *value) | 
|   | 
| static int  | spa_pod_is_int (const struct spa_pod *pod) | 
|   | 
| static int  | spa_pod_get_int (const struct spa_pod *pod, int32_t *value) | 
|   | 
| static int  | spa_pod_is_long (const struct spa_pod *pod) | 
|   | 
| static int  | spa_pod_get_long (const struct spa_pod *pod, int64_t *value) | 
|   | 
| static int  | spa_pod_is_float (const struct spa_pod *pod) | 
|   | 
| static int  | spa_pod_get_float (const struct spa_pod *pod, float *value) | 
|   | 
| static int  | spa_pod_is_double (const struct spa_pod *pod) | 
|   | 
| static int  | spa_pod_get_double (const struct spa_pod *pod, double *value) | 
|   | 
| static int  | spa_pod_is_string (const struct spa_pod *pod) | 
|   | 
| static int  | spa_pod_get_string (const struct spa_pod *pod, const char **value) | 
|   | 
| static int  | spa_pod_copy_string (const struct spa_pod *pod, size_t maxlen, char *dest) | 
|   | 
| static int  | spa_pod_is_bytes (const struct spa_pod *pod) | 
|   | 
| static int  | spa_pod_get_bytes (const struct spa_pod *pod, const void **value, uint32_t *len) | 
|   | 
| static int  | spa_pod_is_pointer (const struct spa_pod *pod) | 
|   | 
| static int  | spa_pod_get_pointer (const struct spa_pod *pod, uint32_t *type, const void **value) | 
|   | 
| static int  | spa_pod_is_fd (const struct spa_pod *pod) | 
|   | 
| static int  | spa_pod_get_fd (const struct spa_pod *pod, int64_t *value) | 
|   | 
| static int  | spa_pod_is_rectangle (const struct spa_pod *pod) | 
|   | 
| static int  | spa_pod_get_rectangle (const struct spa_pod *pod, struct spa_rectangle *value) | 
|   | 
| static int  | spa_pod_is_fraction (const struct spa_pod *pod) | 
|   | 
| static int  | spa_pod_get_fraction (const struct spa_pod *pod, struct spa_fraction *value) | 
|   | 
| static int  | spa_pod_is_bitmap (const struct spa_pod *pod) | 
|   | 
| static int  | spa_pod_is_array (const struct spa_pod *pod) | 
|   | 
| static void *  | spa_pod_get_array (const struct spa_pod *pod, uint32_t *n_values) | 
|   | 
| static uint32_t  | spa_pod_copy_array (const struct spa_pod *pod, uint32_t type, void *values, uint32_t max_values) | 
|   | 
| static int  | spa_pod_is_choice (const struct spa_pod *pod) | 
|   | 
| static struct spa_pod *  | spa_pod_get_values (const struct spa_pod *pod, uint32_t *n_vals, uint32_t *choice) | 
|   | 
| static int  | spa_pod_is_struct (const struct spa_pod *pod) | 
|   | 
| static int  | spa_pod_is_object (const struct spa_pod *pod) | 
|   | 
| static bool  | spa_pod_is_object_type (const struct spa_pod *pod, uint32_t type) | 
|   | 
| static bool  | spa_pod_is_object_id (const struct spa_pod *pod, uint32_t id) | 
|   | 
| static int  | spa_pod_is_sequence (const struct spa_pod *pod) | 
|   | 
| static const struct spa_pod_prop *  | spa_pod_object_find_prop (const struct spa_pod_object *pod, const struct spa_pod_prop *start, uint32_t key) | 
|   | 
| static const struct spa_pod_prop *  | spa_pod_find_prop (const struct spa_pod *pod, const struct spa_pod_prop *start, uint32_t key) | 
|   | 
| static int  | spa_pod_object_fixate (struct spa_pod_object *pod) | 
|   | 
| static int  | spa_pod_fixate (struct spa_pod *pod) | 
|   | 
| static int  | spa_pod_object_is_fixated (const struct spa_pod_object *pod) | 
|   | 
| static int  | spa_pod_is_fixated (const struct spa_pod *pod) | 
|   | 
| static void  | spa_pod_parser_init (struct spa_pod_parser *parser, const void *data, uint32_t size) | 
|   | 
| static void  | spa_pod_parser_pod (struct spa_pod_parser *parser, const struct spa_pod *pod) | 
|   | 
| static void  | spa_pod_parser_get_state (struct spa_pod_parser *parser, struct spa_pod_parser_state *state) | 
|   | 
| static void  | spa_pod_parser_reset (struct spa_pod_parser *parser, struct spa_pod_parser_state *state) | 
|   | 
| static struct spa_pod *  | spa_pod_parser_deref (struct spa_pod_parser *parser, uint32_t offset, uint32_t size) | 
|   | 
| static struct spa_pod *  | spa_pod_parser_frame (struct spa_pod_parser *parser, struct spa_pod_frame *frame) | 
|   | 
| static void  | spa_pod_parser_push (struct spa_pod_parser *parser, struct spa_pod_frame *frame, const struct spa_pod *pod, uint32_t offset) | 
|   | 
| static struct spa_pod *  | spa_pod_parser_current (struct spa_pod_parser *parser) | 
|   | 
| static void  | spa_pod_parser_advance (struct spa_pod_parser *parser, const struct spa_pod *pod) | 
|   | 
| static struct spa_pod *  | spa_pod_parser_next (struct spa_pod_parser *parser) | 
|   | 
| static int  | spa_pod_parser_pop (struct spa_pod_parser *parser, struct spa_pod_frame *frame) | 
|   | 
| static int  | spa_pod_parser_get_bool (struct spa_pod_parser *parser, bool *value) | 
|   | 
| static int  | spa_pod_parser_get_id (struct spa_pod_parser *parser, uint32_t *value) | 
|   | 
| static int  | spa_pod_parser_get_int (struct spa_pod_parser *parser, int32_t *value) | 
|   | 
| static int  | spa_pod_parser_get_long (struct spa_pod_parser *parser, int64_t *value) | 
|   | 
| static int  | spa_pod_parser_get_float (struct spa_pod_parser *parser, float *value) | 
|   | 
| static int  | spa_pod_parser_get_double (struct spa_pod_parser *parser, double *value) | 
|   | 
| static int  | spa_pod_parser_get_string (struct spa_pod_parser *parser, const char **value) | 
|   | 
| static int  | spa_pod_parser_get_bytes (struct spa_pod_parser *parser, const void **value, uint32_t *len) | 
|   | 
| static int  | spa_pod_parser_get_pointer (struct spa_pod_parser *parser, uint32_t *type, const void **value) | 
|   | 
| static int  | spa_pod_parser_get_fd (struct spa_pod_parser *parser, int64_t *value) | 
|   | 
| static int  | spa_pod_parser_get_rectangle (struct spa_pod_parser *parser, struct spa_rectangle *value) | 
|   | 
| static int  | spa_pod_parser_get_fraction (struct spa_pod_parser *parser, struct spa_fraction *value) | 
|   | 
| static int  | spa_pod_parser_get_pod (struct spa_pod_parser *parser, struct spa_pod **value) | 
|   | 
| static int  | spa_pod_parser_push_struct (struct spa_pod_parser *parser, struct spa_pod_frame *frame) | 
|   | 
| static int  | spa_pod_parser_push_object (struct spa_pod_parser *parser, struct spa_pod_frame *frame, uint32_t type, uint32_t *id) | 
|   | 
| static bool  | spa_pod_parser_can_collect (const struct spa_pod *pod, char type) | 
|   | 
| static int  | spa_pod_parser_getv (struct spa_pod_parser *parser, va_list args) | 
|   | 
| static int  | spa_pod_parser_get (struct spa_pod_parser *parser,...) | 
|   | 
Binary data serialization format.