chiark / gitweb /
The command backend now supports the old (suspending) and new
[disorder] / doc / disorder-playrtp.1.in
CommitLineData
9086a105 1.\"
c897bb65 2.\" Copyright (C) 2007-2009 Richard Kettlewell
9086a105 3.\"
e7eb3a27 4.\" This program is free software: you can redistribute it and/or modify
9086a105 5.\" it under the terms of the GNU General Public License as published by
e7eb3a27 6.\" the Free Software Foundation, either version 3 of the License, or
9086a105 7.\" (at your option) any later version.
e7eb3a27
RK
8.\"
9.\" This program is distributed in the hope that it will be useful,
10.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
11.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12.\" GNU General Public License for more details.
13.\"
9086a105 14.\" You should have received a copy of the GNU General Public License
e7eb3a27 15.\" along with this program. If not, see <http://www.gnu.org/licenses/>.
9086a105
RK
16.\"
17.TH disorder-playrtp 1
18.SH NAME
19disorder-playrtp \- play DisOrder network broadcasts
20.SH SYNOPSIS
0d350ff0 21.B disorder\-playrtp
9086a105 22.RI [ OPTIONS ]
0d350ff0 23.RB [ \-\- ]
c897bb65 24.RI [[ ADDRESS ]
18e5cbdc 25.IR PORT ]
9086a105 26.SH DESCRIPTION
0d350ff0 27\fBdisorder\-playrtp\fR plays a network broadcast sent from the specified
9086a105 28address.
f2a6202f 29.PP
c897bb65 30If neither an address nor port are specified then the local DisOrder
6fba990c
RK
31configuration is consulted to find the server and the server is asked where the
32RTP stream is.
33.PP
34If just a port is specified then the RTP stream is assumed to be unicast or
35broadcast to that port.
36.PP
c897bb65
RK
37If an address and a port are specified then the RTP stream is assumed to be
38multicast to that group address and port.
9086a105 39.SH OPTIONS
b6579a61
RK
40The default sound API is the first of the ones listed below that are available.
41Usually this implies ALSA under Linux and Core Audio under OS X.
42.TP
e979b844 43.B \-\-alsa\fR, \fB\-a
b6579a61 44Use ALSA to play sound.
e979b844 45Only available on Linux.
b6579a61 46.TP
0d350ff0 47.B \-\-oss\fR, \fB\-o
b6579a61 48Use OSS to play sound.
e979b844 49Only available on Linux and FreeBSD.
b6579a61 50.TP
0d350ff0 51.B \-\-core\-audio\fR, \fB\-c
b6579a61 52Use Core Audio to play sound.
e979b844 53Only available on Macs.
9086a105 54.TP
0d350ff0 55.B \-\-device \fIDEVICE\fR, \fB\-D \fIDEVICE\fR
c0c23a60 56Specifies the audio device to use.
f5fd9a6b
RK
57See
58.B "DEVICE NAMES"
59below for more information.
9086a105 60.TP
e979b844
RK
61.B \-\-command \fICOMMAND\fR, \fB-e \fICOMMAND\fR
62Instead of sending to a physical audio device, invoke \fICOMMAND\fR using the
63shell and write audio samples to its standard input.
64Currently the input will be 44100KHz 16-bit signed stereo samples.
65If \fICOMMAND\fR exits it is re-executed; any samples that had been written to
66the pipe but not processed by the previous instance will be lost.
67.IP
68.B \-\-device
287ad384
RK
69is redundant with this option, but you might wan to set
70.BR \-\-pause\-mode .
e979b844
RK
71.IP
72As an example,
73.B "-e \(aqcat > dump\(aq"
74would log audio data to a file for later processing.
75You could convert it to another format with, for instance:
76.IP
77.B "sox -c2 -traw -r44100 -s -w dump dump.wav"
78.TP
287ad384
RK
79.B \-\-pause\-mode \fIMODE\fR, \fB-P \fIMODE
80Set the pause mode for \fB\-\-command\fR to either \fBsilence\fR (the default), in
81which pauses are represented by sending silent samples, or \fBsuspend\fR, in which
82writes to the subprocess are suspended, requiring it to infer a pause from flow
83control.
84.TP
0d350ff0 85.B \-\-config \fIPATH\fR, \fB\-C \fIPATH
c0c23a60
RK
86Set the configuration file.
87The default is
b6579a61
RK
88.IR pkgconfdir/config .
89.TP
0d350ff0 90.B \-\-socket \fIPATH\fR, \fB\-s \fIPATH
c0c23a60
RK
91Set the control socket.
92Normally this would not be used manually.
b6579a61 93.TP
0d350ff0 94.B \-\-help\fR, \fB\-h
f2a6202f
RK
95Display a usage message.
96.TP
0d350ff0 97.B \-\-version\fR, \fB\-V
f2a6202f
RK
98Display version number.
99.SS "Buffer Control Options"
100You shouldn't need to use these options.
101.TP
0d350ff0 102.B \-\-min \fIFRAMES\fR, \fB\-m \fIFRAMES\fR
c0c23a60
RK
103Specifies the buffer low watermark in frames.
104If the number of frames falls below this value then playing will be
105stopped until the buffer fills up.
9086a105 106.TP
0d350ff0 107.B \-\-buffer \fIFRAMES\fR, \fB\-b \fIFRAMES\fR
c0c23a60
RK
108Specifies the buffer high watermark in frames.
109Once there are this many frames in the buffer, playing will be (re-)started.
9086a105 110.TP
0d350ff0 111.B \-\-max \fIFRAMES\fR, \fB\-x \fIFRAMES\fR
c0c23a60
RK
112Specifies the maximum buffer size in frames.
113If there are this many frames in the buffer then reading from the
114network socket will be suspended.
0d350ff0 115The default is four times the \fB\-\-buffer\fR value.
9086a105 116.TP
0d350ff0 117.B \-\-rcvbuf \fIBYTES\fR, \fB\-R \fIBYTES\fR
c0c23a60
RK
118Specifies socket receive buffer size.
119The default is 131072 (128Kbytes).
120The buffer size will not be reduced below the operating system's default.
b6579a61
RK
121.SH "REMOTE CONTROL"
122The
0d350ff0 123.B \-\-socket
b6579a61 124option is used by Disobedience to control a background
0d350ff0 125.B disorder\-playrtp
c0c23a60
RK
126daemon.
127The socket will be created as a UNIX domain stream socket.
128When a connection is received a single line is read from it.
129The following commands are known:
b6579a61
RK
130.TP
131.B stop
132Causes
0d350ff0 133.B disorder\-playrtp
b6579a61
RK
134to terminate.
135.TP
136.B query
137Causes the string "running" to be sent back.
138.PP
c0c23a60
RK
139Other commands are ignored.
140After the first command the connection is closed.
b6579a61
RK
141Only one connection at a time will be serviced.
142.PP
143This protocol is not guaranteed to be stable.
f5fd9a6b
RK
144.SH "DEVICE NAMES"
145.SS "Core Audio"
146On a Mac, the device name can either be the human-readable name of the desired
147output or its UID.
148To get a list of the human-readable names, visit System Preferences -> Sound;
149the Type column has the name you want.
150.PP
151For example, you might use "Built-in Output" for the built-in speaker
152or "Built-in Line Output" if you have connected external speakers.
153Remember to quote the name.
9086a105 154.SH "SEE ALSO"
b6579a61 155.BR disobedience (1),
9086a105
RK
156.BR disorder_config (5),
157.BR disorderd (8)
158.\" Local Variables:
159.\" mode:nroff
160.\" fill-column:79
161.\" End: