Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

oss_audioloop(7) [debian man page]

oss_audioloop(7)						    OSS Devices 						  oss_audioloop(7)

NAME
oss_audioloop - Loopback audio driver. DESCRIPTION
The loopback audio driver makes it possible to create special purpose virtual audio devices based on user land server processes. Loopback devices are driven by a timer interrupt and no real audio hardware is required. INTRODUCTION Audio loopback devices are like named pipes or pseudo terminals. They are grouped in client and server device pairs. The server side device must be open before the client side device can be opened. Loopback devices are typically used to implement server based special purpose audio devices. This kind of server can for example transfer the audio data played by the client application to some remote system using some VoIP protocol. However the server application doesn't need to be any dedicated server. Practically any audio application can be used as the server. SERVER SIDE DEVICE The server side applications sets up the native sampling rate and sample format (number of bits and channels). The server side device can be opened for input (O_RDONLY) pr output (O_WRONLY). Opening for simultaneous input and output (O_RDWR) is not permitted. The server application will automatically be paused at the moment it tries to read or write audio data for the first time. It will be kept in sleep until the client side application starts writing or reading data. This sleep period may last forever and in some cases the first write/read call never returns. For this reason it's not recommended to use GUI based audio applications as the server. Note that this wait will occur even in the non-blocking (O_NONBLOCK) mode (this is intentional feature and not a bug). CLIENT SIDE DEVICE The client side device is typically used by any ordinary audio application. There is nothing special in loopback devices. Since the loop is unidirectional the client side will be forced to be write only if the server side device is open for recording and vice versa. The loop will use the sample rate and sample format (number of bits and channels) set by the server side application. If the client uses different settings then OSS will perform the required sampling rate and format conversions automatically. COMPATIBILITY ISSUES
Audio loopback devices differ from "normal" audio devices because an application is needed at the both ends of the loop. The loop device will return a "Connection reset by peer" error (ECONNRESET) error. Applications designed to be used as loopback based server applications can/should use this error (returned by read or write) as an end-of-stream indication. OPTIONS
o audioloop_instances: Specifies how many loopback client/server audio device pairs to be created. Values: 1-16 Default: 1 KNOWN PROBLEMS
o There is no mixer (volume control) related with loopback audio devices. This may prevent poorly designed audio applications (that expect/require a mixer) from working. There is no workaround available. o The server side application will wait until the client side application starts using it. This wait may last forever which in turn may cause unrecoverable (network) problems with some applications. o Loopback devices may return "Connection reset by peer" error when the reote side of the loop disconnects the device. Some recording applications may fail to save the recorded data properly because of this. Use some other application (such as ossrecord) if this hap- pens. FILES
/etc/oss4/conf/oss_audioloop.conf Device configuration file AUTHOR
4Front Technologies 16 December 2012 oss_audioloop(7)

Check Out this Related Man Page

mixerctl(1)							   User Commands						       mixerctl(1)

NAME
mixerctl - audio mixer control command line application SYNOPSIS
/usr/sbin/mixerctl [-a | -d dev] [-iv] [-e | -o] DESCRIPTION
Some audio devices support the audio mixer functionality. See mixer(7I) for a complete description of the audio mixer. The mixerctl command is used to control the mode of the audio mixer and to get information about the audio mixer and the audio device. See audio(7I) for details. OPTIONS
The following options are supported. If none are specified, option -i is assumed: -a The command applies to all audio devices. -d dev The dev argument specifies an alternate audio control device for the command to use. -e Enables the audio mixer function if the audio device supports it. If supported, the audio mixer may be enabled at any time. The command silently ignores the enable option if the audio mixer is already enabled. -i Prints the audio device type information for the device and indicates whether the audio device uses the audio mixer. If the device does use the audio mixer, this option displays the audio mixer's mode. -o Turns off the audio mixer function if the audio device supports it. If supported, the audio mixer may be turned off if only one process has the device opened with the O_RDWR flag, or, if two different processes have the device opened, one with the O_RDONLY flag and the other with the O_WRONLY flag. (See open(2).) The command silently ignores the disable option if the audio mixer function is already disabled. -v Verbose mode. Prints the audio_info_t structure for the device, along with the device type information. This option implies the -i option. ENVIRONMENT VARIABLES
AUDIODEV If the -d and -a options are not specified, the AUDIODEV environment variable is consulted. If set, AUDIODEV will contain the full path name of the user's default audio device. The default audio device will be converted into a control device, and then used. If the AUDIODEV variable is not set, /dev/audioctl is used. FILES
/dev/audioctl /dev/sound/{0...n}ctl ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Architecture |SPARC, x86 | +-----------------------------+-----------------------------+ |Availability |SUNWauda | +-----------------------------+-----------------------------+ |Stability Level |Evolving | +-----------------------------+-----------------------------+ SEE ALSO
audioconvert(1), audioplay(1), audiorecord(1), open(2), attributes(5), usb_ac(7D), audio(7I), audio_support(7I), mixer(7I) SunOS 5.10 12 Mar 2001 mixerctl(1)
Man Page