<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:arial,helvetica,sans-serif;font-size:10pt"><div>Finally I got it all working!<br><br>These are the steps on Ubuntu Lucid 10.04 LTS:<br>1. Open from Pulse source code: src/modules/alsa/alsa-sink.c<br>2. Replace: <span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">pa_sink_set_max_rewind(u-&gt;sink, u-&gt;hwbuf_size);</span> &nbsp; &nbsp;&nbsp; with:&nbsp; &nbsp;&nbsp;&nbsp; <br><span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp; if(strcmp(u-&gt;device_name, "a52") == 0) {</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;"><span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pa_sink_set_max_rewind(u-&gt;sink, 0);</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;"><span
 style="font-family: Courier New,courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp; } else {</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;"><span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pa_sink_set_max_rewind(u-&gt;sink, u-&gt;hwbuf_size);</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;"><span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp; }</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;">3. Add Colin's patch:<br><pre style="font-family: Courier New,courier,monaco,monospace,sans-serif;"><font size="1">             if (PA_UNLIKELY((sframes = snd_pcm_mmap_commit(u-&gt;pcm_handle, offset, frames)) &lt; 0)) {<br><br>+                if (!after_avail &amp;&amp; (int) sframes == -EAGAIN)<br>+                    break;<br>+<br>                 if ((r =
 try_recover(u, "snd_pcm_mmap_commit", (int) sframes)) == 0)<br>                     continue;</font><br></pre>4. Compile and install Pulseaudio with udev support: <span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">make</span> and <span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">sudo make install </span><br>5. Edit /usr/local/share/pulseaudio/alsa-mixer/profile-sets/default.conf: change <span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">a52:%f</span> to <span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">a52</span><br>6. Copy /etc/pulse/daemon.conf to ~/.pulse/daemon.conf and ensure it has uncommented: <span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">default-sample-rate = 48000</span><br>7.&nbsp; Edit ~/.asoundrc<br>8.&nbsp; Put in it:<br><span style="font-family: Courier New,courier,monaco,monospace,sans-serif;"># Encode AC3
 -&gt; Directly on hardware</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;"><span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">pcm.Filter_A52Encode {</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;"><span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp; type a52</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;"><span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp; bitrate 448</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;"><span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp; channels 6</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;"><span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp; card NVidia</span><br
 style="font-family: Courier New,courier,monaco,monospace,sans-serif;"><span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">}</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;"><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;"><span style="font-family: Courier New,courier,monaco,monospace,sans-serif;"># Rate Converter to 48kHz, needed for some applications</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;"><span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">pcm.a52 {</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;"><span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp; type rate</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;"><span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp; slave
 {</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;"><span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pcm "Filter_A52Encode"</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;"><span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rate 48000</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;"><span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">&nbsp;&nbsp;&nbsp; }</span><br style="font-family: Courier New,courier,monaco,monospace,sans-serif;"><span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">}</span><br>9. Change <span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">NVidia</span> to your card's name from: cat /proc/asound/cards<br>10. <span style="font-family:
 Courier New,courier,monaco,monospace,sans-serif;">sudo alsa reload<br></span>11. Make sure you do not have a ~/.pulse/default.pa or if you do, that it is using <span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">load-module module-udev-detect</span> to load Alsa sinks not <span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">load-module module-alsa-sink ...</span> <br>&nbsp;
<br>12. <span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">pulseaudio -k</span><br>13. <span style="font-family: Courier New,courier,monaco,monospace,sans-serif;">pulseaudio -D</span><br><br>I hope I didn't miss anything.<br><br>This will give you sinks you can switch between in Sound Preferences for A52 and stereo that work even with libsdl (I tried Oolite). However, you cannot switch between A52 and stereo while the music is playing eg. in Rhythmbox - you will get that the resource is unavailable in the logs (at least, I did). It will resolve itself if you stop and restart the music.<br><br>Cheers,<br>Mike<br></div><div style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><br></div>
</div><br>



      </body></html>