mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	link: remove obsolete cleanup code
Whe the port is destroyed, we destroy the link and perform the cleanup aleady in the destroy.
This commit is contained in:
		
							parent
							
								
									04f77d2565
								
							
						
					
					
						commit
						a79e8923b5
					
				
					 1 changed files with 3 additions and 22 deletions
				
			
		| 
						 | 
					@ -864,7 +864,7 @@ static void input_remove(struct pw_link *this, struct pw_port *port)
 | 
				
			||||||
	pw_loop_invoke(port->node->data_loop,
 | 
						pw_loop_invoke(port->node->data_loop,
 | 
				
			||||||
		       do_remove_input, 1, NULL, 0, true, this);
 | 
							       do_remove_input, 1, NULL, 0, true, this);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	clear_port_buffers(this, this->input);
 | 
						clear_port_buffers(this, port);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int
 | 
					static int
 | 
				
			||||||
| 
						 | 
					@ -887,31 +887,11 @@ static void output_remove(struct pw_link *this, struct pw_port *port)
 | 
				
			||||||
	pw_loop_invoke(port->node->data_loop,
 | 
						pw_loop_invoke(port->node->data_loop,
 | 
				
			||||||
		       do_remove_output, 1, NULL, 0, true, this);
 | 
							       do_remove_output, 1, NULL, 0, true, this);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	clear_port_buffers(this, this->output);
 | 
						clear_port_buffers(this, port);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void on_port_destroy(struct pw_link *this, struct pw_port *port)
 | 
					static void on_port_destroy(struct pw_link *this, struct pw_port *port)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct pw_port *other;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if (port == this->input) {
 | 
					 | 
				
			||||||
		input_remove(this, port);
 | 
					 | 
				
			||||||
		other = this->output;
 | 
					 | 
				
			||||||
	} else if (port == this->output) {
 | 
					 | 
				
			||||||
		output_remove(this, port);
 | 
					 | 
				
			||||||
		other = this->input;
 | 
					 | 
				
			||||||
	} else
 | 
					 | 
				
			||||||
		return;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if (this->buffer_owner == port) {
 | 
					 | 
				
			||||||
		this->buffers = NULL;
 | 
					 | 
				
			||||||
		this->n_buffers = 0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		pw_log_debug("link %p: clear allocated buffers on port %p", this, other);
 | 
					 | 
				
			||||||
		pw_port_use_buffers(other, NULL, 0);
 | 
					 | 
				
			||||||
		this->buffer_owner = NULL;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	spa_hook_list_call(&this->listener_list, struct pw_link_events, port_unlinked, port);
 | 
						spa_hook_list_call(&this->listener_list, struct pw_link_events, port_unlinked, port);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	pw_link_update_state(this, PW_LINK_STATE_UNLINKED, NULL);
 | 
						pw_link_update_state(this, PW_LINK_STATE_UNLINKED, NULL);
 | 
				
			||||||
| 
						 | 
					@ -1270,6 +1250,7 @@ void pw_link_destroy(struct pw_link *link)
 | 
				
			||||||
	spa_hook_list_call(&link->output->listener_list, struct pw_port_events, link_removed, link);
 | 
						spa_hook_list_call(&link->output->listener_list, struct pw_port_events, link_removed, link);
 | 
				
			||||||
	link->output = NULL;
 | 
						link->output = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						pw_log_debug("link %p: free", impl);
 | 
				
			||||||
	spa_hook_list_call(&link->listener_list, struct pw_link_events, free);
 | 
						spa_hook_list_call(&link->listener_list, struct pw_link_events, free);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	pw_work_queue_destroy(impl->work);
 | 
						pw_work_queue_destroy(impl->work);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue