mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-06 13:30:01 -05:00
spa/buffer: rename SPA_MEMBER to SPA_PTROFF
SPA_MEMBER is misleading, all we're doing here is pointer+offset and a type-casting the result. Rename to SPA_PTROFF which is more expressive (and has the same number of characters so we don't need to re-indent).
This commit is contained in:
parent
e598d0a422
commit
2405f0942b
92 changed files with 248 additions and 227 deletions
|
|
@ -292,7 +292,7 @@ struct pw_impl_node *pw_adapter_new(struct pw_context *context,
|
|||
spa_list_init(&n->ports);
|
||||
|
||||
if (user_data_size > 0)
|
||||
n->user_data = SPA_MEMBER(n, sizeof(struct node), void);
|
||||
n->user_data = SPA_PTROFF(n, sizeof(struct node), void);
|
||||
|
||||
pw_impl_node_add_listener(node, &n->node_listener, &node_events, n);
|
||||
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ struct pw_proxy *pw_core_spa_device_export(struct pw_core *core,
|
|||
return NULL;
|
||||
|
||||
data = pw_proxy_get_user_data(proxy);
|
||||
data = SPA_MEMBER(data, user_data_size, struct device_data);
|
||||
data = SPA_PTROFF(data, user_data_size, struct device_data);
|
||||
data->device = device;
|
||||
data->proxy = proxy;
|
||||
|
||||
|
|
|
|||
|
|
@ -798,14 +798,14 @@ do_port_use_buffers(struct impl *impl,
|
|||
if ((mem = pw_mempool_find_ptr(impl->context->pool, baseptr)) == NULL)
|
||||
return -EINVAL;
|
||||
|
||||
endptr = SPA_MEMBER(baseptr, buffers[i]->n_datas * sizeof(struct spa_chunk), void);
|
||||
endptr = SPA_PTROFF(baseptr, buffers[i]->n_datas * sizeof(struct spa_chunk), void);
|
||||
for (j = 0; j < buffers[i]->n_metas; j++) {
|
||||
endptr = SPA_MEMBER(endptr, SPA_ROUND_UP_N(buffers[i]->metas[j].size, 8), void);
|
||||
endptr = SPA_PTROFF(endptr, SPA_ROUND_UP_N(buffers[i]->metas[j].size, 8), void);
|
||||
}
|
||||
for (j = 0; j < buffers[i]->n_datas; j++) {
|
||||
struct spa_data *d = buffers[i]->datas;
|
||||
if (d->type == SPA_DATA_MemPtr)
|
||||
endptr = SPA_MEMBER(d->data, d->maxsize, void);
|
||||
endptr = SPA_PTROFF(d->data, d->maxsize, void);
|
||||
}
|
||||
|
||||
m = pw_mempool_import_block(this->client->pool, mem);
|
||||
|
|
@ -1375,7 +1375,7 @@ static int port_init_mix(void *data, struct pw_impl_port_mix *mix)
|
|||
if (mix->id == SPA_ID_INVALID)
|
||||
return -errno;
|
||||
|
||||
mix->io = SPA_MEMBER(impl->io_areas->map->ptr,
|
||||
mix->io = SPA_PTROFF(impl->io_areas->map->ptr,
|
||||
mix->id * sizeof(struct spa_io_buffers), void);
|
||||
*mix->io = SPA_IO_BUFFERS_INIT;
|
||||
|
||||
|
|
|
|||
|
|
@ -672,8 +672,8 @@ client_node_port_use_buffers(void *object,
|
|||
}
|
||||
memcpy(b, buffers[i].buffer, sizeof(struct spa_buffer));
|
||||
|
||||
b->metas = SPA_MEMBER(b, sizeof(struct spa_buffer), struct spa_meta);
|
||||
b->datas = SPA_MEMBER(b->metas, sizeof(struct spa_meta) * b->n_metas,
|
||||
b->metas = SPA_PTROFF(b, sizeof(struct spa_buffer), struct spa_meta);
|
||||
b->datas = SPA_PTROFF(b->metas, sizeof(struct spa_meta) * b->n_metas,
|
||||
struct spa_data);
|
||||
|
||||
pw_log_debug("add buffer mem:%d id:%d offset:%u size:%u %p", mm->block->id,
|
||||
|
|
@ -683,7 +683,7 @@ client_node_port_use_buffers(void *object,
|
|||
for (j = 0; j < b->n_metas; j++) {
|
||||
struct spa_meta *m = &b->metas[j];
|
||||
memcpy(m, &buffers[i].buffer->metas[j], sizeof(struct spa_meta));
|
||||
m->data = SPA_MEMBER(mm->ptr, offset, void);
|
||||
m->data = SPA_PTROFF(mm->ptr, offset, void);
|
||||
offset += SPA_ROUND_UP_N(m->size, 8);
|
||||
}
|
||||
|
||||
|
|
@ -692,7 +692,7 @@ client_node_port_use_buffers(void *object,
|
|||
|
||||
memcpy(d, &buffers[i].buffer->datas[j], sizeof(struct spa_data));
|
||||
d->chunk =
|
||||
SPA_MEMBER(mm->ptr, offset + sizeof(struct spa_chunk) * j,
|
||||
SPA_PTROFF(mm->ptr, offset + sizeof(struct spa_chunk) * j,
|
||||
struct spa_chunk);
|
||||
|
||||
if (flags & SPA_NODE_BUFFERS_FLAG_ALLOC)
|
||||
|
|
@ -717,7 +717,7 @@ client_node_port_use_buffers(void *object,
|
|||
j, bm->id, bm->fd, d->maxsize);
|
||||
} else if (d->type == SPA_DATA_MemPtr) {
|
||||
int offs = SPA_PTR_TO_INT(d->data);
|
||||
d->data = SPA_MEMBER(mm->ptr, offs, void);
|
||||
d->data = SPA_PTROFF(mm->ptr, offs, void);
|
||||
d->fd = -1;
|
||||
pw_log_debug(" data %d id:%u -> mem:%p offs:%d maxsize:%d",
|
||||
j, bid->id, d->data, offs, d->maxsize);
|
||||
|
|
@ -1213,7 +1213,7 @@ static struct pw_proxy *node_export(struct pw_core *core, void *object, bool do_
|
|||
goto error;
|
||||
|
||||
data = pw_proxy_get_user_data(client_node);
|
||||
data = SPA_MEMBER(data, user_data_size, struct node_data);
|
||||
data = SPA_PTROFF(data, user_data_size, struct node_data);
|
||||
data->pool = pw_core_get_mempool(core);
|
||||
data->node = node;
|
||||
data->do_free = do_free;
|
||||
|
|
|
|||
|
|
@ -770,7 +770,7 @@ impl_node_port_use_buffers(void *object,
|
|||
|
||||
mb[i].buffer = &b->buffer;
|
||||
mb[i].mem_id = b->memid;
|
||||
mb[i].offset = SPA_PTRDIFF(baseptr, SPA_MEMBER(mem->map->ptr, mem->map->offset, void));
|
||||
mb[i].offset = SPA_PTRDIFF(baseptr, SPA_PTROFF(mem->map->ptr, mem->map->offset, void));
|
||||
mb[i].size = data_size;
|
||||
|
||||
for (j = 0; j < buffers[i]->n_metas; j++)
|
||||
|
|
|
|||
|
|
@ -70,25 +70,25 @@ static void transport_setup_area(void *p, struct pw_client_node0_transport *tran
|
|||
struct pw_client_node0_area *a;
|
||||
|
||||
trans->area = a = p;
|
||||
p = SPA_MEMBER(p, sizeof(struct pw_client_node0_area), struct spa_io_buffers);
|
||||
p = SPA_PTROFF(p, sizeof(struct pw_client_node0_area), struct spa_io_buffers);
|
||||
|
||||
trans->inputs = p;
|
||||
p = SPA_MEMBER(p, a->max_input_ports * sizeof(struct spa_io_buffers), void);
|
||||
p = SPA_PTROFF(p, a->max_input_ports * sizeof(struct spa_io_buffers), void);
|
||||
|
||||
trans->outputs = p;
|
||||
p = SPA_MEMBER(p, a->max_output_ports * sizeof(struct spa_io_buffers), void);
|
||||
p = SPA_PTROFF(p, a->max_output_ports * sizeof(struct spa_io_buffers), void);
|
||||
|
||||
trans->input_buffer = p;
|
||||
p = SPA_MEMBER(p, sizeof(struct spa_ringbuffer), void);
|
||||
p = SPA_PTROFF(p, sizeof(struct spa_ringbuffer), void);
|
||||
|
||||
trans->input_data = p;
|
||||
p = SPA_MEMBER(p, INPUT_BUFFER_SIZE, void);
|
||||
p = SPA_PTROFF(p, INPUT_BUFFER_SIZE, void);
|
||||
|
||||
trans->output_buffer = p;
|
||||
p = SPA_MEMBER(p, sizeof(struct spa_ringbuffer), void);
|
||||
p = SPA_PTROFF(p, sizeof(struct spa_ringbuffer), void);
|
||||
|
||||
trans->output_data = p;
|
||||
p = SPA_MEMBER(p, OUTPUT_BUFFER_SIZE, void);
|
||||
p = SPA_PTROFF(p, OUTPUT_BUFFER_SIZE, void);
|
||||
}
|
||||
|
||||
static void transport_reset_area(struct pw_client_node0_transport *trans)
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ static void process(struct impl *impl)
|
|||
for (i = 0; i < impl->info.channels; i++) {
|
||||
/* captured samples, with echo from sink */
|
||||
ds = &cin->buffer->datas[i];
|
||||
rec[i] = SPA_MEMBER(ds->data, ds->chunk->offset, void);
|
||||
rec[i] = SPA_PTROFF(ds->data, ds->chunk->offset, void);
|
||||
|
||||
size = ds->chunk->size;
|
||||
stride = ds->chunk->stride;
|
||||
|
|
@ -165,7 +165,7 @@ static void process(struct impl *impl)
|
|||
|
||||
/* echo from sink */
|
||||
ds = &pin->buffer->datas[i];
|
||||
play[i] = SPA_MEMBER(ds->data, ds->chunk->offset, void);
|
||||
play[i] = SPA_PTROFF(ds->data, ds->chunk->offset, void);
|
||||
|
||||
/* output to sink, just copy */
|
||||
dd = &pout->buffer->datas[i];
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ static void capture_process(void *d)
|
|||
ds = &in->buffer->datas[i];
|
||||
|
||||
memcpy(dd->data,
|
||||
SPA_MEMBER(ds->data, ds->chunk->offset, void),
|
||||
SPA_PTROFF(ds->data, ds->chunk->offset, void),
|
||||
ds->chunk->size);
|
||||
|
||||
size = SPA_MAX(size, ds->chunk->size);
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ struct pw_proxy *pw_core_metadata_export(struct pw_core *core,
|
|||
return NULL;
|
||||
|
||||
data = pw_proxy_get_user_data(proxy);
|
||||
data = SPA_MEMBER(data, user_data_size, struct object_data);
|
||||
data = SPA_PTROFF(data, user_data_size, struct object_data);
|
||||
data->object = object;
|
||||
data->proxy = proxy;
|
||||
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@ static void flush_timeout(void *data, uint64_t expirations)
|
|||
|
||||
spa_ringbuffer_read_data(&impl->buffer, impl->data, MAX_BUFFER,
|
||||
idx % MAX_BUFFER,
|
||||
SPA_MEMBER(p, sizeof(struct spa_pod_struct), void), avail);
|
||||
SPA_PTROFF(p, sizeof(struct spa_pod_struct), void), avail);
|
||||
spa_ringbuffer_read_update(&impl->buffer, idx + avail);
|
||||
|
||||
spa_list_for_each(resource, &impl->global->resource_list, link)
|
||||
|
|
|
|||
|
|
@ -556,7 +556,7 @@ static inline void *begin_write(struct pw_protocol_native_connection *conn, uint
|
|||
if ((p = connection_ensure_size(conn, buf, impl->hdr_size + size)) == NULL)
|
||||
return NULL;
|
||||
|
||||
return SPA_MEMBER(p, impl->hdr_size, void);
|
||||
return SPA_PTROFF(p, impl->hdr_size, void);
|
||||
}
|
||||
|
||||
static int builder_overflow(void *data, uint32_t size)
|
||||
|
|
@ -629,7 +629,7 @@ pw_protocol_native_connection_end(struct pw_protocol_native_connection *conn,
|
|||
if (debug_messages) {
|
||||
pw_log_debug(">>>>>>>>> out: id:%d op:%d size:%d seq:%d",
|
||||
buf->msg.id, buf->msg.opcode, size, buf->msg.seq);
|
||||
spa_debug_pod(0, NULL, SPA_MEMBER(p, impl->hdr_size, struct spa_pod));
|
||||
spa_debug_pod(0, NULL, SPA_PTROFF(p, impl->hdr_size, struct spa_pod));
|
||||
}
|
||||
|
||||
buf->seq = (buf->seq + 1) & SPA_ASYNC_SEQ_MASK;
|
||||
|
|
@ -717,7 +717,7 @@ int pw_protocol_native_connection_flush(struct pw_protocol_native_connection *co
|
|||
outfds);
|
||||
|
||||
size -= sent;
|
||||
data = SPA_MEMBER(data, sent, void);
|
||||
data = SPA_PTROFF(data, sent, void);
|
||||
n_fds -= outfds;
|
||||
fds += outfds;
|
||||
to_close += outfds;
|
||||
|
|
|
|||
|
|
@ -401,15 +401,15 @@ struct spa_pod_prop_body0 {
|
|||
|
||||
/* v2 iterates object as containing spa_pod */
|
||||
#define SPA_POD_OBJECT_BODY_FOREACH0(body, size, iter) \
|
||||
for ((iter) = SPA_MEMBER((body), sizeof(struct spa_pod_object_body), struct spa_pod); \
|
||||
for ((iter) = SPA_PTROFF((body), sizeof(struct spa_pod_object_body), struct spa_pod); \
|
||||
spa_pod_is_inside(body, size, iter); \
|
||||
(iter) = spa_pod_next(iter))
|
||||
|
||||
#define SPA_POD_PROP_ALTERNATIVE_FOREACH0(body, _size, iter) \
|
||||
for ((iter) = SPA_MEMBER((body), (body)->value.size + \
|
||||
for ((iter) = SPA_PTROFF((body), (body)->value.size + \
|
||||
sizeof(struct spa_pod_prop_body0), __typeof__(*iter)); \
|
||||
(iter) <= SPA_MEMBER((body), (_size)-(body)->value.size, __typeof__(*iter)); \
|
||||
(iter) = SPA_MEMBER((iter), (body)->value.size, __typeof__(*iter)))
|
||||
(iter) <= SPA_PTROFF((body), (_size)-(body)->value.size, __typeof__(*iter)); \
|
||||
(iter) = SPA_PTROFF((iter), (body)->value.size, __typeof__(*iter)))
|
||||
|
||||
#define SPA0_POD_PROP_N_VALUES(b,size) ((size - sizeof(struct spa_pod_prop_body0)) / (b)->value.size)
|
||||
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@ static struct pw_manager_param *add_param(struct spa_list *params,
|
|||
|
||||
p->id = id;
|
||||
if (param != NULL) {
|
||||
p->param = SPA_MEMBER(p, sizeof(*p), struct spa_pod);
|
||||
p->param = SPA_PTROFF(p, sizeof(*p), struct spa_pod);
|
||||
memcpy(p->param, param, SPA_POD_SIZE(param));
|
||||
} else {
|
||||
clear_params(params, id);
|
||||
|
|
@ -836,7 +836,7 @@ void *pw_manager_object_add_data(struct pw_manager_object *obj, const char *id,
|
|||
spa_list_append(&o->data_list, &d->link);
|
||||
|
||||
done:
|
||||
return SPA_MEMBER(d, sizeof(struct object_data), void);
|
||||
return SPA_PTROFF(d, sizeof(struct object_data), void);
|
||||
}
|
||||
|
||||
int pw_manager_sync(struct pw_manager *manager)
|
||||
|
|
|
|||
|
|
@ -226,10 +226,10 @@ static int read_arbitrary(struct message *m, const void **val, size_t *length)
|
|||
static int read_string(struct message *m, char **str)
|
||||
{
|
||||
uint32_t n, maxlen = m->length - m->offset;
|
||||
n = strnlen(SPA_MEMBER(m->data, m->offset, char), maxlen);
|
||||
n = strnlen(SPA_PTROFF(m->data, m->offset, char), maxlen);
|
||||
if (n == maxlen)
|
||||
return -EINVAL;
|
||||
*str = SPA_MEMBER(m->data, m->offset, char);
|
||||
*str = SPA_PTROFF(m->data, m->offset, char);
|
||||
m->offset += n + 1;
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -481,7 +481,7 @@ static void write_string(struct message *m, const char *s)
|
|||
if (s != NULL) {
|
||||
int len = strlen(s) + 1;
|
||||
if (ensure_size(m, len) > 0)
|
||||
strcpy(SPA_MEMBER(m->data, m->length, char), s);
|
||||
strcpy(SPA_PTROFF(m->data, m->length, char), s);
|
||||
m->length += len;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ struct module *module_new(struct impl *impl, const struct module_methods *method
|
|||
module->impl = impl;
|
||||
module->methods = methods;
|
||||
spa_hook_list_init(&module->hooks);
|
||||
module->user_data = SPA_MEMBER(module, sizeof(struct module), void);
|
||||
module->user_data = SPA_PTROFF(module, sizeof(struct module), void);
|
||||
|
||||
return module;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -226,7 +226,7 @@ static int flush_messages(struct client *client)
|
|||
desc.offset_lo = 0;
|
||||
desc.flags = 0;
|
||||
|
||||
data = SPA_MEMBER(&desc, client->out_index, void);
|
||||
data = SPA_PTROFF(&desc, client->out_index, void);
|
||||
size = sizeof(desc) - client->out_index;
|
||||
} else if (client->out_index < m->length + sizeof(desc)) {
|
||||
uint32_t idx = client->out_index - sizeof(desc);
|
||||
|
|
@ -1705,7 +1705,7 @@ static void stream_process(void *data)
|
|||
spa_ringbuffer_write_data(&stream->ring,
|
||||
stream->buffer, stream->attr.maxlength,
|
||||
pd.write_index % stream->attr.maxlength,
|
||||
SPA_MEMBER(p, buf->datas[0].chunk->offset, void),
|
||||
SPA_PTROFF(p, buf->datas[0].chunk->offset, void),
|
||||
SPA_MIN(size, stream->attr.maxlength));
|
||||
|
||||
pd.write_index += size;
|
||||
|
|
@ -5532,7 +5532,7 @@ static int do_read(struct client *client)
|
|||
int res = 0;
|
||||
|
||||
if (client->in_index < sizeof(client->desc)) {
|
||||
data = SPA_MEMBER(&client->desc, client->in_index, void);
|
||||
data = SPA_PTROFF(&client->desc, client->in_index, void);
|
||||
size = sizeof(client->desc) - client->in_index;
|
||||
} else {
|
||||
uint32_t idx = client->in_index - sizeof(client->desc);
|
||||
|
|
@ -5541,7 +5541,7 @@ static int do_read(struct client *client)
|
|||
res = -EIO;
|
||||
goto exit;
|
||||
}
|
||||
data = SPA_MEMBER(client->message->data, idx, void);
|
||||
data = SPA_PTROFF(client->message->data, idx, void);
|
||||
size = client->message->length - idx;
|
||||
}
|
||||
while (true) {
|
||||
|
|
@ -6325,7 +6325,7 @@ error_exit:
|
|||
|
||||
void *pw_protocol_pulse_get_user_data(struct pw_protocol_pulse *pulse)
|
||||
{
|
||||
return SPA_MEMBER(pulse, sizeof(struct impl), void);
|
||||
return SPA_PTROFF(pulse, sizeof(struct impl), void);
|
||||
}
|
||||
|
||||
void pw_protocol_pulse_destroy(struct pw_protocol_pulse *pulse)
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ static struct sample_play *sample_play_new(struct pw_core *core,
|
|||
p->context = pw_core_get_context(core);
|
||||
p->main_loop = pw_context_get_main_loop(p->context);
|
||||
spa_hook_list_init(&p->hooks);
|
||||
p->user_data = SPA_MEMBER(p, sizeof(struct sample_play), void);
|
||||
p->user_data = SPA_PTROFF(p, sizeof(struct sample_play), void);
|
||||
|
||||
pw_properties_update(props, &sample->props->dict);
|
||||
|
||||
|
|
|
|||
|
|
@ -226,7 +226,7 @@ static void capture_process(void *data)
|
|||
|
||||
while (size > 0) {
|
||||
res = send(client->source->fd,
|
||||
SPA_MEMBER(d->data, offset, void),
|
||||
SPA_PTROFF(d->data, offset, void),
|
||||
size,
|
||||
MSG_NOSIGNAL | MSG_DONTWAIT);
|
||||
if (res < 0) {
|
||||
|
|
@ -270,7 +270,7 @@ static void playback_process(void *data)
|
|||
offset = 0;
|
||||
while (size > 0) {
|
||||
res = recv(client->source->fd,
|
||||
SPA_MEMBER(d->data, offset, void),
|
||||
SPA_PTROFF(d->data, offset, void),
|
||||
size,
|
||||
MSG_DONTWAIT);
|
||||
if (res == 0) {
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ struct pw_proxy *pw_core_endpoint_export(struct pw_core *core,
|
|||
return NULL;
|
||||
|
||||
data = pw_proxy_get_user_data(proxy);
|
||||
data = SPA_MEMBER(data, user_data_size, struct object_data);
|
||||
data = SPA_PTROFF(data, user_data_size, struct object_data);
|
||||
|
||||
remote_iface = (struct spa_interface*)proxy;
|
||||
local_iface = (struct spa_interface*)endpoint;
|
||||
|
|
@ -98,7 +98,7 @@ struct pw_proxy *pw_core_endpoint_stream_export(struct pw_core *core,
|
|||
return NULL;
|
||||
|
||||
data = pw_proxy_get_user_data(proxy);
|
||||
data = SPA_MEMBER(data, user_data_size, struct object_data);
|
||||
data = SPA_PTROFF(data, user_data_size, struct object_data);
|
||||
|
||||
remote_iface = (struct spa_interface*)proxy;
|
||||
local_iface = (struct spa_interface*)endpoint_stream;
|
||||
|
|
@ -134,7 +134,7 @@ struct pw_proxy *pw_core_endpoint_link_export(struct pw_core *core,
|
|||
return NULL;
|
||||
|
||||
data = pw_proxy_get_user_data(proxy);
|
||||
data = SPA_MEMBER(data, user_data_size, struct object_data);
|
||||
data = SPA_PTROFF(data, user_data_size, struct object_data);
|
||||
|
||||
remote_iface = (struct spa_interface*)proxy;
|
||||
local_iface = (struct spa_interface*)endpoint_link;
|
||||
|
|
@ -170,7 +170,7 @@ struct pw_proxy *pw_core_session_export(struct pw_core *core,
|
|||
return NULL;
|
||||
|
||||
data = pw_proxy_get_user_data(proxy);
|
||||
data = SPA_MEMBER(data, user_data_size, struct object_data);
|
||||
data = SPA_PTROFF(data, user_data_size, struct object_data);
|
||||
|
||||
remote_iface = (struct spa_interface*)proxy;
|
||||
local_iface = (struct spa_interface*)session;
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ pw_spa_device_new(struct pw_context *context,
|
|||
impl->flags = flags;
|
||||
|
||||
if (user_data_size > 0)
|
||||
impl->user_data = SPA_MEMBER(impl, sizeof(struct impl), void);
|
||||
impl->user_data = SPA_PTROFF(impl, sizeof(struct impl), void);
|
||||
|
||||
pw_impl_device_add_listener(this, &impl->device_listener, &device_events, impl);
|
||||
pw_impl_device_set_implementation(this, impl->device);
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@ pw_spa_node_new(struct pw_context *context,
|
|||
impl->flags = flags;
|
||||
|
||||
if (user_data_size > 0)
|
||||
impl->user_data = SPA_MEMBER(impl, sizeof(struct impl), void);
|
||||
impl->user_data = SPA_PTROFF(impl, sizeof(struct impl), void);
|
||||
|
||||
pw_impl_node_add_listener(this, &impl->node_listener, &node_events, impl);
|
||||
if ((res = pw_impl_node_set_implementation(this, impl->node)) < 0)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue