mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	policy-node: only set peer when we actually linked something
This commit is contained in:
		
							parent
							
								
									cb3f1b51aa
								
							
						
					
					
						commit
						a0777d7806
					
				
					 2 changed files with 5 additions and 4 deletions
				
			
		| 
						 | 
					@ -1549,6 +1549,7 @@ static int link_nodes(struct impl *impl, struct endpoint_link *link,
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct pw_properties *props;
 | 
						struct pw_properties *props;
 | 
				
			||||||
	struct sm_port *outport, *inport;
 | 
						struct sm_port *outport, *inport;
 | 
				
			||||||
 | 
						int count = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	pw_log_debug(NAME" %p: linking %d -> %d", impl, outnode->obj.id, innode->obj.id);
 | 
						pw_log_debug(NAME" %p: linking %d -> %d", impl, outnode->obj.id, innode->obj.id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1596,6 +1597,7 @@ static int link_nodes(struct impl *impl, struct endpoint_link *link,
 | 
				
			||||||
		l->input_node = innode->obj.id;
 | 
							l->input_node = innode->obj.id;
 | 
				
			||||||
		l->input_port = inport->obj.id;
 | 
							l->input_port = inport->obj.id;
 | 
				
			||||||
		pw_proxy_add_listener(p, &l->listener, &proxy_link_events, l);
 | 
							pw_proxy_add_listener(p, &l->listener, &proxy_link_events, l);
 | 
				
			||||||
 | 
							count++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (link) {
 | 
							if (link) {
 | 
				
			||||||
			l->endpoint_link = link;
 | 
								l->endpoint_link = link;
 | 
				
			||||||
| 
						 | 
					@ -1606,7 +1608,7 @@ static int link_nodes(struct impl *impl, struct endpoint_link *link,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	pw_properties_free(props);
 | 
						pw_properties_free(props);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return 0;
 | 
						return count;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -466,8 +466,6 @@ static int link_nodes(struct node *node, struct node *peer)
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	node->peer = peer;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if (node->direction == PW_DIRECTION_INPUT) {
 | 
						if (node->direction == PW_DIRECTION_INPUT) {
 | 
				
			||||||
		output = peer;
 | 
							output = peer;
 | 
				
			||||||
		input = node;
 | 
							input = node;
 | 
				
			||||||
| 
						 | 
					@ -480,7 +478,8 @@ static int link_nodes(struct node *node, struct node *peer)
 | 
				
			||||||
	pw_properties_setf(props, PW_KEY_LINK_INPUT_NODE, "%d", input->id);
 | 
						pw_properties_setf(props, PW_KEY_LINK_INPUT_NODE, "%d", input->id);
 | 
				
			||||||
	pw_log_info("linking node %d to node %d", output->id, input->id);
 | 
						pw_log_info("linking node %d to node %d", output->id, input->id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	sm_media_session_create_links(impl->session, &props->dict);
 | 
						if (sm_media_session_create_links(impl->session, &props->dict) > 0)
 | 
				
			||||||
 | 
							node->peer = peer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	pw_properties_free(props);
 | 
						pw_properties_free(props);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue