mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	context: don't recalculate graph for exported nodes
Exported nodes are managed by the remote end so we don't have to.
This commit is contained in:
		
							parent
							
								
									d1091462ab
								
							
						
					
					
						commit
						c5be7642a3
					
				
					 1 changed files with 7 additions and 1 deletions
				
			
		| 
						 | 
					@ -812,6 +812,9 @@ int pw_context_recalc_graph(struct pw_context *context)
 | 
				
			||||||
	spa_list_for_each(n, &context->driver_list, driver_link) {
 | 
						spa_list_for_each(n, &context->driver_list, driver_link) {
 | 
				
			||||||
		uint32_t active_followers;
 | 
							uint32_t active_followers;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if (n->exported)
 | 
				
			||||||
 | 
								continue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (n->active && !n->visited)
 | 
							if (n->active && !n->visited)
 | 
				
			||||||
			collect_nodes(n);
 | 
								collect_nodes(n);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -843,6 +846,9 @@ int pw_context_recalc_graph(struct pw_context *context)
 | 
				
			||||||
	 * in collect_nodes() are not linked to any master. We assign them
 | 
						 * in collect_nodes() are not linked to any master. We assign them
 | 
				
			||||||
	 * to an active master */
 | 
						 * to an active master */
 | 
				
			||||||
	spa_list_for_each(n, &context->node_list, link) {
 | 
						spa_list_for_each(n, &context->node_list, link) {
 | 
				
			||||||
 | 
							if (n->exported)
 | 
				
			||||||
 | 
								continue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (!n->visited) {
 | 
							if (!n->visited) {
 | 
				
			||||||
			struct pw_impl_node *t;
 | 
								struct pw_impl_node *t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -865,7 +871,7 @@ int pw_context_recalc_graph(struct pw_context *context)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* assign final quantum and debug masters and followers */
 | 
						/* assign final quantum and debug masters and followers */
 | 
				
			||||||
	spa_list_for_each(n, &context->driver_list, driver_link) {
 | 
						spa_list_for_each(n, &context->driver_list, driver_link) {
 | 
				
			||||||
		if (!n->master)
 | 
							if (!n->master || n->exported)
 | 
				
			||||||
			continue;
 | 
								continue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (n->rt.position && n->quantum_current != n->rt.position->clock.duration) {
 | 
							if (n->rt.position && n->quantum_current != n->rt.position->clock.duration) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue