[pulseaudio-discuss] [PATCH v2 00/22] Revisiting Bluetooth modules

Mikel Astiz mikel.astiz.oss at gmail.com
Fri Aug 31 03:50:52 PDT 2012


From: Mikel Astiz <mikel.astiz at bmw-carit.de>

This patchset revisits the mapping between Bluetooth (BT) and PulseAudio (PA) states, as well as how the PA infrastructure and APIs fit the BT use-cases, including desktop and IVI use-cases. The topic has already been discussed several times in the mailing-list and IRC.

This third proposal (v2) basically includes bugfixes and minor refactorings.

The most relevant changes are:

1. Suspend case: now PA_SUSPEND_USER is used to represent audio stream is down (patches v2 12/22 and 15/22), instead of PA_SUSPEND_IDLE as in v1. The exception is when doing gateway role, where we start with PA_SUSPEND_IDLE (see patch v2 20/22).

2. Bug in patch v1 03/18: the patch was less trivial than it seemed first, and has now been rewriten into v2 11/22.

3. Patch v1 16/18 has been dropped since it's not essential now that PA_SUSPEND_USER is being used.

Therefore, the updated grouping of the patches would be as follows:

- Patches 1..9 propose minor changes, refactoring for later patches and some minor fixes (grouped in the beginning for readability).

- Patches 10..15 implement the new proposal for module-bluetooth-device. This is the main contribution of the patchset.

- Patches 16..21 focus on the integration with other modules.

- Patch 22 is experimental and should not be applied yet.

Looking forward for your comments.

Mikel Astiz (22):
  bluetooth: Remove return value of bt_transport_config()
  bluetooth: Remove return value of setup_stream()
  bluetooth: Refactor code to helper function
  bluetooth: Refactor parsing of signal PropertyChanged
  bluetooth: Fix wrongly set "phone" role for HFGW
  bluetooth: Fix using garbage memory
  bluetooth: Fix check if transport exists before acquire
  sink,source: Support creating suspended sinks and sources
  bluetooth: Provide dummy set_port callbacks
  bluetooth: Support port availability flag
  bluetooth: Config MTU transport after acquire
  bluetooth: Set profile even if transport not acquired
  bluetooth: Do not acquire transport during profile change
  bluetooth: Acquire transport when becomes available
  bluetooth: Release transport when not available
  bluetooth: Do not switch to HFGW automatically
  bluetooth: Do not set profile in bluetooth-discover
  bluetooth: Avoid suspend-on-idle for HFGW
  bluetooth: Avoid suspend-on-idle for A2DP source
  bluetooth: Let suspend-on-idle request audio in headset
  bluetooth: Add port availability transition policies
  bluetooth-experimental: Fix race condition using accesstype "?"

 src/modules/bluetooth/bluetooth-util.c            |    1 -
 src/modules/bluetooth/module-bluetooth-device.c   |  437 ++++++++++++++++-----
 src/modules/bluetooth/module-bluetooth-discover.c |   14 -
 src/modules/bluetooth/module-bluetooth-policy.c   |   94 +++++-
 src/pulsecore/sink.c                              |    7 +-
 src/pulsecore/sink.h                              |    2 +
 src/pulsecore/source.c                            |    7 +-
 src/pulsecore/source.h                            |    2 +
 8 files changed, 444 insertions(+), 120 deletions(-)

-- 
1.7.7.6



More information about the pulseaudio-discuss mailing list