client audio: Support memfd transport

Now that all layers in the stack support memfd blocks, add memfd
pools support for client context and audio playback data.

Use such memfd pools by default only if the server signals memfd
support in its connection negotiations.

Also add ability for clients to force-disable memfd transport
through the `enable-memfd=' client configuration option.

Signed-off-by: Ahmed S. Darwish <darwish.07@gmail.com>
This commit is contained in:
Ahmed S. Darwish 2016-04-15 23:06:02 +02:00 committed by Arun Raghavan
parent a831e45515
commit b1d47d60fc
7 changed files with 88 additions and 7 deletions

View file

@ -102,6 +102,14 @@ License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
<option>
<p><opt>enable-shm=</opt> Enable data transfer via POSIX
or memfd shared memory. Takes a boolean argument, defaults to
<opt>yes</opt>. If set to <opt>no</opt>, communication with
the server will be exclusively done through data-copy over
sockets.</p>
</option>
<option>
<p><opt>enable-memfd=</opt>. Enable data transfer via memfd
shared memory. Takes a boolean argument, defaults to
<opt>yes</opt>.</p>
</option>