Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
Devicesaudiocs(7D)


NAME

 audiocs - Crystal Semiconductor 4231 Audio driver

DESCRIPTION

 

The audiocs driver supports the Crystal Semiconductor 4231 Codec to implement the audio device interface.

APPLICATION PROGRAM INTERFACE

 

This interface is described in the audio(7I) and mixer(7I) man pages.

Driver Versions

 

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.

PlatformVer. OutH. Phone SpeakerInMicCD
SS-4/5aYYYYYY
Ultra-1/2bYYYYYN
Ultra-450fYYYYYN
Ultra-30/60/80gYYYYYN
Ultra-5/10hYYYYYY

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.

Audio Mixer Mode

 

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.

Audio Data Formats

 

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 (C) that are not supported in mixer mode (M). This is due to the computational overhead for sample rate conversion being too high.

Supported Audio Data Formats
Sample RateEncodingPrecisionChannelsMode
5510 Hzµ-Law, A-Law81 or 2C only
6620 Hzµ-Law, A-Law81 or 2C only
8000 Hzµ-Law, A-Law81 or 2M and C
9600 Hzµ-Law, A-Law81 or 2M and C
11025 Hzµ-Law, A-Law81 or 2M and C
16000 Hzµ-Law, A-Law81 or 2M and C
18900 Hzµ-Law, A-Law81 or 2M and C
22050 Hzµ-Law, A-Law81 or 2M and C
27420 Hzµ-Law, A-Law81 or 2C only
32000 Hzµ-Law, A-Law81 or 2M and C
33075 Hzµ-Law, A-Law81 or 2M and C
37800 Hzµ-Law, A-Law81 or 2M and C
44100 Hzµ-Law, A-Law81 or 2M and C
48000 Hzµ-Law, A-Law81 or 2M and C
5510 Hzlinear8, 161 or 2C only
6620 Hzlinear8, 161 or 2C only
8000 Hzlinear8, 161 or 2M and C
9600 Hzlinear8, 161 or 2M and C
11025 Hzlinear8, 161 or 2M and C
16000 Hzlinear8, 161 or 2M and C
18900 Hzlinear8, 161 or 2M and C
22050 Hzlinear8, 161 or 2M and C
27420 Hzlinear8, 161 or 2C only
32000 Hzlinear8, 161 or 2M and C
33075 Hzlinear8, 161 or 2M and C
37800 Hzlinear8, 161 or 2M and C
44100 Hzlinear8, 161 or 2M and C
48000 Hzlinear8, 161 or 2M and C

Sample Granularity

 

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.

Interrupt Rate

 

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.

Audio Status Change Notification

 

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.

ERRORS

 

audiocs errors are described in the audio(7I) man pages.

FILES

 
/dev/audio
Symbolic link to the system's primary audio device. (not necessarily an audiocs audio device).
/dev/audioctl
Control device for the above audio device.
/dev/sound/0
Represents the first audio device on the system. (not necessarily an audiocs audio device).
/dev/sound/0ctl
Audio control for above device.
/usr/share/audio/samples
Audio sample files.
/kernel/drv/audiocs
32-bit audiocs driver
/kernel/drv/sparcv9/audiocs
64-bit audiocs driver.
/kernel/drv/audiocs.conf
Audiocs driver configuration file.

ATTRIBUTES

 

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
ArchitectureSPARC
AvailabilitySUNWaudd, SUNWauddx, SUNWauda
Stability levelEvolving

SEE ALSO

 

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

DIAGNOSTICS

 

In addition to being logged, the following messages may appear on the system console:

attach () play interrupt rate set too low.
The play interrupt rate specified in audiocs.conf is set too low. It is being reset to the rate specified in the message. Update audiocs.conf to a higher play interrupt rate.
attach() play interrupt rate set too high.
The play interrupt rate specified in audiocs.conf is set too high. It is being reset to the rate specified in the message. Update audiocs.conf to a lower play interrupt rate.
attach() record interrupt rate set too low.
The record interrupt rate specified in audiocs.conf is set too low. It is being reset to the rate specified in the message. Update audiocs.conf to a higher record interrupt rate.
attach() record interrupt rate set too high
The record interrupt rate specified in audiocs.conf is set too high. It is being reset to the rate specified in the message. Update audiocs.conf to a lower record interrupt rate.

SunOS 5.9Go To TopLast Changed 14 Dec 2001

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.