[pulseaudio-discuss] [RFC v1 0/6] Add card profile availability
Mikel Astiz
mikel.astiz.oss at gmail.com
Mon Feb 18 00:10:29 PST 2013
From: Mikel Astiz <mikel.astiz at bmw-carit.de>
Second proposal integrating Tanu's comments:
1. pa_availability_t used for both port and profile availability.
2. Carefully consider profile "off" in automatic profiles witch policies.
3. Availability of "bluetooth-input" and "bluetooth-output" handled separately.
>From original cover-letter:
It has been recently discussed how ports should be used in the Bluetooth card module, whether they should be merged or not, and how the bluetooth-related information is exposed to both external components (i.e. UI) and internal policy modules.
In a nutshell, the problem is as follows: the internal policies are interested in profile-specific information (HSP/HFP vs A2DP) while the ports should ideally be associated to physical entities (and the Bluetooth profile should make no difference).
A natural way to solve this problem is by adding a new flag to the card profiles, representing the availability of each profile. This is similar to port-availability but with different semantics, representing the state of each invidivual Bluetooth profile.
This patchset extends the core with such a flag, which sounds useful even beyond the scope of this specific problem (a UI could use this information to gray out profiles).
Mikel Astiz (6):
core: Rename pa_available_t to pa_available_t
card: Add card profile availability
cli: Show card profile availability status
bluetooth: Expose card profile availability
bluetooth: Use profile availability to auto-switch profiles
bluetooth: Merge all ports into "bluetooth-input" and
"bluetooth-output"
src/modules/alsa/alsa-mixer.c | 12 +-
src/modules/alsa/alsa-mixer.h | 2 +-
src/modules/alsa/alsa-ucm.c | 4 +-
src/modules/alsa/module-alsa-card.c | 10 +-
src/modules/bluetooth/module-bluetooth-device.c | 324 +++++++-----------------
src/modules/bluetooth/module-bluetooth-policy.c | 105 ++++----
src/modules/module-switch-on-port-available.c | 20 +-
src/pulse/def.h | 18 +-
src/pulse/introspect.c | 10 +-
src/pulse/introspect.h | 6 +-
src/pulsecore/card.c | 20 ++
src/pulsecore/card.h | 4 +
src/pulsecore/cli-text.c | 13 +-
src/pulsecore/core.h | 1 +
src/pulsecore/device-port.c | 10 +-
src/pulsecore/device-port.h | 4 +-
src/utils/pactl.c | 4 +-
17 files changed, 228 insertions(+), 339 deletions(-)
--
1.8.1
More information about the pulseaudio-discuss
mailing list