mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	simplify things with just 1 process function
Make just one process function in spa node. With the io area states we can do more complicated io patterns.
This commit is contained in:
		
							parent
							
								
									e8d0281982
								
							
						
					
					
						commit
						9b0a880afb
					
				
					 21 changed files with 202 additions and 359 deletions
				
			
		| 
						 | 
				
			
			@ -539,7 +539,7 @@ static int do_render(struct spa_loop *loop, bool async, uint32_t seq,
 | 
			
		|||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int impl_node_process_input(struct spa_node *node)
 | 
			
		||||
static int impl_node_process(struct spa_node *node)
 | 
			
		||||
{
 | 
			
		||||
	struct data *d = SPA_CONTAINER_OF(node, struct data, impl_node);
 | 
			
		||||
	struct spa_buffer *buf;
 | 
			
		||||
| 
						 | 
				
			
			@ -574,7 +574,7 @@ static const struct spa_node impl_node = {
 | 
			
		|||
	.port_enum_params = impl_port_enum_params,
 | 
			
		||||
	.port_set_param = impl_port_set_param,
 | 
			
		||||
	.port_use_buffers = impl_port_use_buffers,
 | 
			
		||||
	.process_input = impl_node_process_input,
 | 
			
		||||
	.process = impl_node_process,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static void make_node(struct data *data)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -467,7 +467,7 @@ static void fill_s16(struct data *d, void *dest, int avail)
 | 
			
		|||
        }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int impl_node_process_output(struct spa_node *node)
 | 
			
		||||
static int impl_node_process(struct spa_node *node)
 | 
			
		||||
{
 | 
			
		||||
	struct data *d = SPA_CONTAINER_OF(node, struct data, impl_node);
 | 
			
		||||
	struct buffer *b;
 | 
			
		||||
| 
						 | 
				
			
			@ -529,7 +529,7 @@ static const struct spa_node impl_node = {
 | 
			
		|||
	.port_set_param = impl_port_set_param,
 | 
			
		||||
	.port_use_buffers = impl_port_use_buffers,
 | 
			
		||||
	.port_reuse_buffer = impl_port_reuse_buffer,
 | 
			
		||||
	.process_output = impl_node_process_output,
 | 
			
		||||
	.process = impl_node_process,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static void make_node(struct data *data)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -433,7 +433,7 @@ static int do_render(struct spa_loop *loop, bool async, uint32_t seq,
 | 
			
		|||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int impl_node_process_input(struct spa_node *node)
 | 
			
		||||
static int impl_node_process(struct spa_node *node)
 | 
			
		||||
{
 | 
			
		||||
	struct data *d = SPA_CONTAINER_OF(node, struct data, impl_node);
 | 
			
		||||
	int res;
 | 
			
		||||
| 
						 | 
				
			
			@ -461,7 +461,7 @@ static const struct spa_node impl_node = {
 | 
			
		|||
	.port_enum_params = impl_port_enum_params,
 | 
			
		||||
	.port_set_param = impl_port_set_param,
 | 
			
		||||
	.port_use_buffers = impl_port_use_buffers,
 | 
			
		||||
	.process_input = impl_node_process_input,
 | 
			
		||||
	.process = impl_node_process,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static void make_nodes(struct data *data)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue