mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-07 13:30:09 -05:00
media-session: add bluez-autoswitch module
Add module that switches bluez device profile to HFP/HSP if an input stream (non-monitor, autoconnect) appears, and the current default output device is bluez one that does not have input route. When all input streams are gone, switch all changed profiles back. Pending restore state is saved to session manager state files, in order to restore it if e.g. devices get disconnected. This usually is not currently necessary since the bluez5 plugin prefers to connect to A2DP over HFP, but might matter in future with backchannel-enabled A2DP codecs.
This commit is contained in:
parent
127781cfc8
commit
76bae0cac4
6 changed files with 625 additions and 0 deletions
|
|
@ -94,6 +94,7 @@ int sm_alsa_midi_start(struct sm_media_session *sess);
|
|||
int sm_v4l2_monitor_start(struct sm_media_session *sess);
|
||||
int sm_libcamera_monitor_start(struct sm_media_session *sess);
|
||||
int sm_bluez5_monitor_start(struct sm_media_session *sess);
|
||||
int sm_bluez5_autoswitch_start(struct sm_media_session *sess);
|
||||
int sm_alsa_monitor_start(struct sm_media_session *sess);
|
||||
int sm_suspend_node_start(struct sm_media_session *sess);
|
||||
#ifdef HAVE_SYSTEMD
|
||||
|
|
@ -2388,6 +2389,7 @@ static const struct {
|
|||
{ "v4l2", "video for linux udev detection", sm_v4l2_monitor_start, NULL },
|
||||
{ "libcamera", "libcamera udev detection", sm_libcamera_monitor_start, NULL },
|
||||
{ "bluez5", "bluetooth support", sm_bluez5_monitor_start, NULL },
|
||||
{ "bluez5-autoswitch", "switch bluetooth profiles automatically", sm_bluez5_autoswitch_start, NULL },
|
||||
{ "suspend-node", "suspend inactive nodes", sm_suspend_node_start, NULL },
|
||||
{ "policy-node", "configure and link nodes", sm_policy_node_start, NULL },
|
||||
{ "pulse-bridge", "accept pulseaudio clients", sm_pulse_bridge_start, NULL },
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue