mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-04 13:30:12 -05:00
add some padding and fix types
This commit is contained in:
parent
cb346c0745
commit
92e9d99d0a
4 changed files with 13 additions and 9 deletions
|
|
@ -36,6 +36,7 @@ extern "C" {
|
|||
struct spa_pod_frame {
|
||||
struct spa_pod pod;
|
||||
uint32_t ref;
|
||||
uint32_t _padding;
|
||||
};
|
||||
|
||||
struct spa_pod_builder_state {
|
||||
|
|
@ -46,12 +47,14 @@ struct spa_pod_builder_state {
|
|||
#define SPA_POD_BUILDER_FLAG_SEQUENCE (1<<3)
|
||||
#define SPA_POD_BUILDER_FLAG_HEADER (1<<4)
|
||||
uint32_t flags;
|
||||
int depth;
|
||||
uint32_t depth;
|
||||
uint32_t _padding;
|
||||
};
|
||||
|
||||
struct spa_pod_builder {
|
||||
void *data;
|
||||
uint32_t size;
|
||||
uint32_t _padding;
|
||||
|
||||
uint32_t (*write) (struct spa_pod_builder *builder, const void *data, uint32_t size);
|
||||
void * (*deref) (struct spa_pod_builder *builder, uint32_t ref, bool safe);
|
||||
|
|
@ -144,8 +147,7 @@ spa_pod_builder_push(struct spa_pod_builder *builder,
|
|||
static inline uint32_t
|
||||
spa_pod_builder_raw(struct spa_pod_builder *builder, const void *data, uint32_t size)
|
||||
{
|
||||
uint32_t ref;
|
||||
int i;
|
||||
uint32_t i, ref;
|
||||
|
||||
if (builder->write) {
|
||||
ref = builder->write(builder, data, size);
|
||||
|
|
@ -322,7 +324,7 @@ spa_pod_builder_bytes(struct spa_pod_builder *builder, const void *bytes, uint32
|
|||
return ref;
|
||||
}
|
||||
|
||||
#define SPA_POD_INIT_Pointer(type,value) (struct spa_pod_pointer){ { sizeof(struct spa_pod_pointer_body), SPA_TYPE_Pointer }, { type, value } }
|
||||
#define SPA_POD_INIT_Pointer(type,value) (struct spa_pod_pointer){ { sizeof(struct spa_pod_pointer_body), SPA_TYPE_Pointer }, { type, 0, value } }
|
||||
|
||||
static inline uint32_t
|
||||
spa_pod_builder_pointer(struct spa_pod_builder *builder, uint32_t type, void *val)
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ extern "C" {
|
|||
#include <spa/pod/iter.h>
|
||||
|
||||
struct spa_pod_parser {
|
||||
int depth;
|
||||
uint32_t depth;
|
||||
#define SPA_POD_PARSER_FLAG_OBJECT (1<<0)
|
||||
#define SPA_POD_PARSER_FLAG_STRUCT (1<<1)
|
||||
uint32_t flags;
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ extern "C" {
|
|||
#define SPA_POD_BODY_CONST(pod) SPA_MEMBER((pod),sizeof(struct spa_pod),const void)
|
||||
|
||||
struct spa_pod {
|
||||
uint32_t size;
|
||||
uint32_t size; /* size of the body */
|
||||
uint32_t type; /* a basic id of enum spa_type */
|
||||
};
|
||||
|
||||
|
|
@ -193,6 +193,7 @@ static inline bool spa_pod_is_object_id(const struct spa_pod *pod, uint32_t id)
|
|||
|
||||
struct spa_pod_pointer_body {
|
||||
uint32_t type; /**< pointer id, one of enum spa_type */
|
||||
uint32_t _padding;
|
||||
const void *value;
|
||||
};
|
||||
|
||||
|
|
@ -203,7 +204,7 @@ struct spa_pod_pointer {
|
|||
|
||||
struct spa_pod_fd {
|
||||
struct spa_pod pod;
|
||||
int value;
|
||||
int64_t value;
|
||||
};
|
||||
|
||||
static inline struct spa_pod *spa_pod_get_values(const struct spa_pod *pod, uint32_t *n_vals, uint32_t *choice)
|
||||
|
|
@ -221,6 +222,7 @@ static inline struct spa_pod *spa_pod_get_values(const struct spa_pod *pod, uint
|
|||
|
||||
#define SPA_POD_PROP_SIZE(prop) (sizeof(struct spa_pod_prop) + (prop)->value.size)
|
||||
|
||||
/* props can be inside an object */
|
||||
struct spa_pod_prop {
|
||||
uint32_t key; /**< key of property, list of valid keys depends on the
|
||||
* object type */
|
||||
|
|
|
|||
|
|
@ -375,7 +375,7 @@ pw_protocol_native_connection_begin_resource(struct pw_protocol_native_connectio
|
|||
|
||||
impl->dest_id = resource->id;
|
||||
impl->opcode = opcode;
|
||||
impl->builder = (struct spa_pod_builder) { NULL, 0, write_pod };
|
||||
impl->builder = (struct spa_pod_builder) { NULL, 0, 0, write_pod };
|
||||
|
||||
return &impl->builder;
|
||||
}
|
||||
|
|
@ -389,7 +389,7 @@ pw_protocol_native_connection_begin_proxy(struct pw_protocol_native_connection *
|
|||
|
||||
impl->dest_id = proxy->id;
|
||||
impl->opcode = opcode;
|
||||
impl->builder = (struct spa_pod_builder) { NULL, 0, write_pod, };
|
||||
impl->builder = (struct spa_pod_builder) { NULL, 0, 0, write_pod, };
|
||||
|
||||
return &impl->builder;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue