sound, SB, AC97 и другое

Drivers for sound cards
  • Намылил. Меня устроит и через 2, хотелось бы знать в принципе пошло ли, теперь весьма убежден почему было(расклад был выше). Код один универсальный под се и всех, это было первейшей целью, так что запускай где сможешь, сообщишь о багах и успехах на разных платформах - уже помошь. Спасибо!
  • Mario79
    ALC850 - 8-ми канальный АС97 кодек, так что должно работать.
    МСР04 есть в исходниках ALSA. Его devise id 0x003a. Вообще там для NForce указано шесть контроллеров СК8, СК804, СК8S, МСР04, МСР51 и разные NForce. Чем они отличаются я не знаю, поэтому включил только NForce.
  • VaStaNi
    Твой прогу протестил на 850.
    Все работает.

    Serge
    Попробовал доработать unisound.asm как ты говорил из PCIDEV взял значение 0059h, в результате при запуске проигрывателя система уходит в перезагрузку. Возможно у меня версия проигрывателя не самая новая. Где скачать самое свежее?
  • Mario79 спасибо за проверку. Для механизма опознания использую следующее:

    Code: Select all

    ; Vendor IDs
    VIA_VID                 =  0x1106
    INTEL_VID               =  0x8086
    SIS_VID                 =  0x1039
    NVIDIA_VID              =  0x10DE
    AMD_VID                 =  0x1022
    ATI_VID                 =  0x1002  

    Code: Select all

    ; базовые данные из
    ; ALSA driver for Intel ICH (i8x0) chips.  Jaroslav Kysela <perex@suse.cz>
    ; исключительно для чипетов INTEL совместимых Device IDs
    I440MX_DID                      =  0x7195
    ICH_DID                         =  0x2415
    ICH0_DID                        =  0x2425
    ICH2_DID                        =  0x2445
    ICH3_DID                        =  0x2485
    ICH4_DID                        =  0x24C5
    ICH5_DID                        =  0x24D5
    ICH6_DID                        =  0x266E
    ICH7_DID                        =  0x27DE
    ESB_DID                         =  0x25A6
    ESB2_DID                        =  0x2698
    
    NFORCE_DID                      =  0x01B1
    NFORCE2_DID                     =  0x006A
    NFORCE3_DID                     =  0x00DA
    
    ; VaStaNi - добавлено, на основании реального чипсета nVidia
    NFORCEx_DID                     =  0x026B     ; ASROCK K8NF4G
    
    MCP04_DID                       =  0x003A
    CK8_DID                         =  0x008A
    CK804_DID                       =  0x0059
    CK8S_DID                        =  0x00EA
    
    SIS7012_DID                     =  0x7012
    
    AMD768_DID                      =  0x7445
    AMD8111_DID                     =  0x764D
  • Mario79
    Последняя версия http://infinity-sound.narod.ru/060_rev_005.7z. Исходники на SVN в папке programs/media/ac97 mp3 Проблема скорее всего не в плеере а в драйвере. Код менялся много раз. Возможно у тебя были разные версии ядра и драйверов. Я добавлю все NV контроллеры и выложу на SVN
  • Mario79
    Добавил все контроллеры. Код на SVN.
  • Serge
    Я выхожу в сеть не из дома. Ты мог бы выложить это для скачивания отдельным дистрибутивом, так как прямого доступа к SVN не имею, а скачивать через сайт муторно (потом требуется дополнительная работа по восстановлению исходного вида файлов).
  • Serge
    Ничего не надо выкладывать, я сначала не понял что нужно, а теперь разобрался.
    Все работает. Большое тебе спасибо за работу!
    Пока тыркался, выяснил, что больше 12 mp3 или wav не запускать, так как звук начинает конкретно хрипеть.
    При запуске 16 плееров на A64-3000 загрузка процессора не более 22% (что говорит о хорошей оптимальности кода плеера, а размер в памяти менее 200 Кб - это вообще нет слов!), а DMA доступ к жесткому диску видимо немного разгрузил процер.
    Единственный минус, что mp3 файл нельзя перематывать (надеюсь пока) - это даже важней чем наличие плейлиста.
    Также неплохо было бы предварительно кешировать часть файла.
    В общем, удачи в дальнейшем программировании.
  • Хорошо что всё работает. Перемотку я сделаю, но это немного сложнее чем для wav - требуется найти начало фрейма.
    Ты неправильно посчитал расход памяти. На каждый плеер должно тратиться: 132 Кб - распакованный плеер, 180 Кб буфер драйвера, 96-128 Кб - буфер мр3 плеера (32 Кб для wav).
  • Serge
    Я смотрел в CPU, было это в обед и возможно я ошибся.
  • Mario79
    Не ошибся. CPU не показывает память выделяемую драйвером. И не учитывает динамчески создаваемый буфер, но эту часть можно исправить.
  • Serge
    Ты имеешь ввиду, что CPU не учитывает наличие функции 64? Тогда это не вина приложения. Получается баг ядра.
  • Mario79

    Я так понял,что Serge говорил про буфер выделяемый в ядре.
    А память в плеере выделяется через 68 функцию.
  • 68 функция не обновляет размер памяти приложения. Это моя ошибка. А драйвер выделяет память в ядре и про неё CPU просто ничего не знает.
  • Who is online

    Users browsing this forum: No registered users and 9 guests