[alsa-devel] How to support software mixing on QUALCOMM 72XX without mmap?

Berg bergtian at gmail.com
Sat May 29 18:54:17 CEST 2010


Hello,guys.
    I'm porting ASLA1.0.23 to qualcomm 72xx base on ARM11.
    The first instance,"aplay test.wav", works now, but the second
instance should fail with "device busy" error message.
    I have tried plug dmix and dshare "aply -D plug:mycard
test.wav", but met a fail again for the soc chip doesn't support mmap.
Of course,pcm_mycard is defined in /etc/asound.conf.
    In my pc ,both above cmds work well .

    Though,the document shows that:
       NOTE: For ALSA 1.0.9rc2 and higher you don't need to setup
dmix for analogue output. Dmix is enabled by default for soundcards
which don't support hardware mixing. You still need to set it up for
digital outputs.
    My questions are:
        1)Is  software mixing  implemented in ALSA Driver,or in ALSA LIB?
        2)What could I do to make the software mixing work? Is there
any special configure which need to adjust?

    And when testing on pc whth HD audio, I noticed that
     A)when aplay instances runs WITHOUT dmix, the result of"cat
/etc/one_of_my_aplay_pid/maps" should like:
                    ...
                    b331d000-b731e000 rw-s 00000000 00:15 862346
/dev/shm/pulse-shm-2882420837
                    ...
    B)when aplay instances runs  WITH dmix,the result is:
                 ...
                 b7511000-b7519000 rw-s 00000000 00:0f 4560
/dev/snd/pcmC0D0p
                 b7519000-b751a000 rw-s 81000000 00:0f 4560
/dev/snd/pcmC0D0p
                 b751a000-b751b000 r--s 80000000 00:0f 4560
/dev/snd/pcmC0D0p
                 ...
    So,the third question:
        3) From A) and B),can I make a result that the mmap feacture
is not necessary for the buildin software mixing ?

    Expect your help,please

   berg


More information about the Alsa-devel mailing list