Commit 7b8c3295 authored by Lennart Poettering's avatar Lennart Poettering

add documentation


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@86 fefdeb5f-60dc-0310-8127-8f9354f1896f
parent 3e379ca9
This diff is collapsed.
......@@ -17,11 +17,28 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA.
EXTRA_DIST = bootstrap.sh
SUBDIRS=src
EXTRA_DIST = bootstrap.sh README LICENSE
SUBDIRS=src doc
MAINTAINERCLEANFILES=README
noinst_DATA = README
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = polyplib.pc polyplib-simple.pc polyplib-error.pc polyplib-mainloop.pc
README:
rm -f README
$(MAKE) -C doc README
cd $(srcdir) && ln -s doc/README README
homepage: all dist
test -d $$HOME/homepage/private
mkdir -p $$HOME/homepage/private/projects/polypaudio
cp *.tar.gz $$HOME/homepage/private/projects/polypaudio
cp doc/README.html doc/cli.html doc/daemon.html doc/modules.html doc/style.css doc/NEWS $$HOME/homepage/private/projects/polypaudio
cp $$HOME/homepage/private/projects/polypaudio/README.html $$HOME/homepage/private/projects/polypaudio/index.html
distcleancheck:
@:
.PHONY: homepage distcleancheck
......@@ -55,7 +55,26 @@ if test "x$GCC" = "xyes" ; then
CFLAGS="$CFLAGS -pipe -Wall -W -Wno-unused-parameter"
fi
# LYNX documentation generation
AC_ARG_ENABLE(lynx,
AS_HELP_STRING(--disable-lynx,Turn off lynx usage for documentation generation),
[case "${enableval}" in
yes) lynx=yes ;;
no) lynx=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-lynx) ;;
esac],[lynx=yes])
if test x$lynx = xyes ; then
AC_CHECK_PROG(have_lynx, lynx, yes, no)
if test x$have_lynx = xno ; then
AC_MSG_ERROR([*** Sorry, you have to install lynx or use --disable-lynx ***])
fi
fi
AM_CONDITIONAL([USE_LYNX], [test "x$lynx" = xyes])
AM_CONDITIONAL(BUILD_LIBPOLYPCORE, false)
AC_CONFIG_FILES([Makefile src/Makefile polyplib.pc polyplib-simple.pc polyplib-mainloop.pc polyplib-error.pc])
AC_CONFIG_FILES([Makefile src/Makefile polyplib.pc polyplib-simple.pc polyplib-mainloop.pc polyplib-error.pc doc/Makefile doc/README.html doc/cli.html doc/daemon.html doc/modules.html])
AC_OUTPUT
# $Id$
# This file is part of polypaudio.
#
# polypaudio is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# polypaudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with polypaudio; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
noinst_DATA = README.html cli.html modules.html daemon.html README
EXTRA_DIST = $(noinst_DATA) style.css README.html.in cli.html.in modules.html.in daemon.html.in
MAINTAINERCLEANFILES = README README.html cli.html modules.html daemon.html
CLEANFILES =
if USE_LYNX
README: README.html
lynx --dump $^ | sed 's,file://localhost/.*/doc/README.html,README,' > $@
CLEANFILES += README
endif
tidy: README.html cli.html modules.html daemon.html
tidy -e < README.html
tidy -e < cli.html
tidy -e < modules.html
tidy -e < daemon.html
.PHONY: tidy
<?xml version="1.0" encoding="iso-8859-1"?> <!-- -*-html-helper-*- -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>polypaudio @PACKAGE_VERSION@</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<h1><a name="top">polypaudio @PACKAGE_VERSION@</a></h1>
<p><i>Copyright 2002-2004 Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;</i></p>
<ul class="toc">
<li><a href="#license">License</a></li>
<li><a href="#news">News</a></li>
<li><a href="#overview">Overview</a></li>
<li><a href="#status">Status</a></li>
<li><a href="#documentation">Documentation</a></li>
<li><a href="#requirements">Requirements</a></li>
<li><a href="#installation">Installation</a></li>
<li><a href="#acks">Acknowledgements</a></li>
<li><a href="#download">Download</a></li>
</ul>
<h2><a name="license">License</a></h2>
<p>This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.</p>
<p>This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.</p>
<p>You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.</p>
<h2><a name="news">News</a></h2>
<div class="news-date">Sat Jul 17 2004: </div> <p class="news-text"><a
href="@PACKAGE_URL@polypaudio-0.1.tar.gz">Version 0.1</a> released</p>
<h2><a name="overview">Overview</a></h2>
<p><tt>polypaudio</tt> is a sound server for Linux and other Unix like
operating systems. It is intended to be an improved drop-in
replacement for the <a
href="http://www.tux.org/~ricdude/apps.html">Enlightened Sound
Daemon</a> (ESOUND). In addition to the features ESOUND provides
<tt>polypaudio</tt> has:</p>
<ul>
<li>Extensible plugin architecture (<tt>dlopen()</tt>)</li>
<li>Support for more than one sink/source</li>
<li>Better low latency behaviour</li>
<li>Embedabble into other software (the core is available as C library)</li>
<li>Completely asynchronous C API</li>
<li>Simple command line interface for reconfiguring the daemon while running</li>
<li>Flexible, implicit sample type conversion and resampling</li>
<li>"Zero-Copy" architecture</li>
</ul>
<p>Both the core and the client API are completely asynchronous making
use of a simple main loop abstraction layer. This allows easy
integration with asynchronous applications using the
<tt>glib</tt>/<tt>gtk</tt> mainloop. Since the asynchronous API
available through <tt>polyplib</tt> is quite difficult to use there is
a simplified synchronous API wrapper <tt>polyplib-simple</tt>
available.</p>
<h2><a name="status">Status</a></h2>
<p>Version @PACKAGE_VERSION@ is quite usable. <tt>polypaudio</tt> does
not yet match all ESOUND features: currently a sample cache and
automatic releasing of unused sound drivers are missing. Have a look on the more extensive <a href="http://0pointer.de/cgi-bin/viewcvs.cgi/trunk/src/todo?view=markup">TODO list</a>.</p>
<h2><a name="documentation">Documentation</a></h2>
<p>There is some prelimenary documentation available: <a
href="modules.html"><tt>modules.html</tt></a>, <a
href="cli.html"><tt>cli.html</tt></a>, <a
href="daemon.html"><tt>daemeon.html</tt></a>.</p>
<p>Documentation for developing with <tt>polypaudio</tt> is not yet
available. Read the source, Luke!</p>
<h2><a name="requirements">Requirements</a></h2>
<p>Currently, <tt>polypaudio</tt> is tested on Linux only. It requires an OSS or ALSA compatible soundcard.</p>
<p><tt>polypaudio</tt> was developed and tested on Debian GNU/Linux
"testing" from July 2004, it should work on most other Linux
distributions (and maybe Unix versions) since it uses GNU autoconf and
GNU libtool for source code configuration and shared library
management.</p>
<p><tt>polypaudio</tt> needs <a
href="http://www.mega-nerd.com/SRC/">Secret Rabbit Code (aka <tt>libsamplerate</tt>)</a> and <a href="http://www.alsa-project.org/">alsa-lib</a>.</p>
<h2><a name="installation">Installation</a></h2>
<p>As this package is made with the GNU autotools you should run
<tt>./configure</tt> inside the distribution directory for configuring
the source tree. After that you should run <tt>make</tt> for
compilation and <tt>make install</tt> (as root) for installation of
<tt>polypaudio</tt>.</p>
<h2><a name="acks">Acknowledgements</a></h2>
<p>Eric B. Mitchell for writing ESOUND</p>
<h2><a name="download">Download</a></h2>
<p>The newest release is always available from <a href="@PACKAGE_URL@">@PACKAGE_URL@</a></p>
<p>The current release is <a href="@PACKAGE_URL@polypaudio-@PACKAGE_VERSION@.tar.gz">@PACKAGE_VERSION@</a></p>
<p>Get <tt>polypaudio</tt>'s development sources from the <a href="http://subversion.tigris.org/">Subversion</a> <a href="https://seth.intheinter.net:8081/svn/polypaudio/">repository</a>. (<a href="http://0pointer.de/cgi-bin/viewcvs.cgi/?root=polypaudio">viewcvs</a>)</p>
<p>If you want to be notified whenever I release a new version of this software use the subscription feature of <a href="http://freshmeat.net/projects/polypaudio/">Freshmeat</a>.</p>
<hr/>
<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, July 2004</address>
<div class="grey"><i>$Id$</i></div>
</body>
</html>
<?xml version="1.0" encoding="iso-8859-1"?> <!-- -*-html-helper-*- -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>polypaudio: Simple Command Line Language</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<h1>Simple Command Line Language</h1>
<p><tt>polypaudio</tt> provides a simple command line language used by
configuration scripts as well as the modules <tt>module-cli</tt>
and <tt>module-cli-protocol-{unix,tcp}</tt>. Empty lines and lines
beginning with a hashmark (<tt>#</tt>) are silently ignored. Several
commands are supported:</p>
<h2>Miscellaneous Commands</h2>
<h3><tt>help</tt></h3>
<p>Show a quick help on the commands available.</p>
<h3><tt>exit</tt></h3>
<p>Terminate the daemon. If you want to terminate a CLI connection
("log out") you might want to use <tt>C-d</tt>.</p>
<h2>Status Commands</h2>
<h3><tt>modules</tt></h3>
<p>Show all currently loaded modules with their arguments.</p>
<h3><tt>sinks/sources</tt></h3>
<p>Show all currently registered sinks (resp. sources).</p>
<h3><tt>clients</tt></h3>
<p>Show all currently active clients.</p>
<h3><tt>sink_inputs/sink_outputs</tt></h3>
<p>Show all currently active inputs to sinks (resp. outputs of sources).</p>
<h3><tt>stat</tt></h3>
<p>Show some simple statistics about the allocated memory blocks and
the space used by them.</p>
<h3><tt>info</tt></h3>
<p>A combination of all status commands described above. <tt>ls</tt>
and <tt>list</tt> are synonyms for <tt>info</tt>.</p>
<h2>Module Management</h2>
<h3><tt>load</tt></h3>
<p>Load a module specified by its name and arguments. For most modules
it is OK to be loaded more than once.</p>
<h3><tt>unload</tt></h3>
<p>Unload a module specified by its index in the module list as
returned by <tt>modules</tt>.</p>
<h2>Configuration Commands</h2>
<h3><tt>sink_volume</tt></h3>
<p>Set the volume of the specified sink. You may specify the sink either
by its index in the sink list or by its name. The volume should be an
integer value greater or equal than 0 (= muted). Volume 256
(<tt>0x100</tt>) is normal volume, values greater than this amplify
the audio signal with clipping.</p>
<h3><tt>sink_input_volume</tt></h3>
<p>Set the volume of a sink input specified by its index the the sink
input list. The same volume rules apply as with <tt>sink_volume</tt>.</p>
<h3><tt>sink_default/source_default</tt></h3>
<p>Make a sink (resp. source) the default. You may specify the sink
(resp. ssource) by its index in the sink (resp. source) list or by its
name.</p>
<h2>Killing clients/streams</h2>
<h3><tt>kill_client</tt></h3>
<p>Remove a client forcibly from the server. There is no protection that
the client reconnects immediately.</p>
<h3><tt>kill_sink_input/kill_source_output</tt></h3>
<p>Remove a sink input (resp. source output) forcibly from the
server. This will not remove the owning client or any other streams
opened by the client from the server.</p>
<h2>Meta Commands</h2>
<p>In addition the the commands described above there a few meta
directives supported by the command line interpreter:</p>
<h3><tt>.include</tt></h3>
<p>Executes the commands from the specified script file.</p>
<h3><tt>.fail/.nofail</tt></h3>
<p>Enable (resp. disable) that following failing commands will cancel
the execution of the current script file. This is a ignored when used
on the interactive command line.</p>
<h3><tt>.verbose/.noverbose</tt></h3>
<p>Enable (resp. disable) extra verbosity.</p>
<h2>Example Configuration Script</h2>
<pre>
#!/usr/bin/polaudio -F
# Load audio drivers
load module-alsa-sink device=plughw:0,0 rate=48000
load module-alsa-source device=hw:1,0
# Load several protocols
load module-esound-protocol-tcp
load module-simple-protocol-tcp
load module-native-protocol-unix
load module-cli-protocol-unix
# Load the CLI module (This is similar to passing "-C" on the command line of polypaudio)
load module-cli
.nofail
# Make some devices default
sink_default alsa_output
source_default alsa_input
# Use digital amplification
sink_volume alsa_output 0x200
</pre>
<hr/>
<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, July 2004</address>
<div class="grey"><i>$Id$</i></div>
</body> </html>
<?xml version="1.0" encoding="iso-8859-1"?> <!-- -*-html-helper-*- -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>polypaudio: Daemon</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<h1>Daemon</h1>
<h2>Command Line Arguments</h2>
The <tt>polypaudio</tt> daemon accepts several command line arguments:
<p><tt>-L MODULE</tt>: Load the specified module. This option may be specified more than once.</p>
<p><tt>-F FILE</tt>: Run the specified script. This option may be specified more than once.</p>
<p><tt>-C</tt>: Load the module <a href="modules.html#module-cli"><tt>module-cli</tt></a> after startup.</p>
<p><tt>-D</tt>: Daemonize after successfully executing all scripts and loading all modules.</p>
<p><tt>-f</tt>: Unless this option is given the daemon will terminate if any of the specified modules failed to load or the script didn't execute successfully.</p>
<p><tt>-v</tt>: Increase the verbosity of the daemon.</p>
<p><tt>-h</tt>: Show a quick help.</p>
<h3>Example</h3>
<p>It is a good idea to run the daemon like this:</p>
<pre>polypaudio -D -F /etc/polypaudio/polypaudio.pa</pre>
<p><tt>/etc/polypaudio/polypaudio.pa</tt> should be a script written in the CLI language described in <a href="cli.html">cli.html</a>
<h2>Signals</h2>
<p>The following signals are trapped specially:</p>
<h3>SIGINT</h3>
<p>The daemon is shut down cleanly.</p>
<h3>SIGUSR1</h3>
<p>The daemon tries to load the module <a href="modules.html#module-cli"><tt>module-cli</tt></a>, effectively providing a command line interface on the calling TTY.</p>
<h3>SIGUSR2</h3>
<p>The daemon tries to load the module <a href="modules.html#module-cli-protocol-unix"><tt>module-cli-protocol-unix</tt></a>, effectively providing a command line interface on a special UNIX domain socket.</p>
<hr/>
<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, July 2004</address>
<div class="grey"><i>$Id$</i></div>
</body> </html>
<?xml version="1.0" encoding="iso-8859-1"?> <!-- -*-html-helper-*- -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>polypaudio: Loadable Modules</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<h1>Loadable Modules</h1>
<p>The following loadable modules are provided with the <tt>polypaudio</tt> distribution:</p>
<h2>Device Drivers</h2>
<p>All device driver modules support the following parameters:</p>
<table>
<tr><td><tt>format=</tt></td><td>The sample format (one of <tt>u8</tt>, <tt>s16</tt>, <tt>s16le</tt>, <tt>s16le</tt>, <tt>float32</tt>, <tt>float32be</tt>, <tt>float32le</tt>, <tt>alaw</tt>, <tt>ulaw</tt>) (defaults to <tt>s16</tt>)</td></tr>
<tr><td><tt>rate=</tt></td><td>The sample rate (defaults to 44100)</td></tr>
<tr><td><tt>channels=</tt></td><td>Audio channels (defaults to 2)</td></tr>
<tr><td><tt>sink_name=</tt>, <tt>source_name=</tt></td><td>Name for the sink (resp. source)</td></tr>
</table>
<h3>module-pipe-sink</h3>
<p>Provides a simple test sink that writes the audio data to a FIFO
special file in the file system. The sink name defaults to <tt>pipe_output</tt>.</p>
<p>The following option is supported:</p>
<table>
<tr><td><tt>file=</tt></td><td>The name of the FIFO special file to use</td></tr>
</table>
<a name="module-alsa-sink"/>
<h3>module-alsa-sink</h3>
<p>Provides a playback sink for devices supported by the <a href="http://www.alsa-project.org/">Advanced Linux
Sound Architecture</a> (ALSA). The sink name defaults to <tt>alsa_output</tt>.</p>
<p>In addition to the general device driver options described above this module supports:</p>
<table>
<tr><td><tt>device=</tt></td><td>The ALSA device to use. (defaults to "plughw:0,0")</td></tr>
<tr><td><tt>fragments=</tt></td><td>The desired fragments when opening the device. (defaults to 12)</td></tr>
<tr><td><tt>fragment_size=</tt></td><td>The desired fragment size in bytes when opening the device (defaults to 1024)</td></tr>
</table>
<h3>module-alsa-source</h3>
<p>Provides a recording source for devices supported by the Advanced
Linux Sound Architecture (ALSA). The source name defaults to <tt>alsa_input</tt>.</p>
<p>This module supports <tt>device=</tt>, <tt>fragments=</tt> and <tt>fragment_size=</tt> arguments the same way as <a href="#module-alsa-sink"><tt>module-alsa-sink</tt></a>.</p>
<a name="module-oss"/>
<h3>module-oss</h3>
<p>Provides both a sink and a source for playback, resp. recording on
<a href="http://www.opensound.com">Open Sound System</a> (OSS) compatible devices.</p>
<p>This module supports <tt>device=</tt> (which defaults to <tt>/dev/dsp</tt>), <tt>fragments=</tt> and <tt>fragment_size=</tt> arguments the same way as <a href="#module-alsa-sink"><tt>module-alsa-sink</tt></a>.</p>
<p>In addition this module supports the following options:</p>
<table>
<tr><td><tt>record=</tt></td><td>Accepts a binary numerical value for enabling (resp. disabling) the recording on this device. (defaults: to 1)</td></tr>
<tr><td><tt>playback=</tt></td><td>Accepts a binary numerical value for enabling (resp. disabling) the playback on this device. (defaults: to 1)</td></tr>
</table>
<p>The sink name (resp. source name) defaults to <tt>oss_output</tt> (resp. <tt>oss_input</tt>).</p>
<h3>module-oss-mmap</h3>
<p>Similar to <tt>module-oss</tt> but uses memory mapped
(<tt>mmap()</tt>) access to the input/output buffers of the audio
device. This provides better latency behaviour but is not as
compatible as <tt>module-oss</tt>.</p>
<p>This module accepts exactly the same arguments as <a href="#module-oss"><tt>module-oss</tt></a>.</p>
<h2>Protocols</h2>
<a name="module-cli"/>
<h3>module-cli</h3>
<p>Provides the user with a simple command line interface on the
controlling TTY of the daemon. This module may not be loaded more than
once.</p>
<p>For an explanation of the simple command line language used by this
module see <a href="cli.html"><tt>cli.html</tt></a>.
<p>This module doesn't accept any arguments.</p>
<a name="module-cli-protocol-unix"/>
<a name="module-cli-protocol-tcp"/>
<a name="module-cli-protocol"/>
<h3>module-cli-protocol-{unix,tcp}</h3>
<p>An implemenation of a simple command line based protocol for
controlling the <tt>polypaudio</tt> daemon. If loaded, the user may
connect with tools like <tt>netcat</tt>, <tt>telnet</tt> or
<a href="http://0pointer.de/lennart/projects/bidilink/"><tt>bidilink</tt></a> to the listening sockets and execute commands the
same way as with <tt>module-cli</tt>.</p>
<p><b>Beware!</b> Users are not authenticated when connecting to this
service.</p>
<p>This module exists in two versions: with the suffix <tt>-unix</tt>
the service will listen on an UNIX domain socket in the local file
system. With the suffix <tt>-tcp</tt> it will listen on a network
transparent TCP/IP socket.</p>
<p>This module supports the following options:</p>
<table>
<tr><td><tt>port=</tt></td><td>(only for <tt>-tcp</tt>) The port number to listen on (defaults to 4712)</td></tr>
<tr><td><tt>loopback=</tt></td><td>(only for <tt>-tcp</tt>) Accepts
a numerical binary value. If 1 the socket is bound to the loopback
device, i.e. not publicly accessible. (defaults to 1)</td></tr>
<tr><td><tt>socket=</tt></td><td>(only for <tt>-unix</tt>) The UNIX socket name (defaults to <tt>/tmp/polypaudio/cli</tt>)</td></tr>
</table>
<h3>module-simple-protocol-{unix,tcp}</h3>
<p>An implementation of a simple protocol which allows playback by using
simple tools like <tt>netcat</tt>. Just connect to the listening
socket of this module and write the audio data to it, or read it from
it for playback, resp. recording.</p>
<p><b>Beware!</b> Users are not authenticated when connecting to this
service.</p>
<p>See <tt>module-cli-protocol-{unix,tcp}</tt> for more information
about the two possible suffixes of this module.</p>
<p>In addition to the options supported by <a href="module-cli-protocol"><tt>module-cli-protocol-*</tt></a>, this module supports:</p>
<table>
<tr><td><tt>rate=</tt>, <tt>format=</tt>, <tt>channels=</tt></td><td>Sample format for streams connecting to this service.</td></tr>
<tr><td><tt>playback=</tt>, <tt>record=</tt></td><td>Enable/disable playback/recording</td></tr>
<tr><td><tt>sink=</tt>, <tt>source=</tt></td><td>Specify the sink/source this service connects to</td></tr>
</table>
<h3>module-esound-protocol-{unix,tcp}</h3>
<p>An implemenation of a protocol compatible with the <a
href="http://www.tux.org/~ricdude/EsounD.html">Enlightened Sound
Daemon</a> (ESOUND, <tt>esd</tt>). When you load this module you may
access the <tt>polypaudio</tt> daemon with tools like <tt>esdcat</tt>,
<tt>esdrec</tt> or even <tt>esdctl</tt>. Many applications, such as
XMMS, include support for this protocol.</p>
<p>See <tt>module-cli-protocol-{unix,tcp}</tt> for more information
about the two possible suffixes of this module.</p>
<p>In addition to the options supported by <a href="module-cli-protocol"><tt>module-cli-protocol-*</tt></a>, this module supports:</p>
<table>
<tr><td><tt>sink=</tt>, <tt>source=</tt></td><td>Specify the sink/source this service connects to</td></tr>
<tr><td><tt>public=</tt></td><td>If set to 0 not authentication is required to connect to the service</td></tr>
<tr><td><tt>cookie=</tt></td><td>Name of the cookie file for authentication purposes</td></tr>
</table>
<p>This implementation misses some features the original ESOUND has: e.g. there is no sample cache yet. However: XMMS works fine.</p>
<h3>module-native-protocol-{unix,tcp}</h3>
<p>The native protocol of <tt>polypaudio</tt>.</p>
<p>See <tt>module-cli-protocol-{unix,tcp}</tt> for more information
about the two possible suffixes of this module.</p>
<p>In addition to the options supported by <a href="module-cli-protocol"><tt>module-cli-protocol-*</tt></a>, this module supports:</p>
<table>
<tr><td><tt>public=</tt></td><td>If set to 0 not authentication is required to connect to the service</td></tr>
<tr><td><tt>cookie=</tt></td><td>Name of the cookie file for authentication purposes</td></tr>
</table>
<hr/>
<address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, July 2004</address>
<div class="grey"><i>$Id$</i></div>
</body> </html>
/* $Id$ */
/***
* This file is part of polypaudio.
*
* polypaudio is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* polypaudio is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with polypaudio; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
***/
body { color: black; background-color: white; margin: 0.5cm; }
a:link, a:visited { color: #900000; }
p { margin-left: 0.5cm; margin-right: 0.5cm; }
div.news-date { margin-left: 0.5cm; font-size: 80%; color: #4f0000; }
p.news-text { margin-left: 1cm; }
h1 { color: #00009F; }
h2 { color: #00009F; }
h3 { color: #00004F; margin-left: 0.5cm; }
ul { margin-left: .5cm; }
ol { margin-left: .5cm; }
pre { margin-left: .5cm; background-color: #f0f0f0; padding: 0.4cm;}
.grey { color: #afafaf; }
table { margin-left: 1cm; border:1px solid lightgrey; padding: 0.2cm; }
td { padding-left:10px; padding-right:10px; }
......@@ -355,7 +355,6 @@ libpolypcore_la_SOURCES = idxset.c idxset.h \
sconv-s16be.c sconv-s16be.h \
sioman.c sioman.h \
modargs.c modargs.h \
cmdline.c cmdline.h \
cli-command.c cli-command.h \
clitext.c clitext.h \
tokenizer.c tokenizer.h \
......
......@@ -231,8 +231,12 @@ int pa_modargs_get_sample_spec(struct pa_modargs *ma, struct pa_sample_spec *rss
ss.format = PA_SAMPLE_S16NE;
else if (strcmp(format, "u8") == 0 || strcmp(format, "8") == 0)
ss.format = PA_SAMPLE_U8;
else if (strcmp(format, "float32") == 0)
else if (strcmp(format, "float32") == 0 || strcmp(format, "float32ne") == 0)
ss.format = PA_SAMPLE_FLOAT32;
else if (strcmp(format, "float32le") == 0)
ss.format = PA_SAMPLE_FLOAT32LE;
else if (strcmp(format, "float32be") == 0)
ss.format = PA_SAMPLE_FLOAT32BE;
else if (strcmp(format, "ulaw") == 0)
ss.format = PA_SAMPLE_ULAW;
else if (strcmp(format, "alaw") == 0)
......
......@@ -89,7 +89,7 @@ static const char* const valid_modargs[] = {
static struct pa_socket_server *create_socket_server(struct pa_core *c, struct pa_modargs *ma) {
struct pa_socket_server *s;
#ifdef USE_TCP_SOCKETS
uint32_t loopback = 0, port = IPV4_PORT;
uint32_t loopback = 1, port = IPV4_PORT;
if (pa_modargs_get_value_u32(ma, "loopback", &loopback) < 0) {
fprintf(stderr, "loopback= expects a numerical argument.\n");
......
*** $Id$ ***
- documentation
- pkgconfig
*** post 0.1 ***
- future cancellation
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment