mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-12-20 08:56:56 -05:00
Use types with known sizes where we can, easier to serialize
Add iterator for POD and use it to implement some demarshalling.
This commit is contained in:
parent
23d09d5b60
commit
f92b68c3c3
77 changed files with 839 additions and 695 deletions
|
|
@ -47,8 +47,8 @@ typedef struct {
|
|||
int fd;
|
||||
uint32_t flags;
|
||||
void *ptr;
|
||||
off_t offset;
|
||||
size_t size;
|
||||
uint32_t offset;
|
||||
uint32_t size;
|
||||
} MemId;
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -66,7 +66,7 @@ typedef struct
|
|||
|
||||
uint32_t seq;
|
||||
|
||||
unsigned int n_possible_formats;
|
||||
uint32_t n_possible_formats;
|
||||
SpaFormat **possible_formats;
|
||||
|
||||
SpaFormat *format;
|
||||
|
|
@ -310,7 +310,7 @@ static void
|
|||
add_node_update (PinosStream *stream, uint32_t change_mask, bool flush)
|
||||
{
|
||||
PinosStreamImpl *impl = SPA_CONTAINER_OF (stream, PinosStreamImpl, this);
|
||||
unsigned int max_input_ports = 0, max_output_ports = 0;
|
||||
uint32_t max_input_ports = 0, max_output_ports = 0;
|
||||
|
||||
if (change_mask & PINOS_MESSAGE_NODE_UPDATE_MAX_INPUTS)
|
||||
max_input_ports = impl->direction == SPA_DIRECTION_INPUT ? 1 : 0;
|
||||
|
|
@ -724,7 +724,7 @@ static void
|
|||
client_node_set_property (void *object,
|
||||
uint32_t seq,
|
||||
uint32_t id,
|
||||
size_t size,
|
||||
uint32_t size,
|
||||
const void *value)
|
||||
{
|
||||
pinos_log_warn ("set property not implemented");
|
||||
|
|
@ -738,8 +738,8 @@ client_node_add_mem (void *object,
|
|||
SpaDataType type,
|
||||
int memfd,
|
||||
uint32_t flags,
|
||||
off_t offset,
|
||||
size_t size)
|
||||
uint32_t offset,
|
||||
uint32_t size)
|
||||
{
|
||||
PinosProxy *proxy = object;
|
||||
PinosStream *stream = proxy->user_data;
|
||||
|
|
@ -748,12 +748,12 @@ client_node_add_mem (void *object,
|
|||
|
||||
m = find_mem (stream, mem_id);
|
||||
if (m) {
|
||||
pinos_log_debug ("update mem %u, fd %d, flags %d, off %zd, size %zd",
|
||||
pinos_log_debug ("update mem %u, fd %d, flags %d, off %d, size %d",
|
||||
mem_id, memfd, flags, offset, size);
|
||||
clear_memid (m);
|
||||
} else {
|
||||
m = pinos_array_add (&impl->mem_ids, sizeof (MemId));
|
||||
pinos_log_debug ("add mem %u, fd %d, flags %d, off %zd, size %zd",
|
||||
pinos_log_debug ("add mem %u, fd %d, flags %d, off %d, size %d",
|
||||
mem_id, memfd, flags, offset, size);
|
||||
}
|
||||
m->id = mem_id;
|
||||
|
|
@ -769,14 +769,14 @@ client_node_use_buffers (void *object,
|
|||
uint32_t seq,
|
||||
SpaDirection direction,
|
||||
uint32_t port_id,
|
||||
unsigned int n_buffers,
|
||||
uint32_t n_buffers,
|
||||
PinosClientNodeBuffer *buffers)
|
||||
{
|
||||
PinosProxy *proxy = object;
|
||||
PinosStream *stream = proxy->user_data;
|
||||
PinosStreamImpl *impl = SPA_CONTAINER_OF (stream, PinosStreamImpl, this);
|
||||
BufferId *bid;
|
||||
unsigned int i, j, len;
|
||||
uint32_t i, j, len;
|
||||
SpaBuffer *b;
|
||||
|
||||
/* clear previous buffers */
|
||||
|
|
@ -795,7 +795,7 @@ client_node_use_buffers (void *object,
|
|||
mid->ptr = mmap (NULL, mid->size + mid->offset, PROT_READ | PROT_WRITE, MAP_SHARED, mid->fd, 0);
|
||||
if (mid->ptr == MAP_FAILED) {
|
||||
mid->ptr = NULL;
|
||||
pinos_log_warn ("Failed to mmap memory %zd %p: %s", mid->size, mid, strerror (errno));
|
||||
pinos_log_warn ("Failed to mmap memory %d %p: %s", mid->size, mid, strerror (errno));
|
||||
continue;
|
||||
}
|
||||
mid->ptr = SPA_MEMBER (mid->ptr, mid->offset, void);
|
||||
|
|
@ -820,7 +820,7 @@ client_node_use_buffers (void *object,
|
|||
pinos_log_warn ("unexpected id %u found, expected %u", bid->id, len);
|
||||
impl->in_order = false;
|
||||
}
|
||||
pinos_log_debug ("add buffer %d %d %zd", mid->id, bid->id, buffers[i].offset);
|
||||
pinos_log_debug ("add buffer %d %d %u", mid->id, bid->id, buffers[i].offset);
|
||||
|
||||
for (j = 0; j < b->n_metas; j++) {
|
||||
SpaMeta *m = &b->metas[j];
|
||||
|
|
@ -893,8 +893,8 @@ client_node_port_command (void *object,
|
|||
static void
|
||||
client_node_transport (void *object,
|
||||
int memfd,
|
||||
off_t offset,
|
||||
size_t size)
|
||||
uint32_t offset,
|
||||
uint32_t size)
|
||||
{
|
||||
PinosProxy *proxy = object;
|
||||
PinosStream *stream = proxy->user_data;
|
||||
|
|
@ -964,7 +964,7 @@ pinos_stream_connect (PinosStream *stream,
|
|||
PinosStreamMode mode,
|
||||
const char *port_path,
|
||||
PinosStreamFlags flags,
|
||||
unsigned int n_possible_formats,
|
||||
uint32_t n_possible_formats,
|
||||
SpaFormat **possible_formats)
|
||||
{
|
||||
PinosStreamImpl *impl = SPA_CONTAINER_OF (stream, PinosStreamImpl, this);
|
||||
|
|
@ -1030,7 +1030,7 @@ bool
|
|||
pinos_stream_finish_format (PinosStream *stream,
|
||||
SpaResult res,
|
||||
SpaAllocParam **params,
|
||||
unsigned int n_params)
|
||||
uint32_t n_params)
|
||||
{
|
||||
PinosStreamImpl *impl = SPA_CONTAINER_OF (stream, PinosStreamImpl, this);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue