mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-10-29 05:40:27 -04:00 
			
		
		
		
	modules: add more docs
This commit is contained in:
		
							parent
							
								
									4e3d5e2ac5
								
							
						
					
					
						commit
						73e7f61d8c
					
				
					 2 changed files with 60 additions and 7 deletions
				
			
		|  | @ -16,10 +16,63 @@ | |||
| #include "module-client-device/client-device.h" | ||||
| 
 | ||||
| /** \page page_module_client_device Client Device
 | ||||
|  * | ||||
|  * Allow clients to export devices to the PipeWire daemon. | ||||
|  * | ||||
|  * This module creates an export type for the \ref SPA_TYPE_INTERFACE_Device | ||||
|  * interface. | ||||
|  * | ||||
|  * With \ref pw_core_export(), objects of this type can be exported to the | ||||
|  * PipeWire server. All actions performed on the device locally will be visible | ||||
|  * to connecteced clients. | ||||
|  * | ||||
|  * In some cases, it is possible to use this factory directly. | ||||
|  * With \ref pw_core_create_object() on the `client-device` | ||||
|  * factory will result in a \ref SPA_TYPE_INTERFACE_Device proxy that can be | ||||
|  * used to control the server side created \ref pw_impl_device. | ||||
|  * | ||||
|  * Schematically, the client side \ref spa_device is wrapped in the ClientDevice | ||||
|  * proxy and unwrapped by the server side resource so that all actions on the client | ||||
|  * side device are reflected on the server side device and server side actions are | ||||
|  * reflected in the client. | ||||
|  * | ||||
|  *\code{.unparsed} | ||||
|  * | ||||
|  *   client side proxy                            server side resource | ||||
|  * .------------------------------.            .----------------------------------. | ||||
|  * | SPA_TYPE_INTERFACE_Device    |            |  PW_TYPE_INTERFACE_Device        | | ||||
|  * |                              |  IPC       |.--------------------------------.| | ||||
|  * |                              | ----->     || SPA_TYPE_INTERFACE_Device      || | ||||
|  * |                              |            |'--------------------------------'| | ||||
|  * '------------------------------'            '----------------------------------' | ||||
|  *\endcode | ||||
|  * | ||||
|  * ## Module Name | ||||
|  * | ||||
|  * `libpipewire-module-client-device` | ||||
|  * | ||||
|  * ## Module Options | ||||
|  * | ||||
|  * This module has no options. | ||||
|  * | ||||
|  * ## Properties for the create_object call | ||||
|  * | ||||
|  * All properties are passed directly to the \ref pw_context_create_device() call. | ||||
|  * | ||||
|  * ## Example configuration | ||||
|  * | ||||
|  * The module is usually added to the config file of the main PipeWire daemon and the | ||||
|  * clients. | ||||
|  * | ||||
|  *\code{.unparsed} | ||||
|  * context.modules = [ | ||||
|  * { name = libpipewire-module-client-device } | ||||
|  * ] | ||||
|  *\endcode | ||||
|  * | ||||
|  * ## See also | ||||
|  * | ||||
|  * - `module-spa-device-factory`: make nodes from a factory | ||||
|  */ | ||||
| 
 | ||||
| #define NAME "client-device" | ||||
|  |  | |||
|  | @ -21,21 +21,21 @@ | |||
|  * | ||||
|  * Allow clients to export processing nodes to the PipeWire daemon. | ||||
|  * | ||||
|  * This module creates 2 export types, one for the PW_TYPE_INTERFACE_Node and | ||||
|  * another for the SPA_TYPE_INTERFACE_Node interfaces. | ||||
|  * This module creates 2 export types, one for the \ref PW_TYPE_INTERFACE_Node and | ||||
|  * another for the \ref SPA_TYPE_INTERFACE_Node interfaces. | ||||
|  * | ||||
|  * With \ref pw_core_export(), objects of these types can be exported to the | ||||
|  * PipeWire server. All actions performed on the node locally will be visible | ||||
|  * to connecteced clients and scheduling of the Node will be performed. | ||||
|  * | ||||
|  * Objects of the PW_TYPE_INTERFACE_Node interface can be made with | ||||
|  * Objects of the \ref PW_TYPE_INTERFACE_Node interface can be made with | ||||
|  * \ref pw_context_create_node(), for example. You would manually need to create | ||||
|  * and add an object of the SPA_TYPE_INTERFACE_Node interface. Exporting a | ||||
|  * SPA_TYPE_INTERFACE_Node directly will first wrap it in a PW_TYPE_INTERFACE_Node | ||||
|  * interface. | ||||
|  * and add an object of the \ref SPA_TYPE_INTERFACE_Node interface. Exporting a | ||||
|  * \ref SPA_TYPE_INTERFACE_Node directly will first wrap it in a | ||||
|  * \ref PW_TYPE_INTERFACE_Node interface. | ||||
|  * | ||||
|  * Usually this module is not used directly but through the \ref pw_stream and | ||||
|  * \ref pw_filter APIs, which provides API to implement the SPA_TYPE_INTERFACE_Node | ||||
|  * \ref pw_filter APIs, which provides API to implement the \ref SPA_TYPE_INTERFACE_Node | ||||
|  * interface. | ||||
|  * | ||||
|  * In some cases, it is possible to use this factory directly (the PipeWire JACK | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Wim Taymans
						Wim Taymans