
                 C-Media 8338/8738 driver for QNX 6.2

     Данный драйвер предназначен  для  8338  и  8738  звуковых  чипов от
C-Media Electronics Inc. Драйвер  написан  с  использованием  нескольких
источников: драйвера  ALSA 0.5.12a  -  основной  источник (к  сожалению,
данная ветка больше не  поддерживается  разработчиками), ALSA 0.9.0rc3 -
основной  источник  дополнительной  информации  о  драйвере, официальный
драйвер от C-Media под Linux 5.68, драйвер СMI под  FreeBSD версии 1.16.
Данный драйвер выпущен под лицензией GNU (GNU General Public license).
     Драйвер под QNX RealTime Platform распознает чипы от C-Media по PCI
ID, код производителя C-Media 0x13F6. Поддерживаются следующие модели:

     - 0x0100 CM8338A CMI8338/C3DX PCI Audio Device
     - 0x0101 CM8338B CMI8338/C3DX PCI Audio Device
     - 0x0111 CM8738A CMI8738/C3DX PCI Audio Device
     - 0x0112 CM8738B CMI8738/C3DX PCI Audio Device

     Внутренняя модель чипа  может быть 33, 37, 39, 55. В зависимости от
этих данных драйвер может  себя  вести  по-разному. Модели  чипов 39, 55
поддерживают  мультиканальность  на  4  или  6   каналов.  Информация  о
найденном чипе отображается в виде строки в имени устройства, к примеру:
CMI8738(37)  или  CMI8738(39)-MC4.  Последняя  запись (с  MC  суффиксом)
говорит о том, что этот чип поддерживает мультиканальность.
     Независимо от  типа  чипа,  драйвер  поддерживает  два  независимых
канала, которые могут быть  использованы как DAC1/DAC2, DAC1/ADC1. Таким
образом, чип поддерживает дуплекс, что  позволяет  проигрывать  сэмплы и
одновременно вести запись с нескольких источников, либо использовать оба
канала для проигрывания сэмплов, причем вывод DAC2 будет идти  на задние
колонки. Все описываемые  модели  чипов  имеют  еще  одну  особенность -
частота дискретизации может быть  только  фиксированной, а именно  5512,
8000,  11025,  16000,  22050,  32000, 44100 и 48000 Гц. Если  приложение
попытается использовать  нестандартную  частоту, то  будет  использована
ближайшая к ней стандартная величина.
     Чипы с поддержкой мультиканальности  используют  первый  аппаратный
канал для воспроизведения нескольких каналов одновременно. Их может быть
4 или 6 в зависимости от модификации чипа. С ними тоже связана еще  одна
особенность - все характеристики звуковых потоков должны быть одинаковы,
т.е. частота дискретизации, битность.
     Драйвер полностью поддерживает захват  аудио  потока  из  следующих
источников: PCM, CD, LINE, AUX, SYNTH, MIC. При использовании  микрофона
в меню Advanced Settings можно включить возможность усиления сигнала Mic
Gain Boost, а в  окне  миксера (в  секции  capture)  можно  использовать
ползунок, управляющий степенью усиления сигнала (8 позиций).
     Реализована  поддержка   выхода   S/PDIF,  чтобы  ее  использовать,
необходимо настроить ваши программы на использование третьего  виртуаль-
ного pcm канала, который предоставляет драйвер.
     На данный момент драйвер предоставляет пять виртуальных pcm каналов
на выход и один на вход, каждый имеет свое специфическое предназначение:

     1 - Используется для воспроизведения первый DAC (DAC1).
     2 - Используется для воспроизведения второй DAC (DAC2).
     3 - Используется для воспроизведения первый DAC (DAC1) плюс включа-
         ется выход  S/PDIF, этот  канал  совмещен с первым, т.е. в один
         момент времени может использоваться только один из них.
     4 - Используется для воспроизведения первый DAC (DAC1), данный  ка-
         нал совмещен с первым, но его можно  открывать  много раз. Этот
         канал использует программный миксер QSA для  вывода  нескольких
         звуковых потоков от разных приложений в один  физический  канал
         (первый).
     5 - Используется  для  воспроизведения  второй  DAC  (DAC2), данный
         канал совмещен со вторым, но его  можно  открывать  много  раз.
         Этот канал использует программный  миксер QSA для  вывода  нес-
         кольких звуковых потоков от разных приложений в один физический
         канал (второй).
     6 - Используется для захвата  аудио  второй  ADC (ADC2  совмещен  с
         DAC2). При использвании данного  канала  остальные  каналы, ис-
         пользующие DAC2, блокируются.

     Касательно дополнительных опций в драйвере (доступ к ним можно  по-
лучить, запустив миксер и выбрав в меню Advanced settings) - вот  инфор-
мация о проверенных опциях:

     - 3D Surround - искуственное расширение  стереобазы,  проверено  на
       CMI8338A(33). У меня не работает совсем, либо я глухой  или  одно
       из двух :-) (чип CMI8738(37) и and CMI8738(55)).
     - Line-In As Rear - вход звуковой платы Line-In  начинает  работать
       как выход для второго аппаратного канала DAC2 (Выход Rear).
     - Analog Four Channel - Выход Rear звуковой платы может быть слышен
       только, если данная опция задействована. В противном случае аппа-
       ратный миксер не будет маршрутизировать звук на выход Rear.
     - Exchange DAC - выходы Front и Rear меняются местами,  т.о.  можно
       прослушивать оба канала (по очереди), имея всего лишь одни колон-
       ки или наушники.
     - S/PDIF Monitor (to analog out) - сигнал с S/PDIF  входа  подается
       напрямую в DAC.
     - S/PDIF Loop (to digital out) - сигнал  с  S/PDIF  входа  подается
       напрямую в S/PDIF выход (bypass).
     - S/PDIF 5V (0.5V or 5V) - Выбор между 0.5-ти вольтовым (коаксиаль-
       ным) и  5-ти  вольтовым  (оптическим)  интерфейсом. На  некоторых
       платах эта опция не работает, в них необходимо  переключить  dip-
       свитчер для смены типа интерфейса.

     Некоторые описания опций были взяты из документа cmpci.txt (из ALSA
source distribution). Автор документа Takashi Iwai.

(C) 2002 Mike Gorchak
