chiark / gitweb /
disobedience more robust against server restart
[disorder] / README.raw
CommitLineData
460b9539 1* DisOrder Raw Format Players
2
3** Purpose
4
5The purpose of raw format players is:
6
7 * Support pausing of playing tracks, with the audio device closed when not
8 in active use.
9
10 * Eliminate the inter-track gap.
11
12 * Perhaps in the future support network play.
13
14** Usage
15
16To use raw format, use the execraw module and make the command choose the
17"disorder" libao driver.
18
19You should pass the "fragile" option to ogg123. This is because ogg123 ignores
20write errors!
21
22mpg321 does not appear to have this bug.
23
24For _non_ raw players it is advisable to use the new --wait-for-device option.
25This repeatedly tries to open the audio device before starting the player
26proper. It times out after a couple of seconds.
27
28See disorder_config(5) and the example configuration file for further
29information and examples.
30
31** Low-Level Details
32
33Raw format players are started slightly differently to normal ones. Before
34they are executed a pipe is created and one end passed to a special speaker
35process, which is spawned by the main server at startup. The file descriptor
36of the player's end is identified by $DISORDER_RAW_FD.
37
38The expected data format is a ao_sample_format structure followed by the raw
39sample data. However, this may be changed without notice in future versions of
40DisOrder. If you need a stable interface here for some reason then get in
41touch.
42
43Raw format players may be started before the track is to be played, and (if the
44track is then removed from the queue before it reaches the head) terminated
45before the track ever reaches a physical speaker. The point of this is to
46allow audio data to be ready to play the moment the previous track end, without
47having to wait for the player to start up. There is no way for a player to
48tell that this is going on.
49
50Local Variables:
51mode:outline
52fill-column:79
53End: