chiark / gitweb /
playrtp: --api option instead of a new option for every audio API
[disorder] / doc / disorder-playrtp.1.in
1 .\"
2 .\" Copyright (C) 2007-2009, 2013 Richard Kettlewell
3 .\"
4 .\" This program is free software: you can redistribute it and/or modify
5 .\" it under the terms of the GNU General Public License as published by
6 .\" the Free Software Foundation, either version 3 of the License, or
7 .\" (at your option) any later version.
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 .\" 
14 .\" You should have received a copy of the GNU General Public License
15 .\" along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 .\"
17 .TH disorder-playrtp 1
18 .SH NAME
19 disorder-playrtp \- play DisOrder network broadcasts
20 .SH SYNOPSIS
21 .B disorder\-playrtp
22 .RI [ OPTIONS ]
23 .RB [ \-\- ]
24 .RI [[ ADDRESS ]
25 .IR PORT ]
26 .SH DESCRIPTION
27 \fBdisorder\-playrtp\fR plays a network broadcast sent from the specified
28 address.
29 .PP
30 If neither an address nor port are specified then the local DisOrder
31 configuration is consulted to find the server and the server is asked where the
32 RTP stream is.
33 .PP
34 If just a port is specified then the RTP stream is assumed to be unicast or
35 broadcast to that port.
36 .PP
37 If an address and a port are specified then the RTP stream is assumed to be
38 multicast to that group address and port.
39 .SH OPTIONS
40 .TP
41 .B \-\-api\fR, -\fB-A\fR \fIAPI\fR
42 Select the playback API.
43 The possibilities are, depending on platform and compilation options:
44 .RS 8
45 .TP
46 .B alsa
47 ALSA.
48 Linux only.
49 .TP
50 .B oss
51 OSS.
52 .TP
53 .B coreaudio
54 Core Audio.
55 OS X only.
56 .TP
57 .B command
58 Pipe audio to a command.
59 .RE
60 .IP
61 The default is the first of the possibilities above that is supported.
62 .TP
63 .B \-\-device \fIDEVICE\fR, \fB\-D \fIDEVICE\fR
64 Specifies the audio device to use.
65 See
66 .B "DEVICE NAMES"
67 below for more information.
68 .TP
69 .B \-\-command \fICOMMAND\fR, \fB-e \fICOMMAND\fR
70 Instead of sending to a physical audio device, invoke \fICOMMAND\fR using the
71 shell and write audio samples to its standard input.
72 Currently the input will be 44100KHz 16-bit signed stereo samples.
73 If \fICOMMAND\fR exits it is re-executed; any samples that had been written to
74 the pipe but not processed by the previous instance will be lost.
75 .IP
76 .B \-\-device
77 is redundant with this option, but you might want to set
78 .BR \-\-pause\-mode .
79 .IP
80 As an example,
81 .B "-e \(aqcat > dump\(aq"
82 would log audio data to a file for later processing.
83 You could convert it to another format with, for instance:
84 .IP
85 .B "sox -c2 -traw -r44100 -s -w dump dump.wav"
86 .TP
87 .B \-\-pause\-mode \fIMODE\fR, \fB-P \fIMODE
88 Set the pause mode for \fB\-\-command\fR to either \fBsilence\fR (the default), in
89 which pauses are represented by sending silent samples, or \fBsuspend\fR, in which
90 writes to  the subprocess are suspended, requiring it to infer a pause from flow
91 control.
92 .TP
93 .B \-\-config \fIPATH\fR, \fB\-C \fIPATH
94 Set the configuration file.
95 The default is
96 .IR pkgconfdir/config .
97 .TP
98 .B \-\-socket \fIPATH\fR, \fB\-s \fIPATH
99 Set the control socket.
100 Normally this would not be used manually.
101 .TP
102 .B \-\-help\fR, \fB\-h
103 Display a usage message.
104 .TP
105 .B \-\-version\fR, \fB\-V
106 Display version number.
107 .SS "Buffer Control Options"
108 You shouldn't need to use these options.
109 Their effects are subject to change between version without warning.
110 You should consult the source code for details of their effects.
111 .TP
112 .B \-\-min \fIFRAMES\fR, \fB\-m \fIFRAMES\fR
113 Specifies the buffer low watermark in frames.
114 This also acts as the target buffer occupancy.
115 .TP
116 .B \-\-max \fIFRAMES\fR, \fB\-x \fIFRAMES\fR
117 Specifies the maximum buffer size in frames.
118 If there are this many frames in the buffer then reading from the
119 network socket will be suspended.
120 The default is twice the \fB\-\-min\fR value.
121 .TP
122 .B \-\-rcvbuf \fIBYTES\fR, \fB\-R \fIBYTES\fR
123 Specifies socket receive buffer size.
124 The default is not to change the buffer size, i.e. you get whatever the
125 local operating system chooses.
126 The buffer size will not be reduced below the operating system's default.
127 .TP
128 .B \-\-monitor\fR, \fB\-M
129 Periodically report how close to the buffer low watermark the buffer is.
130 If you have trouble with poor playback quality, enable this option to see if
131 the buffer is emptying out (or overfilling, though there are measures to
132 prevent that from happening).
133 .SS "Deprecated Options"
134 These options may be removed in a future version.
135 Use \fB\-\-api\fR instead.
136 .TP
137 .B \-\-alsa\fR, \fB\-a
138 Use ALSA to play sound.
139 Only available on Linux.
140 .TP
141 .B \-\-oss\fR, \fB\-o
142 Use OSS to play sound.
143 Only available on Linux and FreeBSD.
144 .TP
145 .B \-\-core\-audio\fR, \fB\-c
146 Use Core Audio to play sound.
147 Only available on Macs.
148 .SH "REMOTE CONTROL"
149 The
150 .B \-\-socket
151 option is used by Disobedience to control a background
152 .B disorder\-playrtp
153 daemon.
154 The socket will be created as a UNIX domain stream socket.
155 When a connection is received a single line is read from it.
156 The following commands are known:
157 .TP
158 .B stop
159 Causes
160 .B disorder\-playrtp
161 to terminate.
162 .TP
163 .B query
164 Causes the string "running" to be sent back.
165 .PP
166 Other commands are ignored.
167 After the first command the connection is closed.
168 Only one connection at a time will be serviced.
169 .PP
170 This protocol is not guaranteed to be stable.
171 .SH "DEVICE NAMES"
172 .SS "Core Audio"
173 On a Mac, the device name can either be the human-readable name of the desired
174 output or its UID.
175 To get a list of the human-readable names, visit System Preferences -> Sound;
176 the Type column has the name you want.
177 .PP
178 For example, you might use "Built-in Output" for the built-in speaker
179 or "Built-in Line Output" if you have connected external speakers.
180 Remember to quote the name.
181 .SH "SEE ALSO"
182 .BR disobedience (1),
183 .BR disorder_config (5),
184 .BR disorderd (8)
185 .\" Local Variables:
186 .\" mode:nroff
187 .\" fill-column:79
188 .\" End: