Hi Lin,<br>               Can you please send me the link for the working pulse audio source code(with echo cancel) as I am also working to get echo cancel module work on my OMAP4 panda board.<br><br>Thanks,<br><br>Regards,<br>
Abdul Moiz<br><br><div class="gmail_quote">On Thu, Jul 28, 2011 at 11:20 AM, Lin, Mengdong <span dir="ltr">&lt;<a href="mailto:mengdong.lin@intel.com">mengdong.lin@intel.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div link="blue" vlink="purple" lang="ZH-CN"><div><p class="MsoNormal"><span lang="EN-US">I found the module-echo-cancel&#39;s &quot;Echo-Cancel Source Stream&quot; can be created on a monitor source of an new created ALSA sink by mistake, if the real ALSA source is not created yet. <u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Could anyone tell me how to fix this issue?<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">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.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">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: <a href="http://lists.freedesktop.org/archives/pulseaudio-discuss/2011-July/010741.html" target="_blank">http://lists.freedesktop.org/archives/pulseaudio-discuss/2011-July/010741.html</a><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">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.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">How to make “Echo-Cancel Source Stream” link to the right ALSA source, which will be created a little later?<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">Here is the log:<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">I  source.c: Created source 8 &quot;alsa_output.platform-pmic_audio.19.intelmadihfheadset.echo-cancel.monitor&quot; with sample spec s16le 2ch 44100Hz and channel map front-left,front-right<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I  source.c:     device.description = &quot;Monitor of Echo-Cancel Sink alsa_output.platform-pmic_audio.19.intelmadihfheadset.echo-cancel on Intel MAD intelmadihfheadset&quot;<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I  source.c:     device.class = &quot;monitor&quot;<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">I  source.c:     device.icon_name = &quot;audio-input-microphone&quot;<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">D  classify.c: find_group_for_client (|&lt;null&gt;|0|-1|) =&gt; othermedia<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">D  module-suspend-on-idle.c: Sink alsa_output.platform-pmic_audio.19.intelmadihfheadset becomes busy.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">D  memblockq.c: memblockq requested: maxlength=33554432, tlength=0, base=4, prebuf=0, minreq=1 maxrewind=0<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">D  memblockq.c: memblockq sanitized: maxlength=33554432, tlength=33554432, base=4, prebuf=0, minreq=4 maxrewind=0<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I  source-output.c: Created output 2 &quot;Echo-Cancel Source Stream&quot; on alsa_output.platform-pmic_audio.19.intelmadihfheadset.monitor with sample spec s16le 2ch 44100Hz and channel map front-left,front-right<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I  source-output.c:     <a href="http://media.name" target="_blank">media.name</a> = &quot;Echo-Cancel Source Stream&quot;<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">I  source-output.c:     media.role = &quot;filter&quot;<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">E  module-echo-cancel.c: new source output &lt;Echo-Cancel Source Stream&gt; on source &lt;alsa_output.platform-pmic_audio.19.intelmadihfheadset.monitor&gt;<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">Thanks<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Amanda<u></u><u></u></span></p></div></div><br>
_______________________________________________<br>
pulseaudio-discuss mailing list<br>
<a href="mailto:pulseaudio-discuss@lists.freedesktop.org">pulseaudio-discuss@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss" target="_blank">http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss</a><br>
<br></blockquote></div><br>