mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	videoadapter: fix EnumPortConfig for adapter without converter
The videoadapter always exposes the EnumPortConfig parameter. If no
converter is loaded, the EnumPortConfig parameter doesn't return a
parameter.
In this case, the client-node in the PipeWire server returns -ENOENT for
the EnumPortConfig, which in turn causes WirePlumber to fail the object
activation and it won't be able to create a link for the object.
This happens since Commit b57375ba85 ("stream: enable videoadapter in
all cases"), since now the videoadapter is always added. Before that,
the EnumPortConfig parameter was just not exposed and linking worked.
Running another client that ignores the error codes for missing
parameters (e.g., pw-dump) hides the issue, as the EnumPortConfig result
is cached as successful with 0 parameters and accessing the cache
doesn't return an error code.
Return the same PortConfig for EnumPortConfig as for PortConfig to fix
this.
			
			
This commit is contained in:
		
							parent
							
								
									5765ac61ab
								
							
						
					
					
						commit
						0814bafef1
					
				
					 1 changed files with 0 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -187,7 +187,6 @@ next:
 | 
			
		|||
 | 
			
		||||
	switch (id) {
 | 
			
		||||
	case SPA_PARAM_EnumPortConfig:
 | 
			
		||||
		return convert_enum_port_config(this, seq, id, start, num, filter, &b.b);
 | 
			
		||||
	case SPA_PARAM_PortConfig:
 | 
			
		||||
		if (this->passthrough) {
 | 
			
		||||
			switch (result.index) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue