NAME | DESCRIPTION | APPLICATION PROGRAM INTERFACE | ERRORS | FILES | ATTRIBUTES | SEE ALSO
The audiocs devices uses the Crystal Semiconductor 4231 Codec to implement the audio device interface.
This interface is described in the mixer(7I) and audio(7I) man pages.
Applications that open /dev/audio may use the AUDIO_GETDEV ioctl 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 will contain a letter, defined below and the config field will contain the string onboard1.
Platform Type | Version | Line | Head- | Int. | Line | Mic | CD-ROM |
Out | phone | Spkr | In | ||||
SS-4/5 | a | Y | Y | Y | Y | Y | Y |
Ultra-1/2 | b | Y | Y | Y | Y | Y | N |
Reserved | c | Y | Y | Y | Y | Y | N |
PowerPC | d | Y | Y | Y | Y | Y | Y |
Reserved | e | Y | Y | Y | N | Y | Y |
Ultra-450 | f | Y | Y | Y | Y | Y | N |
Ultra-30/60 | g | Y | Y | Y | Y | Y | N |
Ultra-5/10 | h | Y | Y | Y | Y | Y | Y |
The audiocs device provides support for line out, headphone, internal speaker, line in, microphone, and on some platforms, internal CDROM audio in. The AUDIO_GETINFO ioctl should be used to get the play.avail_ports and record.avail_ports fields to see which ports are available. The play.mod_ports and record.mod_ports fields will show which ports may be manipulated.
The configuration file /usr/kernel/drv/audiocs.conf or /usr/kernel/drv/sparcv9/audiocs.conf is used to configure the audiocs driver so that the audio mixer is enable or disabled. See the mixer(7I) manual page for details. The audio mixer's mode may be changed at any time using the mixerctl command.
The audiocs device supports the audio formats listed in the following table. When the audio mixer is in compatibility mode and the device is open for simultaneous play and record, the input and output data formats must match. Some sample rates are supported in compatibility mode that aren't supported in mixer mode. This is due to the computational overhead for sample rate conversion being too high.
Supported Audio Data Formats | ||||
Sample Rate | Encoding | Precision | Channels | Mode |
5510 Hz | mu-Law or A-Law | 8 | 1 or 2 | C only |
6620 Hz | mu-Law or A-Law | 8 | 1 or 2 | C only |
8000 Hz | mu-Law or A-Law | 8 | 1 or 2 | M and C |
9600 Hz | mu-Law or A-Law | 8 | 1 or 2 | M and C |
11025 Hz | mu-Law or A-Law | 8 | 1 or 2 | M and C |
16000 Hz | mu-Law or A-Law | 8 | 1 or 2 | M and C |
18900 Hz | mu-Law or A-Law | 8 | 1 or 2 | M and C |
22050 Hz | mu-Law or A-Law | 8 | 1 or 2 | M and C |
27420 Hz | mu-Law or A-Law | 8 | 1 or 2 | C only |
32000 Hz | mu-Law or A-Law | 8 | 1 or 2 | M and C |
33075 Hz | mu-Law or A-Law | 8 | 1 or 2 | M and C |
37800 Hz | mu-Law or A-Law | 8 | 1 or 2 | M and C |
44100 Hz | mu-Law or A-Law | 8 | 1 or 2 | M and C |
48000 Hz | mu-Law or A-Law | 8 | 1 or 2 | M and C |
5510 Hz | linear | 16 | 1 or 2 | C only |
6620 Hz | linear | 16 | 1 or 2 | C only |
8000 Hz | linear | 16 | 1 or 2 | M and C |
9600 Hz | linear | 16 | 1 or 2 | M and C |
11025 Hz | linear | 16 | 1 or 2 | M and C |
16000 Hz | linear | 16 | 1 or 2 | M and C |
18900 Hz | linear | 16 | 1 or 2 | M and C |
22050 Hz | linear | 16 | 1 or 2 | M and C |
27420 Hz | linear | 16 | 1 or 2 | C only |
32000 Hz | linear | 16 | 1 or 2 | M and C |
33075 Hz | linear | 16 | 1 or 2 | M and C |
37800 Hz | linear | 16 | 1 or 2 | M and C |
44100 Hz | linear | 16 | 1 or 2 | M and C |
48000 Hz | linear | 16 | 1 or 2 | M and C |
Since the audiocs device manipulates buffers of audio data, 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 it is transferring. Programs should, in general, not rely on 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 happen. For playing audio this determines how often and how much audio is requested from the audio mixer. The impact on recording is minimal, however, if a very small read buffer size is set then the interrupt rate should be increased. The play and record interrupt rates are tuneable in the audiocs.conf file.
As described in audio(7I), it is possible to request asynchronous notification of changes in the state of an audio device.
audiocs errors are defined in the audio(7I), man pages.
Symlink to the system's primary audio device, not necessarily an audiocs audio device.
Control device for the above audio device.
Represents the first audio device on the system and is not necessarily an audiocs audio device.
Audio control for above device.
Audio demonstration programs and other files.
audiocs driver.
audiocs driver configuration file.
audiocs driver, 64-bit.
audiocs driver configuration file.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Architecture | SPARC, PowerPC on Solaris 2.5.1 only |
Availability | SUNWaudd, SUNWauddx |
Stability Level | Evolving |
mixerctl(1), ioctl(2), attributes(5), audio(7I), mixer(7I), streamio(7I)
Crystal Semiconductor, Inc., data sheet for the CS4231
NAME | DESCRIPTION | APPLICATION PROGRAM INTERFACE | ERRORS | FILES | ATTRIBUTES | SEE ALSO