mirror of
				https://github.com/alsa-project/alsa-lib.git
				synced 2025-11-03 09:01:52 -05:00 
			
		
		
		
	Added PCM naming section
This commit is contained in:
		
							parent
							
								
									2cc79806a2
								
							
						
					
					
						commit
						1743161cef
					
				
					 1 changed files with 110 additions and 0 deletions
				
			
		
							
								
								
									
										110
									
								
								src/pcm/pcm.c
									
										
									
									
									
								
							
							
						
						
									
										110
									
								
								src/pcm/pcm.c
									
										
									
									
									
								
							| 
						 | 
					@ -451,6 +451,116 @@ for hardware synchronizated streams. When the \link ::snd_pcm_link \endlink
 | 
				
			||||||
function is called, all operations managing the stream state for these two
 | 
					function is called, all operations managing the stream state for these two
 | 
				
			||||||
streams are joined. The oposite function is \link ::snd_pcm_unlink \endlink.
 | 
					streams are joined. The oposite function is \link ::snd_pcm_unlink \endlink.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\section pcm_dev_names PCM naming conventions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The ALSA library uses a generic string representation for names of devices.
 | 
				
			||||||
 | 
					The devices might be virtual, physical or a mix of both. The generic string
 | 
				
			||||||
 | 
					is passed to \link ::snd_pcm_open() \endlink or \link ::snd_pcm_open_lconf() \endlink.
 | 
				
			||||||
 | 
					It contains two parts: device name and arguments. Devices and arguments are described
 | 
				
			||||||
 | 
					in configuration files. The usual place for default definitions is at /usr/share/alsa/alsa.conf.
 | 
				
			||||||
 | 
					For detailed descriptions about integrated PCM plugins look to \ref pcm_plugins.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\subsection pcm_dev_names_default Default device
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The default device is equal to plug plugin with hw plugin as slave. The defaults are
 | 
				
			||||||
 | 
					used:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					defaults.pcm.card 0
 | 
				
			||||||
 | 
					defaults.pcm.device 0
 | 
				
			||||||
 | 
					defaults.pcm.subdevice -1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					These defaults can be freely overwritten in local configuration files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\code
 | 
				
			||||||
 | 
					default
 | 
				
			||||||
 | 
					\endcode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\subsection pcm_dev_names_hw HW device
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The hw device description uses the hw plugin. The three arguments (in order: CARD,DEV,SUBDEV)
 | 
				
			||||||
 | 
					specify card number or identifier, device number and subdevice number (-1 means any).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\code
 | 
				
			||||||
 | 
					hw
 | 
				
			||||||
 | 
					hw:0
 | 
				
			||||||
 | 
					hw:0,0
 | 
				
			||||||
 | 
					hw:supersonic,1
 | 
				
			||||||
 | 
					hw:soundwave,1,2
 | 
				
			||||||
 | 
					hw:DEV=1,CARD=soundwave,SUBDEV=2
 | 
				
			||||||
 | 
					\endcode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\subsection pcm_dev_names_plughw Plug->HW device
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The plughw device description uses the plug plugin and hw plugin as slave. The arguments
 | 
				
			||||||
 | 
					are same as for hw device.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\code
 | 
				
			||||||
 | 
					plughw
 | 
				
			||||||
 | 
					plughw:0
 | 
				
			||||||
 | 
					plughw:0,0
 | 
				
			||||||
 | 
					plughw:supersonic,1
 | 
				
			||||||
 | 
					plughw:soundwave,1,2
 | 
				
			||||||
 | 
					plughw:DEV=1,CARD=soundwave,SUBDEV=2
 | 
				
			||||||
 | 
					\endcode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\subsection pcm_dev_names_plug Plug device
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The plug device uses the plug plugin. The one SLAVE argument specifies the slave plugin.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\code
 | 
				
			||||||
 | 
					plug:mypcmdef
 | 
				
			||||||
 | 
					plug:hw
 | 
				
			||||||
 | 
					plug:'hw:0,0'
 | 
				
			||||||
 | 
					plug:SLAVE=hw
 | 
				
			||||||
 | 
					\endcode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\subsection pcm_dev_names_shm Shared memory device
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The shm device uses the shm plugin. The two arguments (in order: SOCKET,PCM) specify
 | 
				
			||||||
 | 
					unix socket name (for example /tmp/alsa.socket) for server communication and server's PCM name.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\code
 | 
				
			||||||
 | 
					shm:'/tmp/alsa.sock',default
 | 
				
			||||||
 | 
					shm:SOCKET='/tmp/alsa.sock',PCM=default
 | 
				
			||||||
 | 
					\endcode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\subsection pcm_dev_names_tee Tee device
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The tee device stores contents of a stream to given file plus transfers it to given slave plugin.
 | 
				
			||||||
 | 
					The three arguments (in order: SLAVE,FILE,FORMAT) specify slave plugin, filename and file format.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\code
 | 
				
			||||||
 | 
					tee:hw,'/tmp/out.raw',raw
 | 
				
			||||||
 | 
					\endcode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\subsection pcm_dev_names_file File device
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The file device is file plugin with null plugin as slave. The arguments (in order: FILE,FORMAT)
 | 
				
			||||||
 | 
					specify filename and file format.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\code
 | 
				
			||||||
 | 
					file:'/tmp/out.raw',raw
 | 
				
			||||||
 | 
					\endcode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\subsection pcm_dev_names_null Null device
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The null device is null plugin. This device has not any arguments.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section pcm_examples Examples
 | 
					\section pcm_examples Examples
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The full featured examples with cross-links:
 | 
					The full featured examples with cross-links:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue