mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	client-node: only add props and params when mask is set
This commit is contained in:
		
							parent
							
								
									12e6dd89e2
								
							
						
					
					
						commit
						85977634c1
					
				
					 1 changed files with 8 additions and 5 deletions
				
			
		| 
						 | 
					@ -126,7 +126,7 @@ client_node_marshal_update(void *object,
 | 
				
			||||||
	struct pw_proxy *proxy = object;
 | 
						struct pw_proxy *proxy = object;
 | 
				
			||||||
	struct spa_pod_builder *b;
 | 
						struct spa_pod_builder *b;
 | 
				
			||||||
	struct spa_pod_frame f[2];
 | 
						struct spa_pod_frame f[2];
 | 
				
			||||||
	uint32_t i, n_items;
 | 
						uint32_t i, n_items, n_info_params;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	b = pw_protocol_native_begin_proxy(proxy, PW_CLIENT_NODE_METHOD_UPDATE, NULL);
 | 
						b = pw_protocol_native_begin_proxy(proxy, PW_CLIENT_NODE_METHOD_UPDATE, NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -141,12 +141,15 @@ client_node_marshal_update(void *object,
 | 
				
			||||||
	if (info) {
 | 
						if (info) {
 | 
				
			||||||
		uint64_t change_mask = info->change_mask;
 | 
							uint64_t change_mask = info->change_mask;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		n_items = info->props ? info->props->n_items : 0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		change_mask &= SPA_NODE_CHANGE_MASK_FLAGS |
 | 
							change_mask &= SPA_NODE_CHANGE_MASK_FLAGS |
 | 
				
			||||||
				SPA_NODE_CHANGE_MASK_PROPS |
 | 
									SPA_NODE_CHANGE_MASK_PROPS |
 | 
				
			||||||
				SPA_NODE_CHANGE_MASK_PARAMS;
 | 
									SPA_NODE_CHANGE_MASK_PARAMS;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							n_items = info->props && (change_mask & SPA_NODE_CHANGE_MASK_PROPS) ?
 | 
				
			||||||
 | 
								info->props->n_items : 0;
 | 
				
			||||||
 | 
							n_info_params = (change_mask & SPA_NODE_CHANGE_MASK_PARAMS) ?
 | 
				
			||||||
 | 
								info->n_params : 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		spa_pod_builder_push_struct(b, &f[1]);
 | 
							spa_pod_builder_push_struct(b, &f[1]);
 | 
				
			||||||
		spa_pod_builder_add(b,
 | 
							spa_pod_builder_add(b,
 | 
				
			||||||
				    SPA_POD_Int(info->max_input_ports),
 | 
									    SPA_POD_Int(info->max_input_ports),
 | 
				
			||||||
| 
						 | 
					@ -157,8 +160,8 @@ client_node_marshal_update(void *object,
 | 
				
			||||||
		for (i = 0; i < n_items; i++)
 | 
							for (i = 0; i < n_items; i++)
 | 
				
			||||||
			push_item(b, &info->props->items[i]);
 | 
								push_item(b, &info->props->items[i]);
 | 
				
			||||||
		spa_pod_builder_add(b,
 | 
							spa_pod_builder_add(b,
 | 
				
			||||||
				    SPA_POD_Int(info->n_params), NULL);
 | 
									    SPA_POD_Int(n_info_params), NULL);
 | 
				
			||||||
		for (i = 0; i < info->n_params; i++) {
 | 
							for (i = 0; i < n_info_params; i++) {
 | 
				
			||||||
			spa_pod_builder_add(b,
 | 
								spa_pod_builder_add(b,
 | 
				
			||||||
					    SPA_POD_Id(info->params[i].id),
 | 
										    SPA_POD_Id(info->params[i].id),
 | 
				
			||||||
					    SPA_POD_Int(info->params[i].flags), NULL);
 | 
										    SPA_POD_Int(info->params[i].flags), NULL);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue