mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-04 13:30:12 -05:00
Remove some macros, we can use the paste operator before __VA_ARGS__
This commit is contained in:
parent
b90dac7656
commit
791fb53503
19 changed files with 31 additions and 50 deletions
|
|
@ -280,7 +280,7 @@ pw_client_node_proxy_event(struct pw_client_node_proxy *p, struct spa_event *eve
|
||||||
static inline void
|
static inline void
|
||||||
pw_client_node_proxy_destroy(struct pw_client_node_proxy *p)
|
pw_client_node_proxy_destroy(struct pw_client_node_proxy *p)
|
||||||
{
|
{
|
||||||
pw_proxy_do_na((struct pw_proxy*)p, struct pw_client_node_proxy_methods, destroy);
|
pw_proxy_do((struct pw_proxy*)p, struct pw_client_node_proxy_methods, destroy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -760,7 +760,7 @@ static bool client_node_demarshal_destroy(void *object, void *data, size_t size)
|
||||||
if (!spa_pod_iter_struct(&it, data, size))
|
if (!spa_pod_iter_struct(&it, data, size))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
pw_resource_do_na(resource, struct pw_client_node_proxy_methods, destroy);
|
pw_resource_do(resource, struct pw_client_node_proxy_methods, destroy);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -235,7 +235,7 @@ void pw_protocol_native_connection_destroy(struct pw_protocol_native_connection
|
||||||
|
|
||||||
pw_log_debug("connection %p: destroy", conn);
|
pw_log_debug("connection %p: destroy", conn);
|
||||||
|
|
||||||
pw_listener_list_emit_na(&conn->listener_list, struct pw_protocol_native_connection_events, destroy);
|
pw_listener_list_emit(&conn->listener_list, struct pw_protocol_native_connection_events, destroy);
|
||||||
|
|
||||||
free(impl->out.buffer_data);
|
free(impl->out.buffer_data);
|
||||||
free(impl->in.buffer_data);
|
free(impl->in.buffer_data);
|
||||||
|
|
@ -430,7 +430,7 @@ pw_protocol_native_connection_end(struct pw_protocol_native_connection *conn,
|
||||||
printf(">>>>>>>>> out:\n");
|
printf(">>>>>>>>> out:\n");
|
||||||
spa_debug_pod((struct spa_pod *)p);
|
spa_debug_pod((struct spa_pod *)p);
|
||||||
}
|
}
|
||||||
pw_listener_list_emit_na(&conn->listener_list, struct pw_protocol_native_connection_events, need_flush);
|
pw_listener_list_emit(&conn->listener_list, struct pw_protocol_native_connection_events, need_flush);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Flush the connection object
|
/** Flush the connection object
|
||||||
|
|
|
||||||
|
|
@ -352,14 +352,14 @@ static void on_node_need_input(void *data)
|
||||||
{
|
{
|
||||||
struct impl *impl = data;
|
struct impl *impl = data;
|
||||||
struct pw_node *this = impl->this;
|
struct pw_node *this = impl->this;
|
||||||
pw_listener_list_emit_na(&this->listener_list, struct pw_node_events, need_input);
|
pw_listener_list_emit(&this->listener_list, struct pw_node_events, need_input);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void on_node_have_output(void *data)
|
static void on_node_have_output(void *data)
|
||||||
{
|
{
|
||||||
struct impl *impl = data;
|
struct impl *impl = data;
|
||||||
struct pw_node *this = impl->this;
|
struct pw_node *this = impl->this;
|
||||||
pw_listener_list_emit_na(&this->listener_list, struct pw_node_events, have_output);
|
pw_listener_list_emit(&this->listener_list, struct pw_node_events, have_output);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
||||||
|
|
@ -175,7 +175,7 @@ void pw_client_destroy(struct pw_client *client)
|
||||||
struct impl *impl = SPA_CONTAINER_OF(client, struct impl, this);
|
struct impl *impl = SPA_CONTAINER_OF(client, struct impl, this);
|
||||||
|
|
||||||
pw_log_debug("client %p: destroy", client);
|
pw_log_debug("client %p: destroy", client);
|
||||||
pw_listener_list_emit_na(&client->listener_list, struct pw_client_events, destroy);
|
pw_listener_list_emit(&client->listener_list, struct pw_client_events, destroy);
|
||||||
|
|
||||||
spa_list_remove(&client->link);
|
spa_list_remove(&client->link);
|
||||||
pw_global_destroy(client->global);
|
pw_global_destroy(client->global);
|
||||||
|
|
@ -185,7 +185,7 @@ void pw_client_destroy(struct pw_client *client)
|
||||||
|
|
||||||
pw_map_for_each(&client->objects, destroy_resource, client);
|
pw_map_for_each(&client->objects, destroy_resource, client);
|
||||||
|
|
||||||
pw_listener_list_emit_na(&client->listener_list, struct pw_client_events, free);
|
pw_listener_list_emit(&client->listener_list, struct pw_client_events, free);
|
||||||
pw_log_debug("client %p: free", impl);
|
pw_log_debug("client %p: free", impl);
|
||||||
|
|
||||||
pw_map_clear(&client->objects);
|
pw_map_clear(&client->objects);
|
||||||
|
|
|
||||||
|
|
@ -134,7 +134,7 @@ void pw_data_loop_destroy(struct pw_data_loop *loop)
|
||||||
{
|
{
|
||||||
pw_log_debug("data-loop %p: destroy", loop);
|
pw_log_debug("data-loop %p: destroy", loop);
|
||||||
|
|
||||||
pw_listener_list_emit_na(&loop->listener_list, struct pw_data_loop_events, destroy);
|
pw_listener_list_emit(&loop->listener_list, struct pw_data_loop_events, destroy);
|
||||||
|
|
||||||
pw_data_loop_stop(loop);
|
pw_data_loop_stop(loop);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1123,7 +1123,7 @@ void pw_link_destroy(struct pw_link *link)
|
||||||
struct pw_resource *resource, *tmp;
|
struct pw_resource *resource, *tmp;
|
||||||
|
|
||||||
pw_log_debug("link %p: destroy", impl);
|
pw_log_debug("link %p: destroy", impl);
|
||||||
pw_listener_list_emit_na(&link->listener_list, struct pw_link_events, destroy);
|
pw_listener_list_emit(&link->listener_list, struct pw_link_events, destroy);
|
||||||
|
|
||||||
pw_link_deactivate(link);
|
pw_link_deactivate(link);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -63,17 +63,7 @@ static inline void pw_listener_remove(struct pw_listener *listener)
|
||||||
spa_list_for_each_safe(ci, t, &list->list, link) { \
|
spa_list_for_each_safe(ci, t, &list->list, link) { \
|
||||||
const type *cb = ci->events; \
|
const type *cb = ci->events; \
|
||||||
if (cb->method) \
|
if (cb->method) \
|
||||||
cb->method(ci->data, __VA_ARGS__); \
|
cb->method(ci->data, ## __VA_ARGS__); \
|
||||||
} \
|
|
||||||
});
|
|
||||||
|
|
||||||
#define pw_listener_list_emit_na(l,type,method) ({ \
|
|
||||||
struct pw_listener_list *list = l; \
|
|
||||||
struct pw_listener *ci, *t; \
|
|
||||||
spa_list_for_each_safe(ci, t, &list->list, link) { \
|
|
||||||
const type *cb = ci->events; \
|
|
||||||
if (cb->method) \
|
|
||||||
cb->method(ci->data); \
|
|
||||||
} \
|
} \
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ struct pw_main_loop *pw_main_loop_new(void)
|
||||||
void pw_main_loop_destroy(struct pw_main_loop *loop)
|
void pw_main_loop_destroy(struct pw_main_loop *loop)
|
||||||
{
|
{
|
||||||
pw_log_debug("main-loop %p: destroy", loop);
|
pw_log_debug("main-loop %p: destroy", loop);
|
||||||
pw_listener_list_emit_na(&loop->listener_list, struct pw_main_loop_events, destroy);
|
pw_listener_list_emit(&loop->listener_list, struct pw_main_loop_events, destroy);
|
||||||
|
|
||||||
pw_loop_destroy(loop->loop);
|
pw_loop_destroy(loop->loop);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -257,7 +257,7 @@ void pw_module_destroy(struct pw_module *module)
|
||||||
struct impl *impl = SPA_CONTAINER_OF(module, struct impl, this);
|
struct impl *impl = SPA_CONTAINER_OF(module, struct impl, this);
|
||||||
struct pw_resource *resource, *tmp;
|
struct pw_resource *resource, *tmp;
|
||||||
|
|
||||||
pw_listener_list_emit_na(&module->listener_list, struct pw_module_events, destroy);
|
pw_listener_list_emit(&module->listener_list, struct pw_module_events, destroy);
|
||||||
|
|
||||||
spa_list_for_each_safe(resource, tmp, &module->resource_list, link)
|
spa_list_for_each_safe(resource, tmp, &module->resource_list, link)
|
||||||
pw_resource_destroy(resource);
|
pw_resource_destroy(resource);
|
||||||
|
|
|
||||||
|
|
@ -315,7 +315,7 @@ void pw_node_register(struct pw_node *this)
|
||||||
node_bind_func, this);
|
node_bind_func, this);
|
||||||
|
|
||||||
impl->registered = true;
|
impl->registered = true;
|
||||||
pw_listener_list_emit_na(&this->listener_list, struct pw_node_events, initialized);
|
pw_listener_list_emit(&this->listener_list, struct pw_node_events, initialized);
|
||||||
|
|
||||||
pw_node_update_state(this, PW_NODE_STATE_SUSPENDED, NULL);
|
pw_node_update_state(this, PW_NODE_STATE_SUSPENDED, NULL);
|
||||||
}
|
}
|
||||||
|
|
@ -494,7 +494,7 @@ void pw_node_destroy(struct pw_node *node)
|
||||||
struct pw_port *port, *tmpp;
|
struct pw_port *port, *tmpp;
|
||||||
|
|
||||||
pw_log_debug("node %p: destroy", impl);
|
pw_log_debug("node %p: destroy", impl);
|
||||||
pw_listener_list_emit_na(&node->listener_list, struct pw_node_events, destroy);
|
pw_listener_list_emit(&node->listener_list, struct pw_node_events, destroy);
|
||||||
|
|
||||||
pw_loop_invoke(node->data_loop, do_node_remove, 1, 0, NULL, true, node);
|
pw_loop_invoke(node->data_loop, do_node_remove, 1, 0, NULL, true, node);
|
||||||
|
|
||||||
|
|
@ -519,7 +519,7 @@ void pw_node_destroy(struct pw_node *node)
|
||||||
}
|
}
|
||||||
|
|
||||||
pw_log_debug("node %p: free", node);
|
pw_log_debug("node %p: free", node);
|
||||||
pw_listener_list_emit_na(&node->listener_list, struct pw_node_events, free);
|
pw_listener_list_emit(&node->listener_list, struct pw_node_events, free);
|
||||||
|
|
||||||
pw_work_queue_destroy(impl->work);
|
pw_work_queue_destroy(impl->work);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -292,7 +292,7 @@ void pw_port_destroy(struct pw_port *port)
|
||||||
|
|
||||||
pw_log_debug("port %p: destroy", port);
|
pw_log_debug("port %p: destroy", port);
|
||||||
|
|
||||||
pw_listener_list_emit_na(&port->listener_list, struct pw_port_events, destroy);
|
pw_listener_list_emit(&port->listener_list, struct pw_port_events, destroy);
|
||||||
|
|
||||||
if (node) {
|
if (node) {
|
||||||
pw_loop_invoke(port->node->data_loop, do_remove_port, SPA_ID_INVALID, 0, NULL, true, port);
|
pw_loop_invoke(port->node->data_loop, do_remove_port, SPA_ID_INVALID, 0, NULL, true, port);
|
||||||
|
|
@ -469,7 +469,9 @@ int pw_port_alloc_buffers(struct pw_port *port,
|
||||||
pw_log_debug("port %p: alloc %d buffers", port, *n_buffers);
|
pw_log_debug("port %p: alloc %d buffers", port, *n_buffers);
|
||||||
|
|
||||||
if (port->implementation->alloc_buffers)
|
if (port->implementation->alloc_buffers)
|
||||||
res = port->implementation->alloc_buffers(port->implementation_data, params, n_params, buffers, n_buffers);
|
res = port->implementation->alloc_buffers(port->implementation_data,
|
||||||
|
params, n_params,
|
||||||
|
buffers, n_buffers);
|
||||||
else
|
else
|
||||||
res = SPA_RESULT_NOT_IMPLEMENTED;
|
res = SPA_RESULT_NOT_IMPLEMENTED;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -119,7 +119,7 @@ void pw_proxy_destroy(struct pw_proxy *proxy)
|
||||||
struct proxy *impl = SPA_CONTAINER_OF(proxy, struct proxy, this);
|
struct proxy *impl = SPA_CONTAINER_OF(proxy, struct proxy, this);
|
||||||
|
|
||||||
pw_log_debug("proxy %p: destroy %u", proxy, proxy->id);
|
pw_log_debug("proxy %p: destroy %u", proxy, proxy->id);
|
||||||
pw_listener_list_emit_na(&proxy->listener_list, struct pw_proxy_events, destroy);
|
pw_listener_list_emit(&proxy->listener_list, struct pw_proxy_events, destroy);
|
||||||
|
|
||||||
pw_map_remove(&proxy->remote->objects, proxy->id);
|
pw_map_remove(&proxy->remote->objects, proxy->id);
|
||||||
spa_list_remove(&proxy->link);
|
spa_list_remove(&proxy->link);
|
||||||
|
|
|
||||||
|
|
@ -127,11 +127,8 @@ struct pw_listener_list *pw_proxy_get_proxy_listeners(struct pw_proxy *proxy);
|
||||||
|
|
||||||
const void *pw_proxy_get_proxy_implementation(struct pw_proxy *proxy);
|
const void *pw_proxy_get_proxy_implementation(struct pw_proxy *proxy);
|
||||||
|
|
||||||
#define pw_proxy_notify(p,type,event,...) pw_listener_list_emit(pw_proxy_get_proxy_listeners(p),type,event,__VA_ARGS__)
|
#define pw_proxy_notify(p,type,event,...) pw_listener_list_emit(pw_proxy_get_proxy_listeners(p),type,event,## __VA_ARGS__)
|
||||||
#define pw_proxy_notify_na(p,type,event) pw_listener_list_emit_na(pw_proxy_get_proxy_listeners(p),type,event)
|
#define pw_proxy_do(p,type,method,...) ((type*) pw_proxy_get_proxy_implementation(p))->method(p, ## __VA_ARGS__)
|
||||||
|
|
||||||
#define pw_proxy_do(p,type,method,...) ((type*) pw_proxy_get_proxy_implementation(p))->method(p, __VA_ARGS__)
|
|
||||||
#define pw_proxy_do_na(p,type,method) ((type*) pw_proxy_get_proxy_implementation(p))->method(p)
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -265,7 +265,7 @@ void pw_remote_destroy(struct pw_remote *remote)
|
||||||
struct pw_stream *stream, *s2;
|
struct pw_stream *stream, *s2;
|
||||||
|
|
||||||
pw_log_debug("remote %p: destroy", remote);
|
pw_log_debug("remote %p: destroy", remote);
|
||||||
pw_listener_list_emit_na(&remote->listener_list, struct pw_remote_events, destroy);
|
pw_listener_list_emit(&remote->listener_list, struct pw_remote_events, destroy);
|
||||||
|
|
||||||
if (remote->state != PW_REMOTE_STATE_UNCONNECTED)
|
if (remote->state != PW_REMOTE_STATE_UNCONNECTED)
|
||||||
pw_remote_disconnect(remote);
|
pw_remote_disconnect(remote);
|
||||||
|
|
|
||||||
|
|
@ -142,7 +142,7 @@ void pw_resource_destroy(struct pw_resource *resource)
|
||||||
struct pw_client *client = resource->client;
|
struct pw_client *client = resource->client;
|
||||||
|
|
||||||
pw_log_trace("resource %p: destroy %u", resource, resource->id);
|
pw_log_trace("resource %p: destroy %u", resource, resource->id);
|
||||||
pw_listener_list_emit_na(&resource->listener_list, struct pw_resource_events, destroy);
|
pw_listener_list_emit(&resource->listener_list, struct pw_resource_events, destroy);
|
||||||
|
|
||||||
pw_map_insert_at(&client->objects, resource->id, NULL);
|
pw_map_insert_at(&client->objects, resource->id, NULL);
|
||||||
pw_listener_list_emit(&client->listener_list, struct pw_client_events, resource_removed, resource);
|
pw_listener_list_emit(&client->listener_list, struct pw_client_events, resource_removed, resource);
|
||||||
|
|
|
||||||
|
|
@ -107,18 +107,10 @@ const void *pw_resource_get_proxy_notify(struct pw_resource *resource);
|
||||||
struct pw_listener *l = pw_resource_get_implementation(r); \
|
struct pw_listener *l = pw_resource_get_implementation(r); \
|
||||||
const type *cb = l->events; \
|
const type *cb = l->events; \
|
||||||
if (cb->method) \
|
if (cb->method) \
|
||||||
cb->method(l->data, __VA_ARGS__); \
|
cb->method(l->data, ## __VA_ARGS__); \
|
||||||
});
|
});
|
||||||
|
|
||||||
#define pw_resource_do_na(r,type,method) ({ \
|
#define pw_resource_notify(r,type,event,...) ((type*) pw_resource_get_proxy_notify(r))->event(r, ## __VA_ARGS__)
|
||||||
struct pw_listener *l = pw_resource_get_implementation(r); \
|
|
||||||
const type *cb = l->events; \
|
|
||||||
if (cb->method) \
|
|
||||||
cb->method(l->data); \
|
|
||||||
});
|
|
||||||
|
|
||||||
#define pw_resource_notify(r,type,event,...) ((type*) pw_resource_get_proxy_notify(r))->event(r, __VA_ARGS__)
|
|
||||||
#define pw_resource_notify_na(r,type,event) ((type*) r->marshal->event_marshal)->event(r)
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -313,7 +313,7 @@ void pw_stream_destroy(struct pw_stream *stream)
|
||||||
|
|
||||||
pw_log_debug("stream %p: destroy", stream);
|
pw_log_debug("stream %p: destroy", stream);
|
||||||
|
|
||||||
pw_listener_list_emit_na(&stream->listener_list, struct pw_stream_events, destroy);
|
pw_listener_list_emit(&stream->listener_list, struct pw_stream_events, destroy);
|
||||||
|
|
||||||
unhandle_socket(stream);
|
unhandle_socket(stream);
|
||||||
|
|
||||||
|
|
@ -514,7 +514,7 @@ static void handle_rtnode_message(struct pw_stream *stream, struct pw_client_nod
|
||||||
}
|
}
|
||||||
pw_log_trace("stream %p: process output", stream);
|
pw_log_trace("stream %p: process output", stream);
|
||||||
impl->in_need_buffer = true;
|
impl->in_need_buffer = true;
|
||||||
pw_listener_list_emit_na(&stream->listener_list, struct pw_stream_events, need_buffer);
|
pw_listener_list_emit(&stream->listener_list, struct pw_stream_events, need_buffer);
|
||||||
impl->in_need_buffer = false;
|
impl->in_need_buffer = false;
|
||||||
} else if (PW_CLIENT_NODE_MESSAGE_TYPE(message) == PW_CLIENT_NODE_MESSAGE_REUSE_BUFFER) {
|
} else if (PW_CLIENT_NODE_MESSAGE_TYPE(message) == PW_CLIENT_NODE_MESSAGE_REUSE_BUFFER) {
|
||||||
struct pw_client_node_message_reuse_buffer *p =
|
struct pw_client_node_message_reuse_buffer *p =
|
||||||
|
|
@ -608,7 +608,7 @@ handle_node_command(struct pw_stream *stream, uint32_t seq, const struct spa_com
|
||||||
send_need_input(stream);
|
send_need_input(stream);
|
||||||
else {
|
else {
|
||||||
impl->in_need_buffer = true;
|
impl->in_need_buffer = true;
|
||||||
pw_listener_list_emit_na(&stream->listener_list, struct pw_stream_events,
|
pw_listener_list_emit(&stream->listener_list, struct pw_stream_events,
|
||||||
need_buffer);
|
need_buffer);
|
||||||
impl->in_need_buffer = false;
|
impl->in_need_buffer = false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -118,7 +118,7 @@ struct pw_thread_loop *pw_thread_loop_new(struct pw_loop *loop, const char *name
|
||||||
/** Destroy a threaded loop \memberof pw_thread_loop */
|
/** Destroy a threaded loop \memberof pw_thread_loop */
|
||||||
void pw_thread_loop_destroy(struct pw_thread_loop *loop)
|
void pw_thread_loop_destroy(struct pw_thread_loop *loop)
|
||||||
{
|
{
|
||||||
pw_listener_list_emit_na(&loop->listener_list, struct pw_thread_loop_events, destroy);
|
pw_listener_list_emit(&loop->listener_list, struct pw_thread_loop_events, destroy);
|
||||||
|
|
||||||
pw_thread_loop_stop(loop);
|
pw_thread_loop_stop(loop);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue