Commit graph

38 commits

Author SHA1 Message Date
Wim Taymans
1609126bcd conf: move config file to datadir
Install the config file in $PREFIX/share/pipewire so that a factory
reset can be done by wiping /etc and /home.
Add this new directory to the search path.
System wide config can still be done in /etc, user config in
$HOME/.config/pipewire/ by copying files from $PREFIX/share/pipewire

Fixes #1191
2021-05-17 16:22:31 +02:00
Wim Taymans
a595f88cf1 filter-chain: add example
run with pipewire -c filter-chain/demonic.conf
2021-05-10 11:01:13 +02:00
Peter Hutterer
223f20709d meson: replace join_paths(a, b) with a / b
More readable and from the meson reference manual:
(since 0.49.0) Using the/ operator on strings is equivalent to calling join_paths.
2021-04-15 06:57:00 +00:00
Huang-Huang Bao
f021866adb
meson: fix symbolic link creating on FreeBSD 2021-03-17 19:29:55 +08:00
Huang-Huang Bao
762663e74e
meson: create soft link for 'pipewire-uninstalled', fix gdb target in Makefile 2021-03-14 13:32:08 +08:00
Thibault Saunier
485bae5eb0 meson: Use feature options everywhere it makes sense 2021-03-10 20:18:34 +00:00
Wim Taymans
cab87b6d3e pipewire: make pipewire a generic launcher
It uses the basename as the config file so you can symlink to it
and make new custom servers.
2021-02-25 13:35:04 +01:00
Wim Taymans
7cf07da392 Start media-session and pulse-server in uninstalled config
Also update the INSTALL instructions to match reality.
2021-02-25 07:00:56 +01:00
George Kiagiadakis
3a7ce9660a meson: add option to enable/disable media-session 2021-02-23 16:21:59 +00:00
Wim Taymans
80825aeaea conf: more work on config changes
Add -c option to pipewire to select config file. Use this to select
the uninstalled conf file.
Rename conf properties, prefix with context.
Simplify the main daemon now that everything can go in config.
Simplify pipewire-pulse now that we can put everything in config, it's
now virtually the same as pipewire but with a differenct config file.
Parse server addresses as array of strings.
2021-02-12 10:31:29 +01:00
Wim Taymans
fc90a4e48a Implement config/state file handling
Make methods to load_config and load/save state. For now the config
and state directories are the same but it might not be. Implement
the search path for all config/state files as:

  $XDG_CONFIG_HOME/[$prefix]/$name
  $HOME/.config/[$prefix]/$name
  $PIPEWIRE_CONFIG_DIR/pipewire/[$prefix]/$name
  /etc/pipewire/[$prefix]/$name

Make some config files for jack and RT clients. Make pw-cat use the
client-rt config.

Use core state and config management in media-session.
Move all session manager state and config files to the build dir and
set the PIPEWIRE_CONFIG_DIR to this build dir.
2021-02-12 10:25:11 +01:00
Wim Taymans
c605672d43 Implement per client config files
Move the daemon config file loading to a new conf.c file used by
the context to load the configuration. This replaces the module
profiles and some hacks to move properties around.

If there is nothing other specified with $PIPEWIRE_CONFIG_NAME or
a property, the client.conf file is loaded as a fallback.

Update the session manager config file to load the modules via the
config now. Rename the session modules section to another name.

Update pipewire-pulse to also load a specific pulse property file.
This then makes it pssible to assign specific RT priorities for the
pipewire-pulse process.
2021-02-12 10:07:16 +01:00
Wim Taymans
abe73c9146 meson: use global b_pie to build PIE executables 2021-01-14 16:29:32 +01:00
Wim Taymans
c9354c238f Add -fPIE to installed executables
Fixes #570
2021-01-13 19:40:37 +01:00
Wim Taymans
fee0c2679c daemon: install new config files
See #207
2021-01-13 14:50:52 +01:00
Wim Taymans
1084306f4d disable i18n stuff, something doesn't work on bots 2021-01-08 11:04:03 +01:00
Wim Taymans
3c2794dcc9 add i18n support 2021-01-08 10:26:46 +01:00
Wim Taymans
49d11acde0 daemon: rework config parsing
Replace config parsing for something more flexible based on json.
2020-12-31 16:44:35 +01:00
Wim Taymans
24c68b0067 media-session: add config files
Remove -e and -d options
Manage modules in media-session.conf
Add alsa-monitor.conf that can match node/device properties with
a regex and update properties on it. All previous configuration and
more cane be done with this.
2020-12-30 13:15:08 +01:00
Wim Taymans
261144c27f media-session: add /etc/pipewire/media-session.d/ dir
Placing files in it will activate options in the session manager.
2020-11-25 16:13:20 +01:00
Wim Taymans
041d1a142d Add commented out option to start pipewire-pulse 2020-11-12 17:43:42 +01:00
Wim Taymans
798bcc10b1 pulse: add a small pulseaudio daemon
Add a small application that loads the pulse server and makes it
listen on the pulseaudio socket.
Add some systemd activation files to start the service.
2020-11-12 16:53:55 +01:00
Wim Taymans
7ddc32a113 meson: place full path in the config 2020-07-16 11:44:10 +02:00
Wim Taymans
d3f29f048f meson: use join_paths to join paths 2020-06-10 13:28:15 +02:00
Wim Taymans
baf11b22d4 meson: use the right config file 2020-06-10 13:24:21 +02:00
Florian Klink
d1162f28ef pipewire.conf.in: use absolute path to pipewire-media-session
So pipewire daemon is able to find pipewire-media-session from the
location it's installed to, even when it's not in $PATH.

For the `pw-ininstalled.sh` and `make run` invocations, provide a
`src/daemon/pipewire-uninstalled.conf` that still uses the relative
path, but isn't installed.
2020-06-10 13:20:25 +02:00
Wim Taymans
ac24743b2e the epoll shim should only be used by the system library.
All other places should use the system library to get the right
fds.
2019-11-19 15:16:18 +01:00
Gleb Popov
fd937fa378 On FreeBSD, add dependency on epoll-shim library.
FreeBSD doesn't provide timerfd and eventfd functions. These are implemented in
3rd party library called epoll-shim. Link targets requiring these functions to
this library.
2019-11-19 13:41:40 +01:00
Wim Taymans
85caf0b485 command: move command to the daemon 2019-06-20 11:09:58 +02:00
maxice8
0a8861bcbc meson: Fix configure when systemd option is set to false
Otherwise it fails with systemd variable not found.
2018-11-26 13:24:19 +01:00
Wim Taymans
88d6e52cc7 add systemd socket activation 2018-10-18 12:36:10 +02:00
Wim Taymans
bfcaec75c7 daemon: put version in config
Fixes #88
2018-10-11 09:41:30 +02:00
Rasmus Thomsen
55cb38d0a8 meson: add systemd option
This is handy for source distributions, which want to avoid
automagic dependencies
2018-08-17 17:50:16 +02:00
Wim Taymans
1ace2a5daf make systemd dependency optional
Don't recurse into the directory of systemd when it was not found.
There are still some issues because libudev is actually provided
by systemd these days and we still need that for building the v4l2 and
alsa monitors.
2017-12-14 09:30:34 +01:00
Wim Taymans
36ac8a6545 update docs 2017-09-05 13:35:25 +02:00
Wim Taymans
593df62ccc update spec 2017-08-17 19:42:10 +02:00
Wim Taymans
29eb58f7a2 Add systemd socket activation files
Notify of jack graph changes
2017-08-17 18:59:03 +02:00
Wim Taymans
d1655196c3 move things around 2017-07-11 16:08:22 +02:00
Renamed from pipewire/daemon/meson.build (Browse further)