<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="&#1;" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        text-align:justify;
        text-justify:inter-ideograph;
        font-size:10.5pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
/* Page Definitions */
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=ZH-CN link=blue vlink=purple style='text-justify-trim:punctuation'><div class=WordSection1><p class=MsoNormal><span lang=EN-US>I found the module-echo-cancel'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. <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Could anyone tell me how to fix this issue?<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US>On my MeeGo platform, the ALSA sink/source don&#8217;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 &#8220;hsp&#8221; profile , remove the &#8220;normal&#8221; ALSA sink/source pair and create a &#8220;hsp&#8221; sink/source pair for BT. And after BT HSP headset is disconnected, ALSA card restores its original profile, remove &#8220;hsp&#8221; sink/source and create &#8220;normal&#8221; ALSA sink/source again.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></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">http://lists.freedesktop.org/archives/pulseaudio-discuss/2011-July/010741.html</a><o:p></o:p></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 &#8220;Echo-Cancel Source Stream&#8221; to the monitor source of the ALSA sink.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US>How to make &#8220;Echo-Cancel Source Stream&#8221; link to the right ALSA source, which will be created a little later?<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US>Here is the log:<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>I&nbsp; 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<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>I&nbsp; source.c:&nbsp;&nbsp;&nbsp;&nbsp; device.description = &quot;Monitor of Echo-Cancel Sink alsa_output.platform-pmic_audio.19.intelmadihfheadset.echo-cancel on Intel MAD intelmadihfheadset&quot;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>I&nbsp; source.c:&nbsp;&nbsp;&nbsp;&nbsp; device.class = &quot;monitor&quot;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>I&nbsp; source.c:&nbsp;&nbsp;&nbsp;&nbsp; device.icon_name = &quot;audio-input-microphone&quot;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>D&nbsp; classify.c: find_group_for_client (|&lt;null&gt;|0|-1|) =&gt; othermedia<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>D&nbsp; module-suspend-on-idle.c: Sink alsa_output.platform-pmic_audio.19.intelmadihfheadset becomes busy.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>D&nbsp; memblockq.c: memblockq requested: maxlength=33554432, tlength=0, base=4, prebuf=0, minreq=1 maxrewind=0<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>D&nbsp; memblockq.c: memblockq sanitized: maxlength=33554432, tlength=33554432, base=4, prebuf=0, minreq=4 maxrewind=0<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>I&nbsp; 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<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>I&nbsp; source-output.c:&nbsp;&nbsp;&nbsp;&nbsp; media.name = &quot;Echo-Cancel Source Stream&quot;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>I&nbsp; source-output.c:&nbsp;&nbsp;&nbsp;&nbsp; media.role = &quot;filter&quot;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>E&nbsp; 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;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US>Thanks<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Amanda<o:p></o:p></span></p></div></body></html>