]> code.delx.au - pulseaudio/blob - src/daemon/default.pa.in
conf: Load switch-on-port-available module by default
[pulseaudio] / src / daemon / default.pa.in
1 #!@PA_BINARY@ -nF
2 #
3 # This file is part of PulseAudio.
4 #
5 # PulseAudio is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU Lesser General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
9 #
10 # PulseAudio is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 # General Public License for more details.
14 #
15 # You should have received a copy of the GNU Lesser General Public License
16 # along with PulseAudio; if not, write to the Free Software Foundation,
17 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
18
19 # This startup script is used only if PulseAudio is started per-user
20 # (i.e. not in system mode)
21 changequote(`[', `]')dnl Set up m4 quoting
22
23 .nofail
24
25 ### Load something into the sample cache
26 ifelse(@OS_IS_WIN32@, 1, [dnl
27 load-sample x11-bell %WINDIR%\Media\ding.wav
28 load-sample-dir-lazy %WINDIR%\Media\*.wav
29 ], [dnl
30 #load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav
31 #load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav
32 #load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav
33 #load-sample-lazy pulse-access /usr/share/sounds/generic.wav
34 ])dnl
35
36 .fail
37
38 ### Automatically restore the volume of streams and devices
39 load-module module-device-restore
40 load-module module-stream-restore
41 load-module module-card-restore
42
43 ### Automatically augment property information from .desktop files
44 ### stored in /usr/share/application
45 load-module module-augment-properties
46
47 ### Load audio drivers statically
48 ### (it's probably better to not load these drivers manually, but instead
49 ### use module-udev-detect -- see below -- for doing this automatically)
50 ifelse(@HAVE_ALSA@, 1, [dnl
51 #load-module module-alsa-sink
52 #load-module module-alsa-source device=hw:1,0
53 ])dnl
54 ifelse(@HAVE_OSS_OUTPUT@, 1, [dnl
55 #load-module module-oss device="/dev/dsp" sink_name=output source_name=input
56 #load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
57 ])dnl
58 ifelse(@HAVE_WAVEOUT@, 1, [dnl
59 load-module module-waveout sink_name=output source_name=input
60 ])dnl
61 #load-module module-null-sink
62 ifelse(@HAVE_MKFIFO@, 1, [dnl
63 #load-module module-pipe-sink
64 ])dnl
65
66 ### Automatically load driver modules depending on the hardware available
67 ifelse(@HAVE_UDEV@, 1, [dnl
68 .ifexists module-udev-detect@PA_SOEXT@
69 load-module module-udev-detect
70 .else
71 ], @HAVE_HAL@, 1, [dnl
72 .ifexists module-hal-detect@PA_SOEXT@
73 load-module module-hal-detect
74 .else
75 ], [dnl
76 .ifexists module-detect@PA_SOEXT@
77 ])dnl
78 ### Use the static hardware detection module (for systems that lack udev/hal support)
79 load-module module-detect
80 .endif
81
82 ### Automatically connect sink and source if JACK server is present
83 .ifexists module-jackdbus-detect@PA_SOEXT@
84 .nofail
85 load-module module-jackdbus-detect
86 .fail
87 .endif
88
89 ifelse(@HAVE_BLUEZ@, 1, [dnl
90 ### Automatically load driver modules for Bluetooth hardware
91 .ifexists module-bluetooth-discover@PA_SOEXT@
92 load-module module-bluetooth-discover
93 .endif
94 ])dnl
95
96 ifelse(@HAVE_AF_UNIX@, 1, [dnl
97 ### Load several protocols
98 .ifexists module-esound-protocol-unix@PA_SOEXT@
99 load-module module-esound-protocol-unix
100 .endif
101 load-module module-native-protocol-unix
102 ])dnl
103
104 ### Network access (may be configured with paprefs, so leave this commented
105 ### here if you plan to use paprefs)
106 #load-module module-esound-protocol-tcp
107 #load-module module-native-protocol-tcp
108 ifelse(@HAVE_AVAHI@, 1, [dnl
109 #load-module module-zeroconf-publish
110 ])dnl
111
112 ifelse(@OS_IS_WIN32@, 0, [dnl
113 ### Load the RTP receiver module (also configured via paprefs, see above)
114 #load-module module-rtp-recv
115
116 ### Load the RTP sender module (also configured via paprefs, see above)
117 #load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
118 #load-module module-rtp-send source=rtp.monitor
119
120 ### Load additional modules from GConf settings. This can be configured with the paprefs tool.
121 ### Please keep in mind that the modules configured by paprefs might conflict with manually
122 ### loaded modules.
123 .ifexists module-gconf@PA_SOEXT@
124 .nofail
125 load-module module-gconf
126 .fail
127 .endif
128
129 ### Automatically restore the default sink/source when changed by the user
130 ### during runtime
131 ### NOTE: This should be loaded as early as possible so that subsequent modules
132 ### that look up the default sink/source get the right value
133 load-module module-default-device-restore
134
135 ### Automatically move streams to the default sink if the sink they are
136 ### connected to dies, similar for sources
137 load-module module-rescue-streams
138
139 ### Make sure we always have a sink around, even if it is a null sink.
140 load-module module-always-sink
141
142 ### Honour intended role device property
143 load-module module-intended-roles
144
145 ### Automatically suspend sinks/sources that become idle for too long
146 load-module module-suspend-on-idle
147
148 ### If autoexit on idle is enabled we want to make sure we only quit
149 ### when no local session needs us anymore.
150 .ifexists module-console-kit@PA_SOEXT@
151 load-module module-console-kit
152 .endif
153
154 ### Enable positioned event sounds
155 load-module module-position-event-sounds
156
157 ### Cork music/video streams when a phone stream is active
158 load-module module-role-cork
159
160 ### Modules to allow autoloading of filters (such as echo cancellation)
161 ### on demand. module-filter-heuristics tries to determine what filters
162 ### make sense, and module-filter-apply does the heavy-lifting of
163 ### loading modules and rerouting streams.
164 load-module module-filter-heuristics
165 load-module module-filter-apply
166 ])dnl
167
168 ifelse(@HAVE_DBUS@, 1, [dnl
169 ### Load DBus protocol
170 .ifexists module-dbus-protocol@PA_SOEXT@
171 load-module module-dbus-protocol
172 .endif
173 ])dnl
174
175 ifelse(@HAVE_X11@, 1, [dnl
176 # X11 modules should not be started from default.pa so that one daemon
177 # can be shared by multiple sessions.
178
179 ### Load X11 bell module
180 #load-module module-x11-bell sample=bell-windowing-system
181
182 ### Register ourselves in the X11 session manager
183 #load-module module-x11-xsmp
184
185 ### Publish connection data in the X11 root window
186 #.ifexists module-x11-publish@PA_SOEXT@
187 #.nofail
188 #load-module module-x11-publish
189 #.fail
190 #.endif
191 ])dnl
192
193 load-module module-switch-on-port-available
194
195 ### Make some devices default
196 #set-default-sink output
197 #set-default-source input