I found the module-echo-cancel's "Echo-Cancel Source Stream" can be created on 
a monitor source of an new created ALSA sink by mistake, if the real ALSA 
source is not created yet.
Could anyone tell me how to fix this issue?

On my MeeGo platform, the ALSA sink/source don't always exist because the ALSA 
and Bluetooth HSP headset share one hardware data link. So when BT HSP headset 
is connected, ALSA card will change into a "hsp" profile , remove the "normal" 
ALSA sink/source pair and create a "hsp" sink/source pair for BT. And after BT 
HSP headset is disconnected, ALSA card restores its original profile, remove 
"hsp" sink/source and create "normal" ALSA sink/source again.

My problem is that when BT HSP is disconnected during a phone call, I got the 
above routing error and a pa deadlock described in another loop: 
http://lists.freedesktop.org/archives/pulseaudio-discuss/2011-July/010741.html
The module-echo-cancel is loaded again when the VOIP stream is routing back to 
the new created ALSA sink. But because the ALSA source is not created yet (will 
be later), PA routes the "Echo-Cancel Source Stream" to the monitor source of 
the ALSA sink.

How to make "Echo-Cancel Source Stream" link to the right ALSA source, which 
will be created a little later?

Here is the log:
I  source.c: Created source 8 
"alsa_output.platform-pmic_audio.19.intelmadihfheadset.echo-cancel.monitor" 
with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I  source.c:     device.description = "Monitor of Echo-Cancel Sink 
alsa_output.platform-pmic_audio.19.intelmadihfheadset.echo-cancel on Intel MAD 
intelmadihfheadset"
I  source.c:     device.class = "monitor"
I  source.c:     device.icon_name = "audio-input-microphone"
D  classify.c: find_group_for_client (|<null>|0|-1|) => othermedia
D  module-suspend-on-idle.c: Sink 
alsa_output.platform-pmic_audio.19.intelmadihfheadset becomes busy.
D  memblockq.c: memblockq requested: maxlength=33554432, tlength=0, base=4, 
prebuf=0, minreq=1 maxrewind=0
D  memblockq.c: memblockq sanitized: maxlength=33554432, tlength=33554432, 
base=4, prebuf=0, minreq=4 maxrewind=0
I  source-output.c: Created output 2 "Echo-Cancel Source Stream" on 
alsa_output.platform-pmic_audio.19.intelmadihfheadset.monitor with sample spec 
s16le 2ch 44100Hz and channel map front-left,front-right
I  source-output.c:     media.name = "Echo-Cancel Source Stream"
I  source-output.c:     media.role = "filter"
E  module-echo-cancel.c: new source output <Echo-Cancel Source Stream> on 
source <alsa_output.platform-pmic_audio.19.intelmadihfheadset.monitor>

Thanks
Amanda
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to