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.
This commit is contained in:
Wim Taymans 2021-02-11 17:54:21 +01:00
parent c605672d43
commit fc90a4e48a
13 changed files with 380 additions and 216 deletions

View file

@ -14,7 +14,7 @@ run: all
SPA_PLUGIN_DIR=@BUILD_ROOT@/spa/plugins \
PIPEWIRE_MODULE_DIR=@BUILD_ROOT@/src/modules/ \
PATH=@BUILD_ROOT@/src/examples:$(PATH) \
PIPEWIRE_CONFIG_DIR=@SOURCE_ROOT@/src/daemon/ \
PIPEWIRE_CONFIG_DIR=@BUILD_ROOT@/src/daemon/ \
ACP_PATHS_DIR=@SOURCE_ROOT@/spa/plugins/alsa/mixer/paths \
ACP_PROFILES_DIR=@SOURCE_ROOT@/spa/plugins/alsa/mixer/profile-sets \
$(DBG) @BUILD_ROOT@/src/daemon/pipewire