All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC BlueZ v0 00/10] HSP plugin
@ 2013-07-12 10:54 Mikel Astiz
  2013-07-12 10:54 ` [RFC BlueZ v0 01/10] media: Expose Media API internally Mikel Astiz
                   ` (10 more replies)
  0 siblings, 11 replies; 14+ messages in thread
From: Mikel Astiz @ 2013-07-12 10:54 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Mikel Astiz

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

GNOME 3.10 freeze date is 2013-08-19 and they want to upgrade to BlueZ 5.

One of the arguments against the upgrade is the lack of headset support. oFono should be convering this feature but it's development as well as the required work in PulseAudio are advancing too slowly for the mentioned target date.

This patchset proposes a simple HSP plugin implementing the AG role, which is the most common use-case in desktop environments. It's a fallback alternative to a full-featured HSP/HFP implementation (i.e. oFono) in case the later is not available (i.e. not fully implemented or packaged in a specific distro).

I think we could all agree about this not being the best long-term strategy, due to the overlap and conflict with oFono, but it might be useful in the short-term to boost the adoption of BlueZ 5.

The plugin approach is more intrusive than I first thought because the Media API code was significantly simplified when all HSP/HFP code was removed. Hence, the patchset brings this code back along with the necessary APIs to be able to implement this inside a plugin.

In order to test this, some PulseAudio patches are required (the last 5 patches of "[RFC next v5 00/11] bluetooth: BlueZ 5 development patches"). These were never merged in PA due to a chicken-egg problem: there was no code in BlueZ to test against.

Mikel Astiz (10):
  media: Expose Media API internally
  media: Add callback to report new endpoints
  transport: Regroup a2dp-specific members in struct
  transport: Add API to register drivers
  transport: Add API to report suspend/resume complete
  transport: Add microphone/speaker gains
  audio: Add function to remove inactive devices
  hsp: Add initial HSP plugin
  hsp: Add Media API integration
  hsp: Implement media transport driver

 Makefile.plugins           |    3 +
 plugins/hsp.c              | 1357 ++++++++++++++++++++++++++++++++++++++++++++
 profiles/audio/manager.c   |   12 +
 profiles/audio/manager.h   |    1 +
 profiles/audio/media.c     |  132 ++++-
 profiles/audio/media.h     |   30 +
 profiles/audio/transport.c |  384 +++++++++----
 profiles/audio/transport.h |   29 +
 8 files changed, 1818 insertions(+), 130 deletions(-)
 create mode 100644 plugins/hsp.c

-- 
1.8.1.4


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2013-08-02 14:18 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-12 10:54 [RFC BlueZ v0 00/10] HSP plugin Mikel Astiz
2013-07-12 10:54 ` [RFC BlueZ v0 01/10] media: Expose Media API internally Mikel Astiz
2013-07-12 10:54 ` [RFC BlueZ v0 02/10] media: Add callback to report new endpoints Mikel Astiz
2013-07-12 10:54 ` [RFC BlueZ v0 03/10] transport: Regroup a2dp-specific members in struct Mikel Astiz
2013-07-12 10:54 ` [RFC BlueZ v0 04/10] transport: Add API to register drivers Mikel Astiz
2013-07-12 10:54 ` [RFC BlueZ v0 05/10] transport: Add API to report suspend/resume complete Mikel Astiz
2013-07-12 10:54 ` [RFC BlueZ v0 06/10] transport: Add microphone/speaker gains Mikel Astiz
2013-07-12 10:54 ` [RFC BlueZ v0 07/10] audio: Add function to remove inactive devices Mikel Astiz
2013-07-12 10:54 ` [RFC BlueZ v0 08/10] hsp: Add initial HSP plugin Mikel Astiz
2013-07-12 10:54 ` [RFC BlueZ v0 09/10] hsp: Add Media API integration Mikel Astiz
2013-07-12 10:54 ` [RFC BlueZ v0 10/10] hsp: Implement media transport driver Mikel Astiz
2013-07-12 11:28 ` [RFC BlueZ v0 00/10] HSP plugin Luiz Augusto von Dentz
2013-07-12 13:48   ` Mikel Astiz
2013-08-02 14:18     ` Luiz Augusto von Dentz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.