]> code.delx.au - pulseaudio/blob - src/daemon/default.pa.in
conf: Make sure module-dbus-protocol is loaded after module-default-device-restore
[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 load-module module-jackdbus-detect
85 .endif
86
87 ifelse(@HAVE_BLUEZ@, 1, [dnl
88 ### Automatically load driver modules for Bluetooth hardware
89 .ifexists module-bluetooth-discover@PA_SOEXT@
90 load-module module-bluetooth-discover
91 .endif
92 ])dnl
93
94 ifelse(@HAVE_AF_UNIX@, 1, [dnl
95 ### Load several protocols
96 .ifexists module-esound-protocol-unix@PA_SOEXT@
97 load-module module-esound-protocol-unix
98 .endif
99 load-module module-native-protocol-unix
100 ])dnl
101
102 ### Network access (may be configured with paprefs, so leave this commented
103 ### here if you plan to use paprefs)
104 #load-module module-esound-protocol-tcp
105 #load-module module-native-protocol-tcp
106 ifelse(@HAVE_AVAHI@, 1, [dnl
107 #load-module module-zeroconf-publish
108 ])dnl
109
110 ifelse(@OS_IS_WIN32@, 0, [dnl
111 ### Load the RTP receiver module (also configured via paprefs, see above)
112 #load-module module-rtp-recv
113
114 ### Load the RTP sender module (also configured via paprefs, see above)
115 #load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
116 #load-module module-rtp-send source=rtp.monitor
117
118 ### Load additional modules from GConf settings. This can be configured with the paprefs tool.
119 ### Please keep in mind that the modules configured by paprefs might conflict with manually
120 ### loaded modules.
121 .ifexists module-gconf@PA_SOEXT@
122 .nofail
123 load-module module-gconf
124 .fail
125 .endif
126
127 ### Automatically restore the default sink/source when changed by the user
128 ### during runtime
129 ### NOTE: This should be loaded as early as possible so that subsequent modules
130 ### that look up the default sink/source get the right value
131 load-module module-default-device-restore
132
133 ### Automatically move streams to the default sink if the sink they are
134 ### connected to dies, similar for sources
135 load-module module-rescue-streams
136
137 ### Make sure we always have a sink around, even if it is a null sink.
138 load-module module-always-sink
139
140 ### Honour intended role device property
141 load-module module-intended-roles
142
143 ### Automatically suspend sinks/sources that become idle for too long
144 load-module module-suspend-on-idle
145
146 ### If autoexit on idle is enabled we want to make sure we only quit
147 ### when no local session needs us anymore.
148 .ifexists module-console-kit@PA_SOEXT@
149 load-module module-console-kit
150 .endif
151
152 ### Enable positioned event sounds
153 load-module module-position-event-sounds
154
155 ### Cork music streams when a phone stream is active
156 load-module module-cork-music-on-phone
157
158 ### Modules to allow autoloading of filters (such as echo cancellation)
159 ### on demand. module-filter-heuristics tries to determine what filters
160 ### make sense, and module-filter-apply does the heavy-lifting of
161 ### loading modules and rerouting streams.
162 load-module module-filter-heuristics
163 load-module module-filter-apply
164 ])dnl
165
166 ifelse(@HAVE_DBUS@, 1, [dnl
167 ### Load DBus protocol
168 .ifexists module-dbus-protocol@PA_SOEXT@
169 load-module module-dbus-protocol
170 .endif
171 ])dnl
172
173 ifelse(@HAVE_X11@, 1, [dnl
174 # X11 modules should not be started from default.pa so that one daemon
175 # can be shared by multiple sessions.
176
177 ### Load X11 bell module
178 #load-module module-x11-bell sample=bell-windowing-system
179
180 ### Register ourselves in the X11 session manager
181 #load-module module-x11-xsmp
182
183 ### Publish connection data in the X11 root window
184 #.ifexists module-x11-publish@PA_SOEXT@
185 #.nofail
186 #load-module module-x11-publish
187 #.fail
188 #.endif
189 ])dnl
190
191 ### Make some devices default
192 #set-default-sink output
193 #set-default-source input