PipeWire 1.2.7
|
Files | |
file | builder.h |
spa/pod/builder.h | |
file | command.h |
spa/pod/command.h | |
file | compare.h |
spa/pod/compare.h | |
file | event.h |
spa/pod/event.h | |
file | filter.h |
spa/pod/filter.h | |
file | iter.h |
spa/pod/iter.h | |
file | parser.h |
spa/pod/parser.h | |
file | pod.h |
spa/pod/pod.h | |
file | vararg.h |
spa/pod/vararg.h | |
Data Structures | |
struct | spa_pod_builder_state |
struct | spa_pod_builder_callbacks |
struct | spa_pod_builder |
struct | spa_command_body |
struct | spa_command |
struct | spa_event_body |
struct | spa_event |
struct | spa_pod_frame |
struct | spa_pod_parser_state |
struct | spa_pod_parser |
struct | spa_pod |
struct | spa_pod_bool |
struct | spa_pod_id |
struct | spa_pod_int |
struct | spa_pod_long |
struct | spa_pod_float |
struct | spa_pod_double |
struct | spa_pod_string |
struct | spa_pod_bytes |
struct | spa_pod_rectangle |
struct | spa_pod_fraction |
struct | spa_pod_bitmap |
struct | spa_pod_array_body |
struct | spa_pod_array |
struct | spa_pod_choice_body |
struct | spa_pod_choice |
struct | spa_pod_struct |
struct | spa_pod_object_body |
struct | spa_pod_object |
struct | spa_pod_pointer_body |
struct | spa_pod_pointer |
struct | spa_pod_fd |
struct | spa_pod_prop |
struct | spa_pod_control |
struct | spa_pod_sequence_body |
struct | spa_pod_sequence |
a sequence of timed controls More... | |
Enumerations | |
enum | spa_choice_type { SPA_CHOICE_None , SPA_CHOICE_Range , SPA_CHOICE_Step , SPA_CHOICE_Enum , SPA_CHOICE_Flags } |
Macros | |
#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, {0,0,NULL},{NULL,NULL}}) |
#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, {0,0,NULL}}) |
#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 | |
#define | SPA_POD_PROP_FLAG_HARDWARE (1u<<1) |
some sort of hardware parameter | |
#define | SPA_POD_PROP_FLAG_HINT_DICT (1u<<2) |
contains a dictionary struct as (Struct(
Int : n_items,
(String : key,
String : value)*)) | |
#define | SPA_POD_PROP_FLAG_MANDATORY (1u<<3) |
is mandatory | |
#define | SPA_POD_PROP_FLAG_DONT_FIXATE (1u<<4) |
choices need no fixation | |
#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 |
Functions | |
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 int | 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. | |
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 1) |
static int | spa_pod_filter_is_step_of (uint32_t type, const void *r1, const void *r2, uint32_t size 1) |
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_object_has_props (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
See: SPA POD
enum spa_choice_type |
#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, {0,0,NULL},{NULL,NULL}}) |
#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, {0,0,NULL}}) |
#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
#define SPA_POD_PROP_FLAG_HARDWARE (1u<<1) |
some sort of hardware parameter
#define SPA_POD_PROP_FLAG_HINT_DICT (1u<<2) |
contains a dictionary struct as (Struct( Int : n_items, (String : key, String : value)*))
#define SPA_POD_PROP_FLAG_MANDATORY (1u<<3) |
is mandatory
#define SPA_POD_PROP_FLAG_DONT_FIXATE (1u<<4) |
choices need no fixation
#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 |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Copy a pod structure.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |