mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	source-output: Get the correct source for "direct_on_input" streams
If a capture stream captures from a single sink input (so the capture stream is a so called "direct on input" stream), then it needs to connect to the monitor source of the sink to which the sink input is connected. Previously the correct source was not figured out automatically, causing the capture stream creation to fail.
This commit is contained in:
		
							parent
							
								
									df0a9e12d8
								
							
						
					
					
						commit
						8cca3b3c10
					
				
					 1 changed files with 10 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -255,8 +255,16 @@ int pa_source_output_new(
 | 
			
		|||
    pa_return_val_if_fail(!data->driver || pa_utf8_valid(data->driver), -PA_ERR_INVALID);
 | 
			
		||||
 | 
			
		||||
    if (!data->source) {
 | 
			
		||||
        pa_source *source = pa_namereg_get(core, NULL, PA_NAMEREG_SOURCE);
 | 
			
		||||
        pa_return_val_if_fail(source, -PA_ERR_NOENTITY);
 | 
			
		||||
        pa_source *source;
 | 
			
		||||
 | 
			
		||||
        if (data->direct_on_input) {
 | 
			
		||||
            source = data->direct_on_input->sink->monitor_source;
 | 
			
		||||
            pa_return_val_if_fail(source, -PA_ERR_INVALID);
 | 
			
		||||
        } else {
 | 
			
		||||
            source = pa_namereg_get(core, NULL, PA_NAMEREG_SOURCE);
 | 
			
		||||
            pa_return_val_if_fail(source, -PA_ERR_NOENTITY);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        pa_source_output_new_data_set_source(data, source, false);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue