There shouldn't be a reason for using a memcopy until you're actually moving data in/out of the hardware. The audio will travel from through the daemon without being copied. I would recommend using DMA to finally move the audio to the hardware, but that's a driver level detail. 
<br><br>If you&#39;re having trouble moving the data to and from the daemon itself, the pulseaudio primitives provide ways of using zero-copy buffers to communicate with the daemon. The API is documented here: <a href="http://0pointer.de/lennart/projects/pulseaudio/doxygen/">
http://0pointer.de/lennart/projects/pulseaudio/doxygen/</a>.<br><br>More details on what you&#39;re having trouble with would prompt more useful help!<br><br>Justin<br><br><div><span class="gmail_quote">On 10/17/07, <b class="gmail_sendername">
Deb Briggs</b> &lt;<a href="mailto:Deb.Briggs@palm.com">Deb.Briggs@palm.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">









<div link="blue" vlink="purple" lang="EN-US">

<div>

<p><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;"><a href="http://www.kernel.org/doc/ols/2007/ols2007v2-pages-145-150.pdf" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://www.kernel.org/doc/ols/2007/ols2007v2-pages-145-150.pdf</a>
says that local clients can exchange audio data with a local PulseAudio daemon
through shared memory IPC – is there any example code that shows this?
Asking because we're seeing quite high CPU usage (30%+) when using memcpy
in the read callback that we install via </span></font><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">pa_stream_set_read_callback</span></font><font face="Courier New" size="2"><span style="font-size: 10pt;">
.</span></font><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;"></span></font></p>

</div>

</div>


<br>_______________________________________________<br>pulseaudio-discuss mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:pulseaudio-discuss@mail.0pointer.de">pulseaudio-discuss@mail.0pointer.de
</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss" target="_blank">https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss</a><br><br>
</blockquote></div><br>