Commit graph

159 commits

Author SHA1 Message Date
Dennis D
f8e7b39c25 Update 10-default-policy.lua
Added "telegram-desktop", which is the name used by later versions of Telegram.
(tested on Telegram version 3.6.1)
2022-04-09 14:31:31 +00:00
Joker 234
f7c01d2475 Add Linphone to "media-role.applications"
Linphone (4.2.5) doesn't set any media.role → linphone should be in this predefined list as well.
2022-04-08 09:49:14 +00:00
George Kiagiadakis
0da29f3818 config: document which options need to be turned off to use wp without D-Bus
and actually implement an option for the logind module

Related to: #237
2022-04-04 14:38:28 +03:00
Dennis D
538976b54a Add Telegram Desktop to the list of programs to enable bluetooth autoswitching.
Resolves: https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/215
2022-03-08 13:43:30 +00:00
Julian Bouzas
33d105c2b6 conf: add property to disable dummy AVRCP player in bluetooth.conf 2022-02-25 16:41:49 +00:00
Marko Gobin
b8b3f17181 config: add more chromium based browsers to media-role.applications 2022-02-21 07:42:11 +00:00
Julian Bouzas
edf0dc69d1 config: rename default-routes.lua to policy-device-routes.lua
This makes the configuration more consistent. The storing of the default routes
logic needs to be implemented eventually in a C module-default-routes, similar
to module-default-profile.
2022-02-16 13:37:40 -05:00
Julian Bouzas
2d303cf6a9 policy-device-profile: add option to set persistent profiles
Persistent profiles will never change. This can be useful if we want to keep
a specific device profile even if a new one with higher priority becomes
available. For example, keep the 'off' profile instead of switching to best
profile when monitor screens is resumed.

See #138
2022-02-16 13:37:40 -05:00
Julian Bouzas
b3446efa16 config: port device-activation module to policy-device.profile.lua
Because all wireplumber policies are in Lua.
2022-02-16 13:37:40 -05:00
George Kiagiadakis
5028737032 restore-stream: add rules matching to allow overriding things per stream
You can now override:
* Whether to store/restore properties like volume
* Whether to store/restore the target.node
* Things like media.name/application.name/etc which affect which
  entry is going to be used in the state file

Related to #169
2022-02-03 12:07:00 +02:00
Julian Bouzas
5f2da84d51 config: move restore-stream.lua configuration in its own file
Also makes restoring the stream properties and target optional.
2022-02-02 18:37:39 +00:00
Julian Bouzas
b1b603443f restore-stream: use the new Json API and remove route-settings-api module 2022-02-02 18:37:39 +00:00
Julian Bouzas
384c5775f8 default-nodes: add option to auto-switch to echo-cancel nodes
This option is enabled by default now.
2022-01-27 14:55:21 -05:00
Niklas Furtwängler
da023e1834 conf: added ability to disable MIDI functionality entirely 2022-01-27 15:22:33 +00:00
Wim Taymans
0c3be71ceb conf: update module-rt usage in bluetooth.conf
We now only use module-rt. Explicitly set the nice.level to -11 instead
of leaving the default (do nothing). Adjust the rt limits to their new
defaults in module-rt (unlimited).
2022-01-19 12:22:58 +01:00
Wim Taymans
9100064446 conf: update module-rt usage
We now only use module-rt. Explicitly set the nice.level to -11 instead
of leaving the default (do nothing). Adjust the rt limits to their
defaults in module-rt.
2022-01-18 13:34:23 +01:00
Sanchayan Maity
ef7504bdc8 scripts: policy-bluetooth: Support saving of user selected headset profile
The "saved headset profile" is taken as the profile that was active when
the headset mode deactivates. So in case the user switches profile during
the time when the Communication input stream is active, the selected
profile is remembered next time.
2022-01-14 16:49:27 +00:00
Sanchayan Maity
99d0fa3196 scripts: Add a bluetooth policy script
Allow switching bluetooth profile based on presence of media.role or
a list of specified applications.
2022-01-14 16:49:27 +00:00
mazunki
bbd23fa3e3 added support for disabling nodes and devices through conf 2022-01-12 13:07:05 +00:00
Ashok Sidipotu
99dfa7d38a config: update the endpoints config
-Sync endpoints config from AGL.
-Add a capture endpoint.
2022-01-11 15:30:30 +05:30
George Kiagiadakis
dc50f95910 config: add commented-out "session.suspend-timeout-seconds" option in alsa config
For the sake of discovering this more easily
2022-01-05 08:28:52 +02:00
Wim Taymans
071ad0e43f config: add property for audio.allowed-rates 2022-01-03 16:05:17 +01:00
George Kiagiadakis
64841f5ada config: enable RT on the data thread for bluetooth nodes
Closes #132
2022-01-03 13:36:49 +02:00
George Kiagiadakis
69bd1e51ce default-routes: make the default volume configurable 2021-11-30 19:30:25 +02:00
Wim Taymans
703c35cfd4 access-config: add restricted access permissions
When a pulse client connects with TCP, it is given the 'restricted'
access policy. Assign 'rx' permissions for those clients instead of
blocking forever.

See pipewire#1863
2021-11-29 09:25:18 +01:00
Ashok Sidipotu
784c405c31 wp: support loading optional modules
-some modules will not be available during runtime, due to
  external dependencies.
 -these modules can now be marked optional.
 -loading of these optional modules will be attempted and if
  they are not available, wp will recover and will not be
  terminated.
2021-10-14 06:27:53 +00:00
George Kiagiadakis
e76c67c45c policy: refactor/improve policy-node & session items to fix linking to monitors
* populate most session item properties from create-item.lua to keep
  things more compact and readable
* use a standard naming scheme for the session item properties
* use session item properties instead of node properties in policy-node.lua
* improve policy-node's performance by converting the properties dictionary
  less times for each session item
* refactor some policy logic and make things slighly more readable
* change the accepted values for 'context' in wp_si_linkable_get_ports();
  use "input" and "output" to keep things clear, because the previous use
  of NULL and "reverse" were implying that a node has only one "standard"
  direction, but this is complicated for sinks w/ monitors and duplex nodes
* allow using monitors (which are Audio/Sink nodes in fact) as sources
* treat Audio/Duplex nodes as sinks, like p-m-s does
* respect the "stream.capture.sink" property of streams

Fixes #66
2021-10-08 00:26:41 +03:00
Wim Taymans
7907d39aff scripts: add libcamera monitor 2021-10-06 10:22:36 +02:00
Wim Taymans
a13308bac7 implement route-settings metadata and notification volume
Make a module that creates a route-settings metadata and provides
some helper functions to parse the json fields.

Load the route-settings module in the policy.

Move the Notification settings to the metadata. Listen for metadata
updates and update our state table.

Fixes #51
2021-10-05 15:47:46 +00:00
George Kiagiadakis
2a99d6a835 default-access: grant full permissions to flatpak "Manager" apps
Fixes: #59
2021-10-04 09:20:53 +03:00
Pauli Virtanen
e9b7d02b22 config: bluez: update to match current bluez5 spa module
Update 50-bluez-config.lua from media-session.d/bluez-monitor.conf
2021-09-29 19:18:18 +03:00
George Kiagiadakis
a253aa4c49 modules: implement logind module and integrate with bluez monitor
This copies the logic of media-session's logind module and allows
the bluez monitor to be active in only one user session at a time.
This is especially useful to avoid interference between the gdm
session and the actual user session, which momentarily both have
wireplumber running when logging in/out.

Fixes #54
2021-09-27 18:30:32 +03:00
Björn Daase
f769e2ea36 50-alsa-config.lua: Add missing commas
Be consistent with all other files and add commas at the end of sections.
2021-09-10 08:53:34 +00:00
George Kiagiadakis
8949e98d1f remove wpipc
This component has been split out to form a separate project,
moved to https://git.automotivelinux.org/src/pipewire-ic-ipc/
2021-08-19 16:53:28 +03:00
Julian Bouzas
8c9da58d76 src: scripts: add alsa-mini.lua monitor 2021-08-10 11:50:51 +03:00
Julian Bouzas
907a67fcb1 modules: add new API module to monitor files 2021-08-10 11:50:51 +03:00
Arun Raghavan
e1c40a567c scripts: Add an intended-roles policy script
This routes streams of a given media.role to devices which specify that
role in device.intended-roles.
2021-06-20 18:45:28 -04:00
George Kiagiadakis
cead4dffb8 config: document the duck.level policy property 2021-06-10 14:53:09 +03:00
George Kiagiadakis
2e56aeb44a scripts: initial restore-stream implementation
Related to #33
2021-06-07 17:47:42 +03:00
George Kiagiadakis
ee87161d29 default-routes: re-implement the default-routes module in lua
using the logic from the default-routes of pipewire-media-session

Fixes: #28, #30
Related: !156
2021-06-03 16:26:28 +03:00
George Kiagiadakis
94dd3c4c1c config: disable role-based endpoints in the default configuration 2021-05-28 17:36:57 +03:00
George Kiagiadakis
fd7b68dfd7 scripts: remove static-sessions 2021-05-21 19:57:31 +03:00
George Kiagiadakis
c0099a99d6 config: bluez: update to match media-session's bluez-monitor.conf 2021-05-07 12:10:31 +03:00
George Kiagiadakis
157d4d95c9 config: disable ipc module by default and move it to the main instance
This is not part of the policy, it's something standalone that writes metadata

Needs to be disabled by default, since it's not built by default now
2021-05-06 15:19:55 +03:00
George Kiagiadakis
86ffac19e5 wpipc: place sockets in the same runtime directory as pipewire 2021-05-06 14:15:24 +03:00
Julian Bouzas
207268e189 modules: add ipc module
Handles SUSPEND and RESUME wpipc requests in order to set metadata that will
eventually unlink or re-link endpoints.
2021-05-04 19:52:09 -04:00
George Kiagiadakis
28a4229681 config: unify config and config-split
After all, we can just load multiple lua config files/directories
from a single .conf file and so have both styles available for the
user to choose at runtime
2021-04-27 19:50:38 +03:00
George Kiagiadakis
4f79bccbe8 policy-endpoint: implement volume ducking 2021-04-26 18:31:19 +03:00
George Kiagiadakis
42e75028d2 access: add a more generic "default" access policy script
Configurable. Replaces the "flatpak" access policy.
2021-04-26 16:56:17 +03:00
George Kiagiadakis
c2834ea344 lua: remove the ability to specify spa_libs in the lua config
This is not useful, we can do this on the pipewire-style config files
2021-04-22 17:44:17 +03:00