Commit | Line | Data |
---|---|---|
460b9539 | 1 | * DisOrder Raw Format Players |
2 | ||
3 | ** Purpose | |
4 | ||
5 | The 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 | ||
3b1b5e71 RK |
16 | By default, built-in raw-format players are used for several encodings, so you |
17 | do not need to do anything. | |
18 | ||
460b9539 | 19 | ** Low-Level Details |
20 | ||
21 | Raw format players are started slightly differently to normal ones. Before | |
22 | they are executed a pipe is created and one end passed to a special speaker | |
23 | process, which is spawned by the main server at startup. The file descriptor | |
24 | of the player's end is identified by $DISORDER_RAW_FD. | |
25 | ||
26 | The expected data format is a ao_sample_format structure followed by the raw | |
27 | sample data. However, this may be changed without notice in future versions of | |
28 | DisOrder. If you need a stable interface here for some reason then get in | |
29 | touch. | |
30 | ||
31 | Raw format players may be started before the track is to be played, and (if the | |
32 | track is then removed from the queue before it reaches the head) terminated | |
33 | before the track ever reaches a physical speaker. The point of this is to | |
34 | allow audio data to be ready to play the moment the previous track end, without | |
35 | having to wait for the player to start up. There is no way for a player to | |
36 | tell that this is going on. | |
37 | ||
38 | Local Variables: | |
39 | mode:outline | |
40 | fill-column:79 | |
41 | End: |