mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	pass data around instead of resource
Avoids method calls to get the userdata from a resource
This commit is contained in:
		
							parent
							
								
									b79e63cded
								
							
						
					
					
						commit
						e5bdb04b3a
					
				
					 2 changed files with 15 additions and 16 deletions
				
			
		| 
						 | 
				
			
			@ -367,8 +367,8 @@ static int reply_param(void *data, int seq, uint32_t id,
 | 
			
		|||
static int node_enum_params(void *object, int seq, uint32_t id,
 | 
			
		||||
		uint32_t index, uint32_t num, const struct spa_pod *filter)
 | 
			
		||||
{
 | 
			
		||||
	struct pw_resource *resource = object;
 | 
			
		||||
	struct resource_data *data = pw_resource_get_user_data(resource);
 | 
			
		||||
	struct resource_data *data = object;
 | 
			
		||||
	struct pw_resource *resource = data->resource;
 | 
			
		||||
	struct pw_impl_node *node = data->node;
 | 
			
		||||
	struct pw_impl_client *client = resource->client;
 | 
			
		||||
	int res;
 | 
			
		||||
| 
						 | 
				
			
			@ -391,8 +391,8 @@ static int node_enum_params(void *object, int seq, uint32_t id,
 | 
			
		|||
 | 
			
		||||
static int node_subscribe_params(void *object, uint32_t *ids, uint32_t n_ids)
 | 
			
		||||
{
 | 
			
		||||
	struct pw_resource *resource = object;
 | 
			
		||||
	struct resource_data *data = pw_resource_get_user_data(resource);
 | 
			
		||||
	struct resource_data *data = object;
 | 
			
		||||
	struct pw_resource *resource = data->resource;
 | 
			
		||||
	uint32_t i;
 | 
			
		||||
 | 
			
		||||
	n_ids = SPA_MIN(n_ids, SPA_N_ELEMENTS(data->subscribe_ids));
 | 
			
		||||
| 
						 | 
				
			
			@ -403,7 +403,7 @@ static int node_subscribe_params(void *object, uint32_t *ids, uint32_t n_ids)
 | 
			
		|||
		pw_log_debug(NAME" %p: resource %p subscribe param %s",
 | 
			
		||||
				data->node, resource,
 | 
			
		||||
				spa_debug_type_find_name(spa_type_param, ids[i]));
 | 
			
		||||
		node_enum_params(resource, 1, ids[i], 0, UINT32_MAX, NULL);
 | 
			
		||||
		node_enum_params(data, 1, ids[i], 0, UINT32_MAX, NULL);
 | 
			
		||||
	}
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -423,8 +423,8 @@ static void result_node_sync(void *data, int seq, int res, uint32_t type, const
 | 
			
		|||
static int node_set_param(void *object, uint32_t id, uint32_t flags,
 | 
			
		||||
		const struct spa_pod *param)
 | 
			
		||||
{
 | 
			
		||||
	struct pw_resource *resource = object;
 | 
			
		||||
	struct resource_data *data = pw_resource_get_user_data(resource);
 | 
			
		||||
	struct resource_data *data = object;
 | 
			
		||||
	struct pw_resource *resource = data->resource;
 | 
			
		||||
	struct pw_impl_node *node = data->node;
 | 
			
		||||
	struct pw_impl_client *client = resource->client;
 | 
			
		||||
	int res;
 | 
			
		||||
| 
						 | 
				
			
			@ -455,8 +455,7 @@ static int node_set_param(void *object, uint32_t id, uint32_t flags,
 | 
			
		|||
 | 
			
		||||
static int node_send_command(void *object, const struct spa_command *command)
 | 
			
		||||
{
 | 
			
		||||
	struct pw_resource *resource = object;
 | 
			
		||||
	struct resource_data *data = pw_resource_get_user_data(resource);
 | 
			
		||||
	struct resource_data *data = object;
 | 
			
		||||
	struct pw_impl_node *node = data->node;
 | 
			
		||||
 | 
			
		||||
	switch (SPA_NODE_COMMAND_ID(command)) {
 | 
			
		||||
| 
						 | 
				
			
			@ -498,7 +497,7 @@ global_bind(void *_data, struct pw_impl_client *client, uint32_t permissions,
 | 
			
		|||
 | 
			
		||||
	pw_resource_add_object_listener(resource,
 | 
			
		||||
			&data->object_listener,
 | 
			
		||||
			&node_methods, resource);
 | 
			
		||||
			&node_methods, data);
 | 
			
		||||
 | 
			
		||||
	pw_log_debug(NAME" %p: bound to %d", this, resource->id);
 | 
			
		||||
	pw_global_add_resource(global, resource);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -673,8 +673,8 @@ static int reply_param(void *data, int seq, uint32_t id,
 | 
			
		|||
static int port_enum_params(void *object, int seq, uint32_t id, uint32_t index, uint32_t num,
 | 
			
		||||
		const struct spa_pod *filter)
 | 
			
		||||
{
 | 
			
		||||
	struct pw_resource *resource = object;
 | 
			
		||||
	struct resource_data *data = pw_resource_get_user_data(resource);
 | 
			
		||||
	struct resource_data *data = object;
 | 
			
		||||
	struct pw_resource *resource = data->resource;
 | 
			
		||||
	struct pw_impl_port *port = data->port;
 | 
			
		||||
	int res;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -691,8 +691,8 @@ static int port_enum_params(void *object, int seq, uint32_t id, uint32_t index,
 | 
			
		|||
 | 
			
		||||
static int port_subscribe_params(void *object, uint32_t *ids, uint32_t n_ids)
 | 
			
		||||
{
 | 
			
		||||
	struct pw_resource *resource = object;
 | 
			
		||||
	struct resource_data *data = pw_resource_get_user_data(resource);
 | 
			
		||||
	struct resource_data *data = object;
 | 
			
		||||
	struct pw_resource *resource = data->resource;
 | 
			
		||||
	uint32_t i;
 | 
			
		||||
 | 
			
		||||
	n_ids = SPA_MIN(n_ids, SPA_N_ELEMENTS(data->subscribe_ids));
 | 
			
		||||
| 
						 | 
				
			
			@ -702,7 +702,7 @@ static int port_subscribe_params(void *object, uint32_t *ids, uint32_t n_ids)
 | 
			
		|||
		data->subscribe_ids[i] = ids[i];
 | 
			
		||||
		pw_log_debug(NAME" %p: resource %p subscribe param %s", data->port,
 | 
			
		||||
				resource, spa_debug_type_find_name(spa_type_param, ids[i]));
 | 
			
		||||
		port_enum_params(resource, 1, ids[i], 0, UINT32_MAX, NULL);
 | 
			
		||||
		port_enum_params(data, 1, ids[i], 0, UINT32_MAX, NULL);
 | 
			
		||||
	}
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -735,7 +735,7 @@ global_bind(void *_data, struct pw_impl_client *client, uint32_t permissions,
 | 
			
		|||
 | 
			
		||||
	pw_resource_add_object_listener(resource,
 | 
			
		||||
			&data->object_listener,
 | 
			
		||||
			&port_methods, resource);
 | 
			
		||||
			&port_methods, data);
 | 
			
		||||
 | 
			
		||||
	pw_log_debug(NAME" %p: bound to %d", this, resource->id);
 | 
			
		||||
	pw_global_add_resource(global, resource);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue