linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 00/20] Remove audio_device and introduce policy plugin
@ 2013-07-03 15:15 Luiz Augusto von Dentz
  2013-07-03 15:15 ` [RFC 01/20] audio/sink: Use service user_data for private data Luiz Augusto von Dentz
                   ` (19 more replies)
  0 siblings, 20 replies; 28+ messages in thread
From: Luiz Augusto von Dentz @ 2013-07-03 15:15 UTC (permalink / raw)
  To: linux-bluetooth

From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

audio_device is no longer needed as btd_service can be used to track
connection states, in fact audio_device probably obscured direct access
to some data types like btd_device and use btd_service_set_user_data to
set profile private data instead of storing everything inside
audio_device.

There are probably more cleanups to audio after this changes, some
policies that should be moved to policy plugin and a much needed split
of audio plugin into smaller plugins, but I decided to stop right here
otherwise the patch-set will get too big to be properly reviewed.

Also since this refactore the audio policy quite extensively this may
create some IOP issues that why Im using RFC here, but I did test this
with quite a few stacks including:

 - iOS 6
 - Android 4.2
 - WP 8
 - Blackberry 10
 - MW600
 - Nokia Purity Pro
 - BlueZ 4

They all seems to be working as before, but I discover some bugs
related to the of btd_service to track connection states those are
fixed in the last 2 patches but there could be more.

Luiz Augusto von Dentz (20):
  audio/sink: Use service user_data for private data
  audio/source: Use service user_data for private data
  audio/control: Use service user_data for private data
  audio/sink: Reduce dependency on struct audio_device
  audio/source: Reduce dependency on struct audio_device
  audio/control: Reduce dependency on struct audio_device
  audio/AVCTP: Remove dependency on struct audio_device
  audio/AVDTP: Remove dependency on struct audio_device
  audio/AVRCP: Remove dependency on struct audio_device
  audio/control: Remove dependency on struct audio_device
  audio/A2DP: Remove dependency on struct audio_device
  audio/sink: Remove dependency on struct audio_device
  audio/source: Remove dependency on struct audio_device
  audio/media: Remove dependency on struct audio_device
  audio/transport: Remove dependency on struct audio_device
  audio/manager: Remove dependency on struct audio_device
  audio/main: Remove dependency on struct audio_device
  plugins/policy: Reword audio policy code in a simple plugin
  audio/sink: Fix not notifying service about connection state
  audio/source: Fix not notifying service about connection state

 Makefile.plugins           |   4 +-
 plugins/policy.c           | 341 +++++++++++++++++++++++++++++++++++++++++++++
 profiles/audio/a2dp.c      | 110 +++++++--------
 profiles/audio/a2dp.h      |   4 +-
 profiles/audio/avctp.c     |  69 ++++-----
 profiles/audio/avctp.h     |  12 +-
 profiles/audio/avdtp.c     |  97 ++++++-------
 profiles/audio/avdtp.h     |  13 +-
 profiles/audio/avrcp.c     |  89 +++++++-----
 profiles/audio/avrcp.h     |   8 +-
 profiles/audio/control.c   | 136 +++++++++---------
 profiles/audio/control.h   |  19 +--
 profiles/audio/device.c    | 261 ----------------------------------
 profiles/audio/device.h    |  43 ------
 profiles/audio/main.c      |   1 -
 profiles/audio/manager.c   | 186 ++++++-------------------
 profiles/audio/manager.h   |  10 --
 profiles/audio/media.c     |  39 +++---
 profiles/audio/sink.c      | 113 ++++++++-------
 profiles/audio/sink.h      |  18 +--
 profiles/audio/source.c    | 111 +++++++--------
 profiles/audio/source.h    |  20 +--
 profiles/audio/transport.c | 109 +++++++++------
 profiles/audio/transport.h |   8 +-
 24 files changed, 884 insertions(+), 937 deletions(-)
 create mode 100644 plugins/policy.c
 delete mode 100644 profiles/audio/device.c
 delete mode 100644 profiles/audio/device.h

-- 
1.8.1.4


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

end of thread, other threads:[~2013-07-08 10:00 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-03 15:15 [RFC 00/20] Remove audio_device and introduce policy plugin Luiz Augusto von Dentz
2013-07-03 15:15 ` [RFC 01/20] audio/sink: Use service user_data for private data Luiz Augusto von Dentz
2013-07-04  6:36   ` Mikel Astiz
2013-07-04  6:49     ` Luiz Augusto von Dentz
2013-07-04 14:28   ` Vinicius Costa Gomes
2013-07-05  6:38     ` Mikel Astiz
2013-07-08 10:00       ` Luiz Augusto von Dentz
2013-07-03 15:15 ` [RFC 02/20] audio/source: " Luiz Augusto von Dentz
2013-07-03 15:15 ` [RFC 03/20] audio/control: " Luiz Augusto von Dentz
2013-07-03 15:15 ` [RFC 04/20] audio/sink: Reduce dependency on struct audio_device Luiz Augusto von Dentz
2013-07-03 15:15 ` [RFC 05/20] audio/source: " Luiz Augusto von Dentz
2013-07-03 15:15 ` [RFC 06/20] audio/control: " Luiz Augusto von Dentz
2013-07-03 15:15 ` [RFC 07/20] audio/AVCTP: Remove " Luiz Augusto von Dentz
2013-07-03 15:15 ` [RFC 08/20] audio/AVDTP: " Luiz Augusto von Dentz
2013-07-03 15:15 ` [RFC 09/20] audio/AVRCP: " Luiz Augusto von Dentz
2013-07-03 15:15 ` [RFC 10/20] audio/control: " Luiz Augusto von Dentz
2013-07-03 15:15 ` [RFC 11/20] audio/A2DP: " Luiz Augusto von Dentz
2013-07-03 15:15 ` [RFC 12/20] audio/sink: " Luiz Augusto von Dentz
2013-07-03 15:15 ` [RFC 13/20] audio/source: " Luiz Augusto von Dentz
2013-07-03 15:15 ` [RFC 14/20] audio/media: " Luiz Augusto von Dentz
2013-07-03 15:15 ` [RFC 15/20] audio/transport: " Luiz Augusto von Dentz
2013-07-03 15:15 ` [RFC 16/20] audio/manager: " Luiz Augusto von Dentz
2013-07-03 15:15 ` [RFC 17/20] audio/main: " Luiz Augusto von Dentz
2013-07-03 15:15 ` [RFC 18/20] plugins/policy: Reword audio policy code in a simple plugin Luiz Augusto von Dentz
2013-07-03 15:15 ` [RFC 19/20] audio/sink: Fix not notifying service about connection state Luiz Augusto von Dentz
2013-07-04  7:05   ` Mikel Astiz
2013-07-04  7:17     ` Luiz Augusto von Dentz
2013-07-03 15:15 ` [RFC 20/20] audio/source: " Luiz Augusto von Dentz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).