Re: [alsa-devel] ALSA DMIX support without MMAP ?
Actually i am working on soc platform(android-S3C6410) and wanted to use DMIX and some good resampler for my software mixing instead of current software mixing and resampling in upper layer(Above alsa-lib).DMIX is working fine but this resampling is causing some jitter.During rate conversion it looks for libasound_module_rate_speexrate.so which i don't have so its using default one causing the jitter.
Have you considered using PulseAudio for this?
Mark thanks for the suggestion and i checked out PulseAudio for my requirements.I found out that i don't need all the things in PulseAudio a. I just need good resampling code.Can i just use just the resampler code of pulseaudio(mine is mobile enviroment)? b. Just want a good mixer at ALSA-LIB level.As of now this is provided by android framework but i want this to be done by ALSA-LIB so that i can replace with some good mixer later on(if i find that some other mixer is good).DMIX is providing that but it's not that good. c.Jaroslav suggested to use sox resamplers but for that to work i have to get the sox resampler code(proper license) and need to build it for my system and link it with corresponding functions of ALSA-LIB so that they can call relevant functions for resampling.As i am working on mobile domain i think i need to do the integration of sox resampler code with ALSA-LIB for that to work?? or Can i just use the integrated sox library(some .so i guess) and change the asound.conf for using that library??Will this work?? d. I saw some check-ins related to Scenario Manager.As of now scenario manager functionality is also given in Android(we open a differnet device and the corresponding hooks for changing the routes dynamically) but i think if it given in alsa-lib switching will be much faster and this will increase the system performance.
On Mon, Jan 18, 2010 at 03:25:31AM +0000, ANISH KUMAR wrote:
[Reflowed into 80 columns for legibility.]
Mark thanks for the suggestion and i checked out PulseAudio for my requirements.I found out that i don't need all the things in PulseAudio a. I just need good resampling code.Can i just use just the resampler code of pulseaudio(mine is mobile enviroment)? b. Just want a good mixer at ALSA-LIB level.As of now this is provided by android framework but i want this to be done by ALSA-LIB so that i can replace with some good mixer later on(if i find that some other mixer is good).DMIX is providing that but it's not that good.
The mixing (and therefore resampling) are the core functionality of PulseAudio which is why it seems like a good fit for your application.
c.Jaroslav suggested to use sox resamplers but for that to work i have to get the sox resampler code(proper license) and need to build it for my system and link it with corresponding functions of ALSA-LIB so that they can call relevant functions for resampling.As i am working on mobile domain i think i need to do the d. I saw some check-ins related to Scenario Manager.As of now scenario manager functionality is also given in Android(we open a differnet device and the corresponding hooks for changing the routes dynamically) but i think if it given in alsa-lib switching will be much faster and this will increase the system performance.
The application layer code isn't going to make a meaningful difference to the performance of scenario switching unless it's woefully inefficient, the major constraint is almost always the fact that the CODEC has a relatively slow control bus so the register changes to implement the change dominate the time.
participants (2)
-
ANISH KUMAR
-
Mark Brown