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