Stop and start the backend device only if new attributes are being requested
[openal-soft/android/lowlatency.git] / alsoftrc.sample
blobca8d93a6bf6a16b1bd3de026021f6ad1d958deac
1 # OpenAL config file. Options that are not under a block or are under the
2 # [general] block are for general, non-backend-specific options. Blocks may
3 # appear multiple times, and duplicated options will take the last value
4 # specified.
5 # The system-wide settings can be put in /etc/openal/alsoft.conf and user-
6 # specific override settings in ~/.alsoftrc.
7 # For Windows, these settings should go into %AppData%\alsoft.ini
8 # The environment variable ALSOFT_CONF can be used to specify another config
9 # override
11 # Option and block names are case-insenstive. The supplied values are only
12 # hints and may not be honored (though generally it'll try to get as close as
13 # possible). Note: options that are left unset may default to app- or system-
14 # specified values. These are the current available settings:
16 ## format:
17 #  Sets the output format. Can be one of:
18 #  AL_FORMAT_MONO8    (8-bit mono)
19 #  AL_FORMAT_STEREO8  (8-bit stereo)
20 #  AL_FORMAT_QUAD8    (8-bit 4-channel)
21 #  AL_FORMAT_51CHN8   (8-bit 5.1 output)
22 #  AL_FORMAT_61CHN8   (8-bit 6.1 output)
23 #  AL_FORMAT_71CHN8   (8-bit 7.1 output)
24 #  AL_FORMAT_MONO16   (16-bit mono)
25 #  AL_FORMAT_STEREO16 (16-bit stereo)
26 #  AL_FORMAT_QUAD16   (16-bit 4-channel)
27 #  AL_FORMAT_51CHN16  (16-bit 5.1 output)
28 #  AL_FORMAT_61CHN16  (16-bit 6.1 output)
29 #  AL_FORMAT_71CHN16  (16-bit 7.1 output)
30 #  AL_FORMAT_MONO32   (32-bit float mono)
31 #  AL_FORMAT_STEREO32 (32-bit float stereo)
32 #  AL_FORMAT_QUAD32   (32-bit float 4-channel)
33 #  AL_FORMAT_51CHN32  (32-bit float 5.1 output)
34 #  AL_FORMAT_61CHN32  (32-bit float 6.1 output)
35 #  AL_FORMAT_71CHN32  (32-bit float 7.1 output)
36 #format = AL_FORMAT_STEREO16
38 ## cf_level:
39 #  Sets the crossfeed level for stereo output. Valid values are:
40 #  0 - No crossfeed
41 #  1 - Low crossfeed
42 #  2 - Middle crossfeed
43 #  3 - High crossfeed (virtual speakers are closer to itself)
44 #  4 - Low easy crossfeed
45 #  5 - Middle easy crossfeed
46 #  6 - High easy crossfeed
47 #  Users of headphones may want to try various settings. Has no effect on non-
48 #  stereo modes.
49 #cf_level = 0
51 ## head_dampen:
52 #  Sets the amount of dampening on sounds emanating from behind the listener.
53 #  This is used to simulate the natural occlusion of the head, which is
54 #  typically missing with mono and stereo output, and as such, only works on
55 #  mono and stereo output modes. Valid values range from 0 to 1 (inclusive),
56 #  and higher values provide a stronger effect.
57 #head_dampen = 0.25
59 ## frequency:
60 #  Sets the output frequency.
61 #frequency = 44100
63 ## resampler:
64 #  Selects the resampler used when mixing sources. Valid values are:
65 #  0 - None (nearest sample, no interpolation)
66 #  1 - Linear (extrapolates samples using a linear slope between samples)
67 #  2 - Cosine (extrapolates using a (co)sine slope)
68 #  Specifying other values will result in using the default (linear).
69 #resampler = 1
71 ## rt-prio:
72 #  Sets real-time priority for the mixing thread. Not all drivers may use this
73 #  (eg. PulseAudio) as they already control the priority of the mixing thread.
74 #  0 and negative values will disable it. Note that this may constitute a
75 #  security risk since a real-time priority thread can indefinitely block
76 #  normal-priority threads if it fails to wait. As such, the default is
77 #  disabled.
78 #rt-prio = 0
80 ## period_size:
81 #  Sets the update period size, in frames. This is the number of frames needed
82 #  for each mixing update. If the deprecated 'refresh' option is specified and
83 #  this isn't, the value will be calculated as size = refresh/periods.
84 #period_size = 1024
86 ## periods:
87 #  Sets the number of update periods. Higher values create a larger mix ahead,
88 #  which helps protect against skips when the CPU is under load, but increases
89 #  the delay between a sound getting mixed and being heard.
90 #periods = 4
92 ## sources:
93 #  Sets the maximum number of allocatable sources. Lower values may help for
94 #  systems with apps that try to play more sounds than the CPU can handle.
95 #sources = 256
97 ## stereodup:
98 #  Sets whether to duplicate stereo sounds on the rear and side speakers for 4+
99 #  channel output. This can make stereo sources substantially louder than mono
100 #  or even 4+ channel sources, but provides a "fuller" playback quality. True,
101 #  yes, on, and non-0 values will duplicate stereo sources. 0 and anything else
102 #  will cause stereo sounds to only play out the front speakers.
103 #stereodup = false
105 ## drivers:
106 #  Sets the backend driver list order, comma-seperated. Unknown backends and
107 #  duplicated names are ignored. Unlisted backends won't be considered for use
108 #  unless the list is ended with a comma (eg. 'oss,' will list OSS first
109 #  followed by all other available backends, while 'oss' will list OSS only).
110 #  An empty list means the default.
111 #drivers = pulse,alsa,oss,solaris,dsound,winmm,port,wave
113 ## excludefx:
114 #  Sets which effects to exclude, preventing apps from using them. This can
115 #  help for apps that try to use effects which are too CPU intensive for the
116 #  system to handle. Available effects are: eaxreverb,reverb,echo,modulator
117 #excludefx =
119 ## slots:
120 #  Sets the maximum number of Auxiliary Effect Slots an app can create. A slot
121 #  can use a non-negligible amount of CPU time if an effect is set on it even
122 #  if no sources are feeding it, so this may help when apps use more than the
123 #  system can handle.
124 #slots = 4
126 ## sends:
127 #  Sets the maximum number of auxiliary sends per source. The total number of
128 #  sends possible is defined at compile time and thus can not be increased
129 #  beyond the default (2).
130 #sends = 2
132 ## layout:
133 #  Sets the virtual speaker layout. Values are specified in degrees, where 0 is
134 #  straight in front, negative goes left, and positive goes right. Unspecified
135 #  speakers will remain at their default positions (which are dependant on the
136 #  output format). Available speakers are back-left(bl), side-left(sl), front-
137 #  left(fl), front-center(fc), front-right(fr), side-right(sr), back-right(br),
138 #  and back-center(bc).
139 #layout =
142 ## ALSA backend stuff
144 [alsa]
146 ## device:
147 #  Sets the device name for the default playback device.
148 #device = default
150 ## capture:
151 #  Sets the device name for the default capture device.
152 #capture = default
154 ## mmap:
155 #  Sets whether to try using mmap mode (helps reduce latencies and CPU
156 #  consumption). If mmap isn't available, it will automatically fall back to
157 #  non-mmap mode. True, yes, on, and non-0 values will attempt to use mmap. 0
158 #  and anything else will force mmap off.
159 #mmap = true
162 ## OSS backend stuff
164 [oss]
166 ## device:
167 #  Sets the device name for OSS output.
168 #device = /dev/dsp
170 ## capture:
171 #  Sets the device name for OSS capture.
172 #capture = /dev/dsp
175 ## Solaris backend stuff
177 [solaris]
179 ## device:
180 #  Sets the device name for Solaris output.
181 #device = /dev/audio
184 ## DirectSound backend stuff
186 [dsound]
189 ## Windows Multimedia backend stuff
191 [winmm]
194 ## PortAudio backend stuff
196 [port]
198 ## device:
199 #  Sets the device index for output. Negative values will use the default as
200 #  given by PortAudio itself.
201 #device = -1
203 ## capture:
204 #  Sets the device index for capture. Negative values will use the default as
205 #  given by PortAudio itself.
206 #capture = -1
209 ## PulseAudio backend stuff
211 [pulse]
213 ## spawn-server:
214 #  Attempts to spawn a PulseAudio server when requesting to open a PulseAudio
215 #  device. Note that some apps may open and probe all enumerated devices on
216 #  startup, causing a server to spawn even if a PulseAudio device is not
217 #  actually selected. Setting autospawn to false in Pulse's client.conf will
218 #  still prevent autospawning even if this is set to true.
219 #spawn-server = false
221 ## buffer-length:
222 #  Specifies the PulseAudio buffer length, in sample frames. When set to a
223 #  non-0 value, it specifies the total buffer length for the playback stream,
224 #  overriding the period settings. Otherwise it uses the period size and count
225 #  to calculate a buffer size. PulseAudio, unlike other backends, does not work
226 #  in period chunks, but instead just has one buffer block which is refilled as
227 #  it nears empty. Because of this, the usual buffering metrics are unsuitable,
228 #  with the default 4096 frames being needlessly large.
229 #buffer-length = 2048
232 ## Wave File Writer stuff
234 [wave]
236 ## file:
237 #  Sets the filename of the wave file to write to. An empty name prevents the
238 #  backend from opening, even when explicitly requested.
239 #  THIS WILL OVERWRITE EXISTING FILES WITHOUT QUESTION!
240 #file =