PipeWire 1.0.5

Loading...
Searching...
No Matches
Data Structures | Macros | Enumerations
pod.h File Reference
SPA » POD

`spa/pod/pod.h` More...

Go to the source code of this file.

## Data Structures
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...

## Macros
#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)

## Enumerations
enum | spa_choice_type { SPA_CHOICE_None , SPA_CHOICE_Range , SPA_CHOICE_Step , SPA_CHOICE_Enum , SPA_CHOICE_Flags }

## Detailed Description

`spa/pod/pod.h`