Fix a possible race condition when shutting down WinMM devices
[openal-soft/android.git] / alsoftrc.sample
blobcae3267145ef984d70cb84bc8c4c68e272d50b4b
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_STEREO32
38 ## hrtf:
39 #  Enables HRTF filters. These filters provide for better sound spatialization
40 #  while using headphones. The default filter will only work when output is
41 #  44100hz stereo. While HRTF is active, the cf_level option is disabled.
42 #  Default is disabled since stereo speaker output quality may suffer.
43 #hrtf = false
45 ## cf_level:
46 #  Sets the crossfeed level for stereo output. Valid values are:
47 #  0 - No crossfeed
48 #  1 - Low crossfeed
49 #  2 - Middle crossfeed
50 #  3 - High crossfeed (virtual speakers are closer to itself)
51 #  4 - Low easy crossfeed
52 #  5 - Middle easy crossfeed
53 #  6 - High easy crossfeed
54 #  Users of headphones may want to try various settings. Has no effect on non-
55 #  stereo modes.
56 #cf_level = 0
58 ## frequency:
59 #  Sets the output frequency.
60 #frequency = 44100
62 ## resampler:
63 #  Selects the resampler used when mixing sources. Valid values are:
64 #  point - nearest sample, no interpolation
65 #  linear - extrapolates samples using a linear slope between samples
66 #  cubic - extrapolates samples using a Catmull-Rom spline
67 #  Specifying other values will result in using the default (linear).
68 #resampler = linear
70 ## rt-prio:
71 #  Sets real-time priority for the mixing thread. Not all drivers may use this
72 #  (eg. PortAudio) as they already control the priority of the mixing thread.
73 #  0 and negative values will disable it. Note that this may constitute a
74 #  security risk since a real-time priority thread can indefinitely block
75 #  normal-priority threads if it fails to wait. As such, the default is
76 #  disabled.
77 #rt-prio = 0
79 ## period_size:
80 #  Sets the update period size, in frames. This is the number of frames needed
81 #  for each mixing update.
82 #period_size = 1024
84 ## periods:
85 #  Sets the number of update periods. Higher values create a larger mix ahead,
86 #  which helps protect against skips when the CPU is under load, but increases
87 #  the delay between a sound getting mixed and being heard.
88 #periods = 4
90 ## sources:
91 #  Sets the maximum number of allocatable sources. Lower values may help for
92 #  systems with apps that try to play more sounds than the CPU can handle.
93 #sources = 256
95 ## stereodup:
96 #  Sets whether to duplicate stereo sounds behind the listener. This provides a
97 #  "fuller" playback quality for surround sound output modes, although each
98 #  individual speaker will have a slight reduction in volume to compensate for
99 #  the extra output speakers. True, yes, on, and non-0 values will duplicate
100 #  stereo sources. 0 and anything else will cause stereo sounds to only play in
101 #  front. This only has an effect when a suitable output format is used (ie.
102 #  those that contain side and/or rear speakers).
103 #stereodup = true
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 #  Backends prepended with - won't be available for use (eg. '-oss,' will allow
111 #  all available backends except OSS). An empty list means the default.
112 #drivers = pulse,alsa,core,oss,solaris,sndio,mmdevapi,dsound,winmm,port,opensl,null,wave
114 ## excludefx:
115 #  Sets which effects to exclude, preventing apps from using them. This can
116 #  help for apps that try to use effects which are too CPU intensive for the
117 #  system to handle. Available effects are: eaxreverb,reverb,echo,modulator,
118 #  dedicated
119 #excludefx =
121 ## slots:
122 #  Sets the maximum number of Auxiliary Effect Slots an app can create. A slot
123 #  can use a non-negligible amount of CPU time if an effect is set on it even
124 #  if no sources are feeding it, so this may help when apps use more than the
125 #  system can handle.
126 #slots = 4
128 ## sends:
129 #  Sets the number of auxiliary sends per source. When not specified (default),
130 #  it allows the app to request how many it wants. The maximum value currently
131 #  possible is 4.
132 #sends =
134 ## layout:
135 #  Sets the virtual speaker layout. Values are specified in degrees, where 0 is
136 #  straight in front, negative goes left, and positive goes right. Unspecified
137 #  speakers will remain at their default positions (which are dependant on the
138 #  output format). Available speakers are back-left(bl), side-left(sl), front-
139 #  left(fl), front-center(fc), front-right(fr), side-right(sr), back-right(br),
140 #  and back-center(bc).
141 #layout =
143 ## layout_*:
144 #  Channel-specific layouts may be specified to override the layout option. The
145 #  same speakers as the layout option are available, and the default settings
146 #  are shown below.
147 #layout_STEREO = fl=-90, fr=90
148 #layout_QUAD   = fl=-45, fr=45, bl=-135, br=135
149 #layout_51CHN  = fl=-30, fr=30, fc=0, bl=-110, br=110
150 #layout_61CHN  = fl=-30, fr=30, fc=0, sl=-90, sr=90, bc=180
151 #layout_71CHN  = fl=-30, fr=30, fc=0, sl=-90, sr=90, bl=-150, br=150
153 ## default-reverb:
154 #  A reverb preset that applies by default to all sources on send 0
155 #  (applications that set their own slots on send 0 will override this).
156 #  Available presets are: Generic, PaddedCell, Room, Bathroom, Livingroom,
157 #  Stoneroom, Auditorium, ConcertHall, Cave, Arena, Hangar, CarpettedHallway,
158 #  Hallway, StoneCorridor, Alley, Forestm City, Moutains, Quarry, Plain,
159 #  ParkingLot, SewerPipe, Underwater, Drugged, Dizzy, Psychotic. Optionally,
160 #  the __ALSOFT_DEFAULT_REVERB env var may be set before running the app
161 #  instead.
162 #default-reverb =
164 ## trap-alc-error:
165 #  Generates a SIGTRAP signal when an ALC device error is generated, on systems
166 #  that support it. This helps when debugging, while trying to find the cause
167 #  of a device error. On Windows, a breakpoint exception is generated.
168 #  Optionally, the __ALSOFT_TRAP_ALC_ERROR env var may be set before running
169 #  the app instead.
170 #trap-alc-error = false
172 ## trap-al-error:
173 #  Generates a SIGTRAP signal when an AL context error is generated, on systems
174 #  that support it. This helps when debugging, while trying to find the cause
175 #  of a context error. On Windows, a breakpoint exception is generated.
176 #  Optionally, the __ALSOFT_TRAP_AL_ERROR env var may be set before running the
177 #  app instead.
178 #trap-al-error = false
181 ## Reverb effect stuff (includes EAX reverb)
183 [reverb]
185 ## boost:
186 #  A global amplification for reverb output, expressed in decibels. The value
187 #  is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will be a
188 #  scale of 4x, etc. Similarly, -6 will be about half, and -12 about 1/4th. A
189 #  value of 0 means no change.
190 #boost = 0
192 ## emulate-eax:
193 #  Allows the standard reverb effect to be used in place of EAX reverb. EAX
194 #  reverb processing is a bit more CPU intensive than standard, so this option
195 #  allows a simpler effect to be used at the loss of some quality.
196 #emulate-eax = false
199 ## ALSA backend stuff
201 [alsa]
203 ## device:
204 #  Sets the device name for the default playback device.
205 #device = default
207 ## device-prefix:
208 #  Sets the prefix used by the discovered (non-default) playback devices. This
209 #  will be appended with "CARD=c,DEV=d", where c is the card id and d is the
210 #  device index for the requested device name.
211 #device-prefix = plughw:
213 ## capture:
214 #  Sets the device name for the default capture device.
215 #capture = default
217 ## capture-prefix:
218 #  Sets the prefix used by the discovered (non-default) capture devices. This
219 #  will be appended with "CARD=c,DEV=d", where c is the card id and d is the
220 #  device number for the requested device name.
221 #capture-prefix = plughw:
223 ## mmap:
224 #  Sets whether to try using mmap mode (helps reduce latencies and CPU
225 #  consumption). If mmap isn't available, it will automatically fall back to
226 #  non-mmap mode. True, yes, on, and non-0 values will attempt to use mmap. 0
227 #  and anything else will force mmap off.
228 #mmap = true
231 ## OSS backend stuff
233 [oss]
235 ## device:
236 #  Sets the device name for OSS output.
237 #device = /dev/dsp
239 ## capture:
240 #  Sets the device name for OSS capture.
241 #capture = /dev/dsp
244 ## Solaris backend stuff
246 [solaris]
248 ## device:
249 #  Sets the device name for Solaris output.
250 #device = /dev/audio
253 ## MMDevApi backend stuff
255 [mmdevapi]
258 ## DirectSound backend stuff
260 [dsound]
263 ## Windows Multimedia backend stuff
265 [winmm]
268 ## PortAudio backend stuff
270 [port]
272 ## device:
273 #  Sets the device index for output. Negative values will use the default as
274 #  given by PortAudio itself.
275 #device = -1
277 ## capture:
278 #  Sets the device index for capture. Negative values will use the default as
279 #  given by PortAudio itself.
280 #capture = -1
283 ## PulseAudio backend stuff
285 [pulse]
287 ## spawn-server:
288 #  Attempts to spawn a PulseAudio server when requesting to open a PulseAudio
289 #  device. Note that some apps may open and probe all enumerated devices on
290 #  startup, causing a server to spawn even if a PulseAudio device is not
291 #  actually selected. Setting autospawn to false in Pulse's client.conf will
292 #  still prevent autospawning even if this is set to true.
293 #spawn-server = false
296 ## Wave File Writer stuff
298 [wave]
300 ## file:
301 #  Sets the filename of the wave file to write to. An empty name prevents the
302 #  backend from opening, even when explicitly requested.
303 #  THIS WILL OVERWRITE EXISTING FILES WITHOUT QUESTION!
304 #file =