[alsa-devel] Help! Need to switch between normal speaker and BT headset dynamically

Colin Guthrie gmane at colin.guthr.ie
Tue Apr 6 16:30:21 CEST 2010


'Twas brillig, and ANISH KUMAR at 06/04/10 12:37 did gyre and gimble:
> As my question is related to the query what pradeep is asking and mark brown also suggested to me to use PA.
> I have some additional questions regarding PA which i would like to clarify before starting:
> 
> 1.Does PA have good resampler code if my hardware doesn't support resampling?

Yes. Infact this code will likely be needed in several cases when the
h/w does support resampling. If PA has multiple streams playing at once,
the h/w will likely only be able to cope with one rate at a time.

The resamplers are pluggable and can have optimized implementation for
some hardware - e.g. I believe Palm wrote an ARM specific resampler to
do this for their Pre platform (I could be mis-remembering tho').

> I have a system where we are using ALSA as the base and on top(application side) of it there is a thread running which 
> is pumping data and this thread is started by java code.Combination of LINUX+JAVA.
> This thread can perform these tasks:
> 1.Resampling for some rates.
> 2.Talking to PV framework to get the decoded PCM data and pumping audio data to alsa.
> 3.Routing support using asound.conf file.
> Can i replace this thread with PA by writing some wrapper over PA??
> What extra features PA is going to provide additionally if i start using PA other than what is listed above??As i know 
> PA is kind of sound deamon which my thread is not.

One very interesting feature of PA that is particularly relevant to
mobile platforms is the use of a timer-based model to drive the hard
ware. This allows for very large latencies to be used (e.g. 10-20s)
allowing for very efficient processor usage - only waking up when
absolutely necessary, not to service interrupts.

More info:
http://0pointer.de/blog/projects/pulse-glitch-free.html

This approach can bring power savings and thus increased battery life.

> Is there any good resampler code which i can use without any licensing problem  and which can be 
> easily integrated???

I pretty sure the included resamplers are OK to use, but it's all
clearly documented so just take a look.

Like I say it's easy enough to include your own too if needs be.

Col


-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
  Mandriva Linux Contributor [http://www.mandriva.com/]
  PulseAudio Hacker [http://www.pulseaudio.org/]
  Trac Hacker [http://trac.edgewall.org/]



More information about the Alsa-devel mailing list