audiocs - Crystal Semiconductor 4231 Audio driver
The audiocs driver supports the Crystal Semiconductor 4231 Codec to implement the audio device interface.
This interface is described in the audio(7I) and mixer(7I) man pages.
Applications that open /dev/audio may use the AUDIO_GETDEV ioctl(2) to determine which audio device is being used. The audiocs driver will return the string SUNW,CS4231 in the name field of the audio_device structure. The version field contains a letter (defined in the table below) and the config field contains the string onboard1.
Platform | Ver. | Out | H. Phone | Speaker | In | Mic | CD |
SS-4/5 | a | Y | Y | Y | Y | Y | Y |
Ultra-2 | |||||||
Ultra-450 | |||||||
Ultra-30/60/80 | |||||||
Ultra-5/10 |
Key to the above table: Ver = Version. Out = Line Out. Speaker = Internal Speaker. In = Line In. Mic. = Microphone. CD = CD-ROM.
The audiocs device provides support for the internal speaker, headphone, line out, line in, microphone, and on some platforms, internal CD-ROM audio in. The play.avail_ports and record.avail_ports fields retrieved by the AUDIO_GETINFO ioctl (see audio(7I)) report which ports are available. The play.mod_ports and record.mod_ports fields indicate which ports may be manipulated.
The configuration file /kernel/drv/audiocs.conf is used to configure the audiocs driver so that the audio mixer is enabled or disabled. See the mixer(7I) manual page for details. The audio mixer's mode may be changed at any time using the mixerctl(1) or sdtaudiocontrol(1) applications.
The audiocs device supports 8-bit u-law and A-law, 8-bit and 16-bit linear encodings in mono and stereo. With the mixer enabled, a continuous range of sample rates from 5510 to 48000 Hz is supported. With the mixer disabled, the following sample rates are supported: 5510, 6620, 8000, 9600, 11025, 16000, 18900, 22050, 27420, 32000, 33075, 37800, 4410, and 48000 Hz. When the audio mixer is disabled and the device is open for simultaneous play and record, the input and output data formats must match.
At any given time the reported input and output sample counts will vary from the actual sample count by no more than the size of the buffers the audiocs driver is transferring. In general, programs should not rely on the absolute accuracy of the play.samples and record.samples fields of the audio_info structure.
The driver determines how often play and record interrupts should occur. For playing audio, this determines how often and how much audio is requested from the audio mixer. The impact of interrupts on recording is minimal. However, if a very small read buffer size is set, the record interrupt rate should be increased to prevent the buffer from overflowing. The play and record interrupt rates are tunable in the /kernel/drv/audiocs.conf file.
As described in the audio(7I) and mixer(7I) man pages, it is possible to request asynchronous notification of changes in the state of an audio device.
audiocs errors are described in the audio(7I) man pages.
/dev/audio
/dev/audioctl
/dev/sound/0
/dev/sound/0ctl
/usr/share/audio/samples
/kernel/drv/sparcv9/audiocs
/kernel/drv/audiocs.conf
See attributes(5) for descriptions of the following attributes:
|
mixerctl(1), sdtaudiocontrol(1), ioctl(2), attributes(5), audio(7I), mixer(7I), streamio(7I)
Crystal Semiconductor, Inc. CS4231 Data Sheet
http://www.sun.com/io
In addition to being logged, the following messages may appear on the system console:
attach () play interrupt rate set too low.
attach() play interrupt rate set too high.
attach() record interrupt rate set too low.
attach() record interrupt rate set too high
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |