mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-10-29 05:40:27 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			42 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| /** \page page_session_manager PipeWire Session Manager
 | |
| 
 | |
| The \ref page_daemon is primarily a framework that allows devices and
 | |
| applications to exchange data.
 | |
| 
 | |
| It provides the mechanism to do so but the policy deciding which components
 | |
| can talk to each other and when is controlled by the session manager.  As
 | |
| outlined in \ref page_objects_design, PipeWire provides a media graph
 | |
| consistent of Devices, Nodes and Ports. The session manager is the one that
 | |
| decides on the links between those elements.
 | |
| 
 | |
| Two prominent session managers currently exist:
 | |
| - \ref page_media_session - the reference session manager provided by PipeWire
 | |
| - [WirePlumber](https://gitlab.freedesktop.org/pipewire/wireplumber), a
 | |
| modular session manager based on GObject
 | |
| 
 | |
| This page describes some of the requirements for session managers in general.
 | |
| 
 | |
| ## Client management
 | |
| 
 | |
| PipeWire provides a \ref page_access "permission system" to limit client's
 | |
| acccess to resources but only \ref page_module_access "basic permission
 | |
| handling". The session manager is expected to decide whether clients may
 | |
| access specific resources.
 | |
| 
 | |
| ## Device management
 | |
| 
 | |
| PipeWire's responsibility is to open devices, however the decision on which
 | |
| devices should be opened is the job of a session manager, including the
 | |
| configuration of those devices.
 | |
| 
 | |
| 
 | |
| ## Endpoint grouping
 | |
| 
 | |
| An endpoint is, effectively, a group of Nodes that are a logical unit that can
 | |
| consume or produce media data. For example, a Bluetooth speaker may present as
 | |
| several Nodes but is only one logical unit to stream audio to.
 | |
| 
 | |
| See \ref page_objects_design for details on Endpoints.
 | |
| 
 | |
| */
 | |
| 
 | 
