ENVY(4)                   OpenBSD Programmer's Manual                  ENVY(4)

NAME
     envy - VIA Envy24 audio device

SYNOPSIS
     envy* at pci?
     audio* at envy?

DESCRIPTION
     The envy driver supports sound cards based on VIA Envy24 PCI chips, such
     as the M-Audio Delta-1010LT PCI card.  The Envy24 chip, formerly known as
     the ICE1712, is a versatile digital PCI chip that can be attached to up
     to 4x2 external analog converters and 1x2 S/PDIF transmitter/receivers.
     Currently only Asahi Kasei AK4524 codecs are supported.

   Mixer device
     The chip features a digital mixer that routes and mixes the streams below
     as follows:

     inputs    There are 10 streams corresponding to data received by the de-
               vice from the codecs.  They are labelled line0 - line9 in the
               mixer(4) interface.  Streams line0 to line7 correspond to ana-
               log inputs and line8 to line9 correspond to digital inputs.

     outputs   There are 10 streams corresponding to data sent by the device
               to the codecs.  They are labelled line0 - line9.  Streams line0
               to line7 correspond to analog outputs and line8 to line9 corre-
               spond to digital outputs.  Each of them can be individually
               configured to use any of the external inputs or its correspond-
               ing playback stream as source.  Additionally, outputs line0,
               line1, line8, and line9 can be configured to use mon0 or mon1
               as sources.

     monitor   There are 2 streams that can be configured to contain any lin-
               ear superposition of any of the 10 playback and 10 external in-
               put streams.  They are labelled mon0 and mon1.  From the mix-
               er's point of view they are input streams, so they can be used
               as sources of output streams.

     playback  There are 10 streams corresponding to samples transferred from
               the host to the device.  They are labelled play0 - play9.  From
               the mixer's point of view they are input streams, so they are
               usable as sources of output streams.

     record    There are 12 streams corresponding to samples transferred from
               the device to the host.  They are not controllable by the mix-
               er.  Streams 0 to 9 are hardwired to external inputs line0 -
               line9 and streams 10 and 11 are hardwired to mon0 and mon1.

   Playback and record data formats
     Both playback and record use linear encoding.  Samples are represented by
     32-bit signed numbers in little endian order.  Only the first 24 most
     significant bits are used.  Playback uses 10 channels and record uses 12
     channels.

SEE ALSO
     audio(4), intro(4), pci(4)

HISTORY
     The envy driver first appeared in OpenBSD 4.3.

BUGS
     MIDI and S/PDIF transmitter/receivers are not yet supported.

     The current audio(4) driver doesn't allow playback and record blocks to
     have the same duration, making the device hardly usable for block based
     I/O in full-duplex.  Playback and capture cannot be started atomically.
     Ring buffer sizes are limited to 64kB, which can be limiting at high sam-
     ple rates.

OpenBSD 4.4                    February 22, 2008                             2
