/** \mainpage PipeWire Media Session

PipeWire Media Session is the reference/example session manager provided by
the [PipeWire](https://pipewire.org) project.

On startup, Media Session reads the `media-session.conf`
configuration file to configure itself. The following directories are searched
for this file:

- in `$XDG_CONFIG_HOME/pipewire/media-session.d/` (usually
`$HOME/.config/pipewire/media-session.d/`)
- `$sysconfdir/pipewire/media-session.d` (usually
`/etc/pipewire/media-session.d/`)
- `$datadir/pipewire/media-session.d/` (usually
`/usr/share/pipewire/media-session.d/`)

The environment variable `MEDIA_SESSION_CONFIG_DIR` can be used to
specify an alternative config directory.

## Access management

The \ref page_media_session_module_access_flatpak module handles clients
that have \ref PW_KEY_ACCESS set to "flatpak". Other clients are
ignored.

The module sets the permissions of all objects to `RX`. This limits the
flatpaks from doing modifications to other objects.

Because this will also set the core object permission `R`, the client will
resume with the new permissions.

`pipewire-media-session` implements \ref PW_KEY_MEDIA_CATEGORY type
"Manager" applications by simply setting the client permissions to ALL. No
additional checks are performed yet.

## Modules

List of Media Session modules:

- \subpage page_media_session_module_access_flatpak
- \subpage page_media_session_module_access_portal
- \subpage page_media_session_module_alsa_endpoint
- \subpage page_media_session_module_alsa_midi
- \subpage page_media_session_module_alsa_monitor
- \subpage page_media_session_module_bluez_autoswitch
- \subpage page_media_session_module_bluez_endpoint
- \subpage page_media_session_module_bluez_monitor
- \subpage page_media_session_module_default_nodes
- \subpage page_media_session_module_default_profile
- \subpage page_media_session_module_default_routes
- \subpage page_media_session_module_libcamera_monitor
- \subpage page_media_session_module_logind
- \subpage page_media_session_module_metadata
- \subpage page_media_session_module_no_dsp
- \subpage page_media_session_module_policy_endpoint
- \subpage page_media_session_module_policy_node
- \subpage page_media_session_module_restore_stream
- \subpage page_media_session_module_session_manager
- \subpage page_media_session_module_stream_endpoint
- \subpage page_media_session_module_stream_follow_default
- \subpage page_media_session_module_suspend_node
- \subpage page_media_session_module_v4l2_endpoint
- \subpage page_media_session_module_v4l2_monitor

*/
