mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	pulse-server: handle the case with record from monitor
Also handle the case where the client asks to record from the monitor source directly.
This commit is contained in:
		
							parent
							
								
									d55bc1eb86
								
							
						
					
					
						commit
						2193d03eab
					
				
					 1 changed files with 6 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -90,6 +90,8 @@ struct client {
 | 
			
		|||
};
 | 
			
		||||
 | 
			
		||||
struct device {
 | 
			
		||||
#define DEVICE_FLAG_MONITOR	(1<<0)
 | 
			
		||||
	uint32_t flags;
 | 
			
		||||
	uint32_t index;
 | 
			
		||||
	char *name;
 | 
			
		||||
	enum pw_direction direction;
 | 
			
		||||
| 
						 | 
				
			
			@ -1466,10 +1468,10 @@ static int do_create_record_stream(struct client *client, uint32_t command, uint
 | 
			
		|||
	} else {
 | 
			
		||||
		dev = &impl->default_source;
 | 
			
		||||
	}
 | 
			
		||||
	if (dev->direction == PW_DIRECTION_INPUT) {
 | 
			
		||||
		pw_properties_set(props, PW_KEY_STREAM_CAPTURE_SINK, "true");
 | 
			
		||||
	if (dev->direction == PW_DIRECTION_INPUT)
 | 
			
		||||
		dev = dev->monitor;
 | 
			
		||||
	}
 | 
			
		||||
	if (SPA_FLAG_IS_SET(dev->flags, DEVICE_FLAG_MONITOR))
 | 
			
		||||
		pw_properties_set(props, PW_KEY_STREAM_CAPTURE_SINK, "true");
 | 
			
		||||
 | 
			
		||||
	if (client->version >= 12) {
 | 
			
		||||
		if ((res = message_get(m,
 | 
			
		||||
| 
						 | 
				
			
			@ -3156,6 +3158,7 @@ struct pw_protocol_pulse *pw_protocol_pulse_new(struct pw_context *context,
 | 
			
		|||
		.monitor = &impl->default_monitor,
 | 
			
		||||
	};
 | 
			
		||||
	impl->default_monitor = (struct device) {
 | 
			
		||||
		.flags = DEVICE_FLAG_MONITOR,
 | 
			
		||||
		.index = 2,
 | 
			
		||||
		.name = "output.pipewire.monitor",
 | 
			
		||||
		.direction = PW_DIRECTION_OUTPUT,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue