chiark / gitweb /
The command backend now supports the old (suspending) and new
[disorder] / doc / disorder-playrtp.1.in
index 18ca1495e0d1b7bcaa568621ecb111acab1d3dbf..206be91e5a04f2fdb600c65d47f04922be0de019 100644 (file)
 .\"
-.\" Copyright (C) 2007 Richard Kettlewell
+.\" Copyright (C) 2007-2009 Richard Kettlewell
 .\"
-.\" This program is free software; you can redistribute it and/or modify
+.\" 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
+.\" the Free Software Foundation, either version 3 of the License, or
 .\" (at your option) any later version.
-.\"
-.\" 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.
-.\"
+.\" 
+.\" 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.
+.\" 
 .\" 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-.\" USA
+.\" along with this program.  If not, see <http://www.gnu.org/licenses/>.
 .\"
 .TH disorder-playrtp 1
 .SH NAME
 disorder-playrtp \- play DisOrder network broadcasts
 .SH SYNOPSIS
-.B disorder-playrtp
+.B disorder\-playrtp
 .RI [ OPTIONS ]
-.RB [ -- ]
-.I ADDRESS
-.I PORT
+.RB [ \-\- ]
+.RI [[ ADDRESS ]
+.IR PORT ]
 .SH DESCRIPTION
-\fBdisorder-playrtp\fR plays a network broadcast sent from the specified
+\fBdisorder\-playrtp\fR plays a network broadcast sent from the specified
 address.
+.PP
+If neither an address nor port are specified then the local DisOrder
+configuration is consulted to find the server and the server is asked where the
+RTP stream is.
+.PP
+If just a port is specified then the RTP stream is assumed to be unicast or
+broadcast to that port.
+.PP
+If an address and a port are specified then the RTP stream is assumed to be
+multicast to that group address and port.
 .SH OPTIONS
+The default sound API is the first of the ones listed below that are available.
+Usually this implies ALSA under Linux and Core Audio under OS X.
 .TP
-.B --device \fIDEVICE\fR, \fB-D \fIDEVICE\fR
-Specifies the audio device to use.  The exact meaning of this is
-platform-dependent; on Linux it is the ALSA device name.
+.B \-\-alsa\fR, \fB\-a
+Use ALSA to play sound.
+Only available on Linux.
 .TP
-.B --min \fIFRAMES\fR, \fB-m \fIFRAMES\fR
-Specifies the buffer low watermark in frames.  If the number of frames falls
-below this value then playing will be stopped until the buffer fills up.
+.B \-\-oss\fR, \fB\-o
+Use OSS to play sound.
+Only available on Linux and FreeBSD.
 .TP
-.B --buffer \fIFRAMES\fR, \fB-b \fIFRAMES\fR
-Specifies the buffer high watermark in frames.  Once there are this many frames
-in the buffer, playing will be (re-)started.
+.B \-\-core\-audio\fR, \fB\-c
+Use Core Audio to play sound.
+Only available on Macs.
 .TP
-.B --max \fIFRAMES\fR, \fB-x \fIFRAMES\fR
-Specifies the maximum buffer size in frames.  If there are this many frames in
-the buffer then reading from the network socket will be suspended.  The default
-is four times the \fB--buffer\fR value.
+.B \-\-device \fIDEVICE\fR, \fB\-D \fIDEVICE\fR
+Specifies the audio device to use.
+See
+.B "DEVICE NAMES"
+below for more information.
 .TP
-.B --rcvbuf \fIBYTES\fR, \fB-R \fIBYTES\fR
-Specifies socket receive buffer size.
+.B \-\-command \fICOMMAND\fR, \fB-e \fICOMMAND\fR
+Instead of sending to a physical audio device, invoke \fICOMMAND\fR using the
+shell and write audio samples to its standard input.
+Currently the input will be 44100KHz 16-bit signed stereo samples.
+If \fICOMMAND\fR exits it is re-executed; any samples that had been written to
+the pipe but not processed by the previous instance will be lost.
+.IP
+.B \-\-device
+is redundant with this option, but you might wan to set
+.BR \-\-pause\-mode .
+.IP
+As an example,
+.B "-e \(aqcat > dump\(aq"
+would log audio data to a file for later processing.
+You could convert it to another format with, for instance:
+.IP
+.B "sox -c2 -traw -r44100 -s -w dump dump.wav"
+.TP
+.B \-\-pause\-mode \fIMODE\fR, \fB-P \fIMODE
+Set the pause mode for \fB\-\-command\fR to either \fBsilence\fR (the default), in
+which pauses are represented by sending silent samples, or \fBsuspend\fR, in which
+writes to  the subprocess are suspended, requiring it to infer a pause from flow
+control.
 .TP
-.B --help\fR, \fB-h
+.B \-\-config \fIPATH\fR, \fB\-C \fIPATH
+Set the configuration file.
+The default is
+.IR pkgconfdir/config .
+.TP
+.B \-\-socket \fIPATH\fR, \fB\-s \fIPATH
+Set the control socket.
+Normally this would not be used manually.
+.TP
+.B \-\-help\fR, \fB\-h
 Display a usage message.
 .TP
-.B --version\fR, \fB-V
+.B \-\-version\fR, \fB\-V
 Display version number.
+.SS "Buffer Control Options"
+You shouldn't need to use these options.
+.TP
+.B \-\-min \fIFRAMES\fR, \fB\-m \fIFRAMES\fR
+Specifies the buffer low watermark in frames.
+If the number of frames falls below this value then playing will be
+stopped until the buffer fills up.
+.TP
+.B \-\-buffer \fIFRAMES\fR, \fB\-b \fIFRAMES\fR
+Specifies the buffer high watermark in frames.
+Once there are this many frames in the buffer, playing will be (re-)started.
+.TP
+.B \-\-max \fIFRAMES\fR, \fB\-x \fIFRAMES\fR
+Specifies the maximum buffer size in frames.
+If there are this many frames in the buffer then reading from the
+network socket will be suspended.
+The default is four times the \fB\-\-buffer\fR value.
+.TP
+.B \-\-rcvbuf \fIBYTES\fR, \fB\-R \fIBYTES\fR
+Specifies socket receive buffer size.
+The default is 131072 (128Kbytes).
+The buffer size will not be reduced below the operating system's default.
+.SH "REMOTE CONTROL"
+The
+.B \-\-socket
+option is used by Disobedience to control a background
+.B disorder\-playrtp
+daemon.
+The socket will be created as a UNIX domain stream socket.
+When a connection is received a single line is read from it.
+The following commands are known:
+.TP
+.B stop
+Causes
+.B disorder\-playrtp
+to terminate.
+.TP
+.B query
+Causes the string "running" to be sent back.
+.PP
+Other commands are ignored.
+After the first command the connection is closed.
+Only one connection at a time will be serviced.
+.PP
+This protocol is not guaranteed to be stable.
+.SH "DEVICE NAMES"
+.SS "Core Audio"
+On a Mac, the device name can either be the human-readable name of the desired
+output or its UID.
+To get a list of the human-readable names, visit System Preferences -> Sound;
+the Type column has the name you want.
+.PP
+For example, you might use "Built-in Output" for the built-in speaker
+or "Built-in Line Output" if you have connected external speakers.
+Remember to quote the name.
 .SH "SEE ALSO"
+.BR disobedience (1),
 .BR disorder_config (5),
 .BR disorderd (8)
 .\" Local Variables: