Commit graph

1394 commits

Author SHA1 Message Date
Kevin Rocard
c9eb1ead66 Audio V4: Split system and vendor Audio.h
audio.h and its dependencies (audio-effect.h, sound_trigger.h...)
used to be shared between system and vendor code.

This led to multiple problems:

1) Such sharing contradicts the Treble policy of
strict independence of framework and vendor code.

2) When audio.h was changed, every vendor needed to update
its code in the next release. This meant that audio*.h
headers were mostly changed in backward compatible manner.
Nevertheless, for P the HIDL interface and thus the audio.h
interface are changed in backward incompatible way.
(Some enum are becoming 64 bit long).

3) As the headers were common, some API used only by the framework
needed to be visible to the vendors (mostly enum values).

4) Treble policy is to support at least one previous HAL version

As a result the audio*.h headers are now duplicated,
one set for the framework, and one for the vendor.

Each set will evolve independently. After this split,
the framework-only APIs will be removed from the vendor headers
and vice versa.

The split is implements as such:

 + for system code

    - NOT moving the libaudio_system_headers
      Eg: system/audio.h and system/audio_effects/effect_equalizer.h
          are still in system/media/audio

    - the legacy audio HAL API that were in libhardware headers
          are now in libaudiohal_legacy_headers
      Eg: hardware/audio.h and hardware/audio_effect.h
          are now in frameworks/av/media/libaudiohal/legacy/

 + for vendor code

    - moving libaudio_system_headers and the legacy audio HAL API
          that were in libhardware_headers in
          android.hardware.audio.common.legacy@2.0
      Note that those headers are now versioned, so migrating to a @4.0
          HIDL HAL will mean changing the legacy dependency too.
      Eg: system/audio.h, system/audio-effect.h, hardware/audio.h
          are now in hardware/interfaces/audio/common/2.0/legacy

    - the legacy audio effect HAL API that was in libaudioeffects
          is now moved in android.hardware.audio.effect.legacy@2.0
      Eg: audio_effects/effect*.h are now in
          hardware/interfaces/audio/effect/2.0/legacy

    - the legacy sound trigger HAL API that were in libhardware_headers
          is now moved in android.hardware.soundtrigger.legacy@2.0
      Eg: hardware/sound_trigger.h is now in
          hardware/interfaces/audio/effect/2.0/legacy

libaudioutil being used by both system and vendor, had
to be renamed for system to libaudioutil_system.

Vendor libs that now depend on the audio.h of a specific
version and are not extensively referenced in non google code,
append @2.0 to their name.

Note that headers that are not expected to change in the 4.0 HAL are
left in all-versions folder to avoid duplication.
This is an implementation detail as the versioned libraries export
the all-versions headers.

Note that strict vendor-system separation is enforced by the
build-system. The system headers are not available for vendor
libs and vice-versa.

Note that this patch is split between numerous git repository (>10),
all the commits having the same Change-id for searchability.

Note that audio_policy.h is no longer exposed to vendors
as the legacy audio policy HAL API was never officially supported.
As a result the audiopolicy stub implementation has been removed.

Test: compile taimen-userdebug walleye-userdebug
              sailfish-userdebug marlin-userdebug
              gce_x86_phone-userdebug gce_x86_phone
              full-eng aosp_arm aosp_x86-eng
Test: check that the emulator booted and played audio
Test: full QA on sailfish-userdebug and taimen-userdebug
Bug: 38184704
Change-Id: I950f4e0a55613d72e32eba31bd563cb5bafe2d1a
Signed-off-by: Kevin Rocard <krocard@google.com>
2018-01-20 21:39:40 -08:00
android-build-team Robot
650e597213 Snap for 4507345 from a5d8dde1a9 to pi-release
Change-Id: Icd1a675a9de2d02cde6cdb2f14155c76ea125c4f
2017-12-17 08:32:20 +00:00
Subhani Shaik
a5d8dde1a9 [AWARE]: Modifying the range measurements to millimeters
Bug: 69428593
Test: builds (integration tests pending firmware update)
Change-Id: I070c2126329a487450e3b91ac8eb191ed9948e92
2017-12-14 18:07:52 -08:00
android-build-team Robot
c2ff5b3ba2 Snap for 4502278 from c13dd63623 to pi-release
Change-Id: I8c8efe3add6c96efd70c89c0d8eaa299d90ba697
2017-12-14 08:22:46 +00:00
Subhani Shaik
c13dd63623 [AWARE]: Add channel info to confirm, schedule update
Bug: 37007030
Test: builds, integration tests passing
Change-Id: I65322a8e673cfeb5699f022628bcfc2476946bcc
2017-12-12 16:19:25 -08:00
Subhani Shaik
a470c8fb33 [AWARE]: Enable new config options in Enable/Config APIs
1) Enable device level ranging option.
2) config nss.
3) config dw early termination.

Bug: 67745737
Test: builds, integration tests passing
Change-Id: I22315785bd5e42a7ce5e209cecbd997f62053cc8
2017-12-12 16:19:08 -08:00
Subhani Shaik
229806a7e2 [AWARE]: Add support to config NAN discovery beacon interval
Add support to configure discovery beacon interval in NAN enable
and config request.

Bug: 67745737
Test: builds, integration tests passing
Change-Id: I44d1918f740b35e39d751f26a5b5e4ee9b371a84
2017-12-12 16:18:16 -08:00
Subhani Shaik
b600992ac7 [AWARE]: Add support for NAN qos config, schedule update channel
Add qos config parameter in sdea control parameters and also
add schedule update channel as part of nan sync stats.

Change-Id: I8b56bf49dc3b0a7139a1bfd8698114f0fbf2fd16
2017-12-12 16:17:02 -08:00
android-build-team Robot
22ee4ab07c Snap for 4393550 from 67b598c76d to pi-release
Change-Id: I58adb7af29b8170cdd881bbb4a6bb194118144ee
2017-10-13 08:02:41 +00:00
Chih-hung Hsieh
67b598c76d Merge "Use -Werror in hardware/libhardware_legacy" am: 8087f07a2b am: a35e4c72b1 am: 6817e3fa13
am: ccc1d81bbe

Change-Id: I4fe70d00d2d1b5c33563a80700a11568be539420
2017-10-12 03:13:41 +00:00
Chih-hung Hsieh
ccc1d81bbe Merge "Use -Werror in hardware/libhardware_legacy" am: 8087f07a2b am: a35e4c72b1
am: 6817e3fa13

Change-Id: I1dc39bea1a185e6e5c25205c0282bcc4e0da5429
2017-10-12 01:58:47 +00:00
Chih-hung Hsieh
6817e3fa13 Merge "Use -Werror in hardware/libhardware_legacy" am: 8087f07a2b
am: a35e4c72b1

Change-Id: I8f18572a9df2cbcea8a837b7f48bdb93ffee4dd9
2017-10-12 01:35:37 +00:00
Chih-hung Hsieh
a35e4c72b1 Merge "Use -Werror in hardware/libhardware_legacy"
am: 8087f07a2b

Change-Id: Iaf79e2ae121bda6d13b05b53d809453771040a3d
2017-10-12 01:28:00 +00:00
Chih-hung Hsieh
8087f07a2b Merge "Use -Werror in hardware/libhardware_legacy" 2017-10-12 00:53:24 +00:00
Chih-Hung Hsieh
3ba7298e95 Use -Werror in hardware/libhardware_legacy
* Remove unused local variable or suppress the warning.

Bug: 66996870
Test: build with WITH_TIDY=1
Change-Id: I4d7b4f2e9e7e6c60d8bfc209f47e6f1d33720165
2017-10-03 13:38:46 -07:00
android-build-team Robot
3687b31920 Snap for 4373608 from a211035d88 to pi-release
Change-Id: I8eaed9d9b2770743cd4f5b99b881839b6c9de296
2017-10-03 08:09:32 +00:00
Justin Yun
a211035d88 Merge "Mark the module as VNDK or VNDK-SP in Android.bp" am: 53401d7c35 am: 9b7fbccdb4 am: 8f54321751 -s ours
am: 51106ccf98  -s ours

Change-Id: I040adff97163613a0b2f661a34bb5718b9dfaeb8
2017-09-14 06:33:38 +00:00
Justin Yun
51106ccf98 Merge "Mark the module as VNDK or VNDK-SP in Android.bp" am: 53401d7c35 am: 9b7fbccdb4
am: 8f54321751  -s ours

Change-Id: I09c8fc53049573573353c9960e385a86e704498a
2017-09-14 06:04:43 +00:00
Justin Yun
8f54321751 Merge "Mark the module as VNDK or VNDK-SP in Android.bp" am: 53401d7c35
am: 9b7fbccdb4

Change-Id: Iefb1438bf398a6d8c6c7fd3c1ba2b980f51b96fa
2017-09-14 05:48:37 +00:00
Justin Yun
9b7fbccdb4 Merge "Mark the module as VNDK or VNDK-SP in Android.bp"
am: 53401d7c35

Change-Id: Ib83b45cb3a9f72e83bb6a38d1e471527841e85f1
2017-09-14 05:34:56 +00:00
Treehugger Robot
53401d7c35 Merge "Mark the module as VNDK or VNDK-SP in Android.bp" 2017-09-14 01:38:04 +00:00
Justin Yun
39b86dd6ba Mark the module as VNDK or VNDK-SP in Android.bp
As a VNDK/VNDK-SP module, Android.bp must have 'vndk' tag as well
as 'vendor_available: true'.

For a VNDK module, the 'vndk' tag has 'enabled: true'.
It will be installed system/lib(64)/vndk as a vendor variant.

For a VNDK-SP module, the 'vndk' tag has
'support_system_process: true' as well as 'enabled: true'.
It will be installed system/lib(64)/vndk-sp as a vendor variant.

Bug: 63866913
Test: build and boot with BOARD_VNDK_VERSION=current
Merged-In: I9b9d9c0a3f33e396e71167c055220b55380eb1b5
Change-Id: I9b9d9c0a3f33e396e71167c055220b55380eb1b5
(cherry picked from commit 5bed6372b8)
2017-09-07 05:55:06 +00:00
android-build-team Robot
cc7eaa9499 release-request-0b474cbb-ff20-424d-a570-a0a7b83a7705-for-git_pi-release-4262110 snap-temp-L42700000091449286
Change-Id: I8d155e2fb9a949568a25fc910109118f75be0fa3
2017-08-10 08:11:37 +00:00
Ivan Lozano
738437d93c Do not include the IAudioFlinger.h header.
This header does not look like it is used anymore, and compilation
succeeds without it, so it seems safe to remove.

Bug: 64223827
Test: 'mma -j4' throws no compilation errors.
Change-Id: Ic7ca90a7ba576d0ae14ee95d2d20c8ddf612754a
2017-08-08 13:35:10 -07:00
android-build-team Robot
f7df1c20ce release-request-d4f45cf4-9d73-4828-baa4-f73aa4280cd0-for-git_pi-release-4241208 snap-temp-L10800000088711883
Change-Id: I32f5f67db3618f47a83279de171e0b60b89b22fe
2017-08-03 08:19:35 +00:00
Justin Yun
eeffd564c1 Merge "Mark the module as VNDK or VNDK-SP in Android.bp" into oc-mr1-dev am: ab21b93dec
am: b91071601b

Change-Id: I319c3c4fee38cd8531c110157fc623f813ae8053
2017-08-03 06:03:37 +00:00
Justin Yun
b91071601b Merge "Mark the module as VNDK or VNDK-SP in Android.bp" into oc-mr1-dev
am: ab21b93dec

Change-Id: Iffc0701e60aa832e994d92b0ff426640a9555847
2017-08-03 05:57:39 +00:00
TreeHugger Robot
ab21b93dec Merge "Mark the module as VNDK or VNDK-SP in Android.bp" into oc-mr1-dev 2017-08-03 05:49:40 +00:00
Subhani Shaik
08571f6b51 Merge "SAR: Modify tx power API am: cea38b3bba am: 5db6c1cd24" into oc-mr1-dev-plus-aosp
am: a645562473

Change-Id: I327001eb3b25bb5ea390d82d8f70d25ac0c6487d
2017-07-28 03:15:34 +00:00
Subhani Shaik
92df4286c1 SAR: Modify tx power API am: cea38b3bba am: de3f6adf54
am: 5331fefc12

Change-Id: Id93b7f47b1b9fee269e352749d12e50b7e32250f
2017-07-28 03:08:32 +00:00
Android Build Merger (Role)
a645562473 Merge "SAR: Modify tx power API am: cea38b3bba am: 5db6c1cd24" into oc-mr1-dev-plus-aosp 2017-07-28 03:04:24 +00:00
Subhani Shaik
405dec5d7f SAR: Modify tx power API am: cea38b3bba
am: 5db6c1cd24

Change-Id: Ic6c610446eb335f8fa19585fb148dbc316971740
2017-07-28 03:00:38 +00:00
Subhani Shaik
5331fefc12 SAR: Modify tx power API am: cea38b3bba
am: de3f6adf54

Change-Id: Ie41c8169e51603ed3179db4292c139553275a535
2017-07-28 02:59:22 +00:00
Subhani Shaik
de3f6adf54 SAR: Modify tx power API
am: cea38b3bba

Change-Id: I9620ad96ebf06fd30d2b330a9f01fccf823a6494
2017-07-28 02:52:00 +00:00
Subhani Shaik
5db6c1cd24 SAR: Modify tx power API
am: cea38b3bba

Change-Id: Iadc65e47e593f33eb0168816011635469c54d32a
2017-07-28 02:51:59 +00:00
Subhani Shaik
cea38b3bba SAR: Modify tx power API
Modify the current tx power API to select predefined power settings
and apply the same from the BDF file.

Bug: 62437848
Test: Manual tests
Change-Id: Ia8a4c2c3ebbc055fc28cbee224ff685f97589a08
(cherry-picked from 674da97c8fbc40b9e9b7f80bb86c4f0824fa9d7a)
2017-07-25 11:25:52 -07:00
Justin Yun
5bed6372b8 Mark the module as VNDK or VNDK-SP in Android.bp
As a VNDK/VNDK-SP module, Android.bp must have 'vndk' tag as well
as 'vendor_available: true'.

For a VNDK module, the 'vndk' tag has 'enabled: true'.
It will be installed system/lib(64)/vndk as a vendor variant.

For a VNDK-SP module, the 'vndk' tag has
'support_system_process: true' as well as 'enabled: true'.
It will be installed system/lib(64)/vndk-sp as a vendor variant.

Bug: 63866913
Test: build and boot with BOARD_VNDK_VERSION=current
Change-Id: I9b9d9c0a3f33e396e71167c055220b55380eb1b5
2017-07-25 14:44:58 +09:00
Subhani Shaik
e586a1b769 SAR: Enable API to configure SAR am: d6a6047351
am: 2ed03c0066

Change-Id: I6d7378ed31b223634b0c147d59d5939e234c3b1f
2017-07-11 21:40:27 +00:00
Subhani Shaik
2ed03c0066 SAR: Enable API to configure SAR
am: d6a6047351

Change-Id: I137863f1aa7a7bfabfac2396ea57665a2e9f1dcc
2017-07-11 21:36:36 +00:00
Subhani Shaik
d6a6047351 SAR: Enable API to configure SAR
Bug: 62437848
Test: Compiles
Change-Id: Iebe6dd8af9cedb295b5bd0beaff5c32dc58a038f
(cherry-picked from f66e31d017f9f9b3adc63e79de7a3ac067a62202)
2017-07-11 07:37:00 -07:00
Steven Moreland
4c024bb0e5 Merge "libhardware_legacy: vendor_available" am: 483a68f68a am: 32e427d64d -s ours am: 78c1981b8a -s ours
am: 464d7d8fdb  -s ours

Change-Id: I4a55b00a4fdbe0faf388264cf5aa858423b2f73f
2017-06-16 00:56:20 +00:00
Steven Moreland
464d7d8fdb Merge "libhardware_legacy: vendor_available" am: 483a68f68a am: 32e427d64d -s ours
am: 78c1981b8a  -s ours

Change-Id: I90d35976ccd3e6947eddece5eef86bea8a8a9398
2017-06-16 00:53:21 +00:00
Steven Moreland
78c1981b8a Merge "libhardware_legacy: vendor_available" am: 483a68f68a
am: 32e427d64d  -s ours

Change-Id: I74be36cfc5d9712d2580b547bb4c2550132d0116
2017-06-16 00:49:49 +00:00
Steven Moreland
32e427d64d Merge "libhardware_legacy: vendor_available"
am: 483a68f68a

Change-Id: I94f569da3191d3e7ea04710f885b97fae5cda4b1
2017-06-16 00:46:20 +00:00
Treehugger Robot
483a68f68a Merge "libhardware_legacy: vendor_available" 2017-06-16 00:39:29 +00:00
Steven Moreland
5ed882978a libhardware_legacy: vendor_available
Test: build with BOARD_VNDK_VERSION := current
Merged-In: Iccc3a0301a28de52fc17102d251ce728d372ba5c
Change-Id: Iccc3a0301a28de52fc17102d251ce728d372ba5c
(cherry picked from commit 477e5978ac)
2017-06-14 19:42:31 +09:00
Subhani Shaik
22dcefe8a6 AWARE: Fix rssi_window_size length in config
Bug: 38321768
Test: AttachTest:test_attach_multiple_sessions bad TLV issue resolved
Change-Id: Id9f4a2124a394cf3c44c6eb7560400a0fd690f31
2017-05-22 16:07:15 -07:00
Etan Cohen
d665d7b5bc Merge "[AWARE]: Add support for configuring NAN sid on subscriber side" 2017-04-20 21:55:49 +00:00
Rakesh Sunki
6451ba7735 [AWARE]: Add support for configuring NAN sid on subscriber side
Provide configuration support to set sid on the subscriber side sync and
discovery beacons as part of NAN enable and config request.

(cherry-pick of commit b2c4b3825a5b1ef4713417538755b04225b2b53d)

Bug: 35195516
Test: integrated (sl4a) tests pass
Change-Id: I20548928a9ad81e8d3154eb5b982fd19add7659c
2017-04-20 12:47:34 -07:00
Colin Cross
6640207e83 Merge changes Ic355174a,I8b04ba9e,I3fefb13c am: dd67435bac am: 29745f29b8 am: 1e2b77935c -s ours
am: f4ef49163b

Change-Id: I7a30ca484a9037d3ed97abb40adc948f0246b8b2
2017-04-20 18:51:25 +00:00