OSDN Git Service

android-x86/system-media.git
7 years agoMerge "Update path to camera ndk headers" am: 9d7eff8334 am: 334bca910c
Colin Cross [Fri, 5 May 2017 22:55:37 +0000 (22:55 +0000)]
Merge "Update path to camera ndk headers" am: 9d7eff8334 am: 334bca910c
am: 344a7212f4  -s ours

Change-Id: Ie4188461c8159b7d478636be9bc5f20ad1510cf8

7 years agoCamera metadata: Fix validation alignment check, add more unit tests
Eino-Ville Talvala [Fri, 5 May 2017 22:50:14 +0000 (22:50 +0000)]
Camera metadata: Fix validation alignment check, add more unit tests
am: 0b47c6ef73

Change-Id: I103aefe3900017e8b1dfc4834beaba0f409f3cf9

7 years agoMerge "Update path to camera ndk headers" am: 9d7eff8334
Colin Cross [Fri, 5 May 2017 22:45:33 +0000 (22:45 +0000)]
Merge "Update path to camera ndk headers" am: 9d7eff8334
am: 334bca910c

Change-Id: I692efffbd9e25e197f0874d69ec8ce991e2e4156

7 years agoMerge "Update path to camera ndk headers"
Colin Cross [Fri, 5 May 2017 22:32:32 +0000 (22:32 +0000)]
Merge "Update path to camera ndk headers"
am: 9d7eff8334

Change-Id: I028e232e95e0aef8c559f0f099fb4b5ef5e25e9c

7 years agoMerge "Update path to camera ndk headers"
Colin Cross [Fri, 5 May 2017 22:25:05 +0000 (22:25 +0000)]
Merge "Update path to camera ndk headers"

7 years agoUpdate path to camera ndk headers
Colin Cross [Fri, 5 May 2017 16:36:03 +0000 (09:36 -0700)]
Update path to camera ndk headers

Test: generate-metadata
Change-Id: Idcafb23a5483d77296003230ec75bcbdd393cf52
Merged-In: Idcafb23a5483d77296003230ec75bcbdd393cf52
(cherry picked from commit abc7c4963b25567852b1cdcfbd90a1626dddb3ff)

7 years agoUpdate path to camera ndk headers
Colin Cross [Fri, 5 May 2017 16:36:03 +0000 (09:36 -0700)]
Update path to camera ndk headers

Test: generate-metadata
Change-Id: Idcafb23a5483d77296003230ec75bcbdd393cf52
(cherry picked from commit abc7c4963b25567852b1cdcfbd90a1626dddb3ff)

7 years agoCamera metadata: Fix validation alignment check, add more unit tests
Eino-Ville Talvala [Fri, 5 May 2017 18:03:56 +0000 (11:03 -0700)]
Camera metadata: Fix validation alignment check, add more unit tests

- Add unit test to ensure validate_camera_metadata_structure correctly
  reports VALIDATION_SHIFTED for all shifts
- Fix alignment validation bug found by unit test - need to offset
  pointer on both sides of align check.

Test: New unit test passes, no camera CTS regression
Bug: 37980415
Change-Id: I08379bf3792b57c4eae129acc7aa4f22ab960657

7 years agoalsa proxy: fix sampling rate checks in proxy_prepare()
Eric Laurent [Thu, 4 May 2017 20:14:33 +0000 (20:14 +0000)]
alsa proxy: fix sampling rate checks in proxy_prepare()
am: 49bc03cfdc

Change-Id: Ica03849c6735d56d11c137dcd23c31ca89b171f7

7 years agoalsa proxy: fix sampling rate checks in proxy_prepare()
Eric Laurent [Wed, 3 May 2017 18:33:26 +0000 (11:33 -0700)]
alsa proxy: fix sampling rate checks in proxy_prepare()

- proxy_prepare() should not alter the requested properties (format,
sampling rate, channels)  without notifying the caller.
- It should not force the sampling rate to the max sampling rate supported
by the profile but just limit it if the requested combination of
sampling rate, channel count and format is not possible.

Bug: 37949012
Test: verify capture over USB at various sampling rates
Change-Id: Id79ca4fda86db1f756e171d131494c3f244b5f2c

7 years agoMerge "camera: Update for enableZsl values in template" into oc-dev
Chien-Yu Chen [Mon, 24 Apr 2017 22:40:41 +0000 (22:40 +0000)]
Merge "camera: Update for enableZsl values in template" into oc-dev
am: 6bbcd2a35d

Change-Id: I35a5dea7747bdc2ed554b1c8e71624f2134eb3f9

7 years agoMerge "camera: Update for enableZsl values in template" into oc-dev
TreeHugger Robot [Mon, 24 Apr 2017 22:36:50 +0000 (22:36 +0000)]
Merge "camera: Update for enableZsl values in template" into oc-dev

7 years agoMerge "Add libaudioeffects header library" am: 8f8b3b9d38 am: aa9d32b4ce
Colin Cross [Thu, 20 Apr 2017 21:56:25 +0000 (21:56 +0000)]
Merge "Add libaudioeffects header library" am: 8f8b3b9d38 am: aa9d32b4ce
am: 2de81923ba

Change-Id: I2c05e2487881be992cee7b3663a0c8776b7e650a

7 years agoMerge "Add libaudioeffects header library" am: 8f8b3b9d38
Colin Cross [Thu, 20 Apr 2017 21:53:25 +0000 (21:53 +0000)]
Merge "Add libaudioeffects header library" am: 8f8b3b9d38
am: aa9d32b4ce

Change-Id: Ide40e758c2c51eef20c966b43906e63975f731d5

7 years agoMerge "Add libaudioeffects header library"
Colin Cross [Thu, 20 Apr 2017 21:50:24 +0000 (21:50 +0000)]
Merge "Add libaudioeffects header library"
am: 8f8b3b9d38

Change-Id: I0bff41dde5f612e617638426d280c4df0512103a

7 years agoMerge "Add libaudioeffects header library"
Treehugger Robot [Thu, 20 Apr 2017 21:44:06 +0000 (21:44 +0000)]
Merge "Add libaudioeffects header library"

7 years agoAdd libaudioeffects header library
Colin Cross [Thu, 20 Apr 2017 06:05:45 +0000 (23:05 -0700)]
Add libaudioeffects header library

Add a header library for audio-effects instead of requiring modules
to use $(call include-path-for, audio-effects).

Test: m -j checkbuild
Change-Id: I21a191e7fe2911b80396ddbe84cd032592ac43b1

7 years agoMerge changes from topic 'system-vendor-internal-pick' am: 9b88fb1019 am: c53ca010d7
Steven Moreland [Thu, 20 Apr 2017 04:23:17 +0000 (04:23 +0000)]
Merge changes from topic 'system-vendor-internal-pick' am: 9b88fb1019 am: c53ca010d7
am: 24408d52e4

Change-Id: I5b8a498a6410aa6d715ade604b39398402645e23

7 years agoAdd libaudio_system_headers am: d3d48f7e5e am: e43eb26510
Steven Moreland [Thu, 20 Apr 2017 04:23:12 +0000 (04:23 +0000)]
Add libaudio_system_headers am: d3d48f7e5e am: e43eb26510
am: a712780e26  -s ours

Change-Id: I23bcea1f807e7502d5b879bf2d80d5c9c6d6700d

7 years agoMark as vendor_available am: 752eeb00b8 am: 6f244c0643
Steven Moreland [Thu, 20 Apr 2017 04:23:07 +0000 (04:23 +0000)]
Mark as vendor_available am: 752eeb00b8 am: 6f244c0643
am: 779d253206

Change-Id: I63b511509c09e3be980716a3f60e98cc3226772f

7 years agolibradio_metadata: vendor_available am: 05ba91aba7 am: ecb36e0706
Steven Moreland [Thu, 20 Apr 2017 04:23:03 +0000 (04:23 +0000)]
libradio_metadata: vendor_available am: 05ba91aba7 am: ecb36e0706
am: db9365dbd3

Change-Id: Ia84ef0ba6b2ca890564b6ca07f0aab124de94caa

7 years agolibradio_metadata: work with BOARD_VNDK_VERSION am: 4473f2d570 am: 1733c56958
Steven Moreland [Thu, 20 Apr 2017 04:23:00 +0000 (04:23 +0000)]
libradio_metadata: work with BOARD_VNDK_VERSION am: 4473f2d570 am: 1733c56958
am: 9356e9d781

Change-Id: Ia80cdc46f350a668933fe852d1920b052f651b3d

7 years agoMerge changes from topic 'system-vendor-internal-pick' am: 9b88fb1019
Steven Moreland [Thu, 20 Apr 2017 02:01:03 +0000 (02:01 +0000)]
Merge changes from topic 'system-vendor-internal-pick' am: 9b88fb1019
am: c53ca010d7

Change-Id: I3c2e924dc4481b9e6c7c2111fdafd51d03c56027

7 years agoAdd libaudio_system_headers am: d3d48f7e5e
Steven Moreland [Thu, 20 Apr 2017 02:00:57 +0000 (02:00 +0000)]
Add libaudio_system_headers am: d3d48f7e5e
am: e43eb26510

Change-Id: Iac5bfc414eaeb953b6f66617e45ea1599f76056c

7 years agoMark as vendor_available am: 752eeb00b8
Steven Moreland [Thu, 20 Apr 2017 02:00:53 +0000 (02:00 +0000)]
Mark as vendor_available am: 752eeb00b8
am: 6f244c0643

Change-Id: I14c5ac188b34bcb57086bfac02947ba933921330

7 years agolibradio_metadata: vendor_available am: 05ba91aba7
Steven Moreland [Thu, 20 Apr 2017 02:00:50 +0000 (02:00 +0000)]
libradio_metadata: vendor_available am: 05ba91aba7
am: ecb36e0706

Change-Id: I8da377c07dccc4203a4c7b149729b68431b4c0a8

7 years agolibradio_metadata: work with BOARD_VNDK_VERSION am: 4473f2d570
Steven Moreland [Thu, 20 Apr 2017 02:00:46 +0000 (02:00 +0000)]
libradio_metadata: work with BOARD_VNDK_VERSION am: 4473f2d570
am: 1733c56958

Change-Id: I464b03f0e495eed365e4c6d9e2b65a565a68f509

7 years agoMerge changes from topic 'system-vendor-internal-pick'
Steven Moreland [Thu, 20 Apr 2017 01:51:45 +0000 (01:51 +0000)]
Merge changes from topic 'system-vendor-internal-pick'
am: 9b88fb1019

Change-Id: I195eeb8de2f4eca09d414bbf20c49c8d53fe0c66

7 years agoAdd libaudio_system_headers
Steven Moreland [Thu, 20 Apr 2017 01:51:39 +0000 (01:51 +0000)]
Add libaudio_system_headers
am: d3d48f7e5e

Change-Id: I5b2cecb7bd799f13b2e5b7ec4b30cc51e32be50d

7 years agoMark as vendor_available
Steven Moreland [Thu, 20 Apr 2017 01:51:30 +0000 (01:51 +0000)]
Mark as vendor_available
am: 752eeb00b8

Change-Id: I63d3f7d9425a0cd197f700ab2734a7d1baee43da

7 years agolibradio_metadata: vendor_available
Steven Moreland [Thu, 20 Apr 2017 01:51:20 +0000 (01:51 +0000)]
libradio_metadata: vendor_available
am: 05ba91aba7

Change-Id: I1b37866352d178b81ec41c03ce6f0d12b82275c5

7 years agolibradio_metadata: work with BOARD_VNDK_VERSION
Steven Moreland [Thu, 20 Apr 2017 01:51:06 +0000 (01:51 +0000)]
libradio_metadata: work with BOARD_VNDK_VERSION
am: 4473f2d570

Change-Id: I8bcbb929fe109bd2abda0cf28f7878d1f08577ec

7 years agoMerge changes from topic 'system-vendor-internal-pick'
Treehugger Robot [Thu, 20 Apr 2017 01:39:21 +0000 (01:39 +0000)]
Merge changes from topic 'system-vendor-internal-pick'

* changes:
  libaudio_system_headers: include libcutils_headers
  Add libaudio_system_headers
  Mark as vendor_available
  libradio_metadata: vendor_available
  libradio_metadata: work with BOARD_VNDK_VERSION

7 years agoCamera: doc cleanup
Yin-Chia Yeh [Wed, 19 Apr 2017 20:48:14 +0000 (20:48 +0000)]
Camera: doc cleanup
am: 1c0a88599d

Change-Id: I5993023a1388092d15288ecb2d7e9482b5771451

7 years agoCamera: doc cleanup
Yin-Chia Yeh [Wed, 19 Apr 2017 18:02:47 +0000 (11:02 -0700)]
Camera: doc cleanup

Test: compile
Bug: 37095012
Change-Id: Iaad8885420ad031fc743ede81d127d0783803646

7 years agolibaudio_system_headers: include libcutils_headers
Steven Moreland [Tue, 18 Apr 2017 01:25:21 +0000 (18:25 -0700)]
libaudio_system_headers: include libcutils_headers

This is required since system/audio.h (and one more) uses
utils/BitOps.h.

Test: works with BOARD_VNDK_VERSION := current
Bug: 33241851
(cherry picked from commit 013d4a633f73e24f877887060accc0cb74055c89)
Merged-In: I13ef898a702316ccbf8b41ec500b5fd60dce155b
Change-Id: I13ef898a702316ccbf8b41ec500b5fd60dce155b

7 years agoAdd libaudio_system_headers
Steven Moreland [Fri, 14 Apr 2017 02:06:39 +0000 (19:06 -0700)]
Add libaudio_system_headers

Test: modules using this compiled with BOARD_VNDK_VERSION := current
find dependencies
Bug: 33241851
(cherry picked from commit a834562a91b97f8b2ab3a5d6ed99d778c071f2cf)
Merged-In: If2d7ef0ca806b721c65e75774a754a8ee1dbb5fd
Change-Id: If2d7ef0ca806b721c65e75774a754a8ee1dbb5fd

7 years agoMark as vendor_available
Steven Moreland [Wed, 12 Apr 2017 04:04:34 +0000 (21:04 -0700)]
Mark as vendor_available

By setting vendor_available, the following may become true:

* a prebuilt library from this release may be used at runtime by
  in a later releasse (by vendor code compiled against this release).
  so this library shouldn't depend on runtime state that may change
  in the future.
* this library may be loaded twice into a single process (potentially
  an old version and a newer version). The symbols will be isolated
  using linker namespaces, but this may break assumptions about 1
  library in 1 process (your singletons will run twice).

Background:

This means that these modules may be built and installed twice --
once for the system partition and once for the vendor partition. The
system version will build just like today, and will be used by the
framework components on /system. The vendor version will build
against a reduced set of exports and libraries -- similar to, but
separate from, the NDK. This means that all your dependencies must
also mark vendor_available.

At runtime, /system binaries will load libraries from /system/lib*,
while /vendor binaries will load libraries from /vendor/lib*. There
are some exceptions in both directions -- bionic(libc,etc) and liblog
are always loaded from /system. And SP-HALs (OpenGL, etc) may load
/vendor code into /system processes, but the dependencies of those
libraries will load from /vendor until it reaches a library that's
always on /system. In the SP-HAL case, if both framework and vendor
libraries depend on a library of the same name, both versions will be
loaded, but they will be isolated from each other.

It's possible to compile differently -- reducing your source files,
exporting different include directories, etc. For details see:

https://android-review.googlesource.com/368372

None of this is enabled unless the device opts into the system/vendor
split with BOARD_VNDK_VERSION := current.

Bug: 36426473
Bug: 36079834
Test: m -j libcamera_metadata
Test: attempt to compile with BOARD_VNDK_VERSION := current
(cherry picked from commit 4c5e9d1995908cf03aeb91fa5ca0233d1c757fb4)
Merged-In: Ic267fbff784ddb8090266f82d505bcfac52fd1e1
Change-Id: Ic267fbff784ddb8090266f82d505bcfac52fd1e1

7 years agolibradio_metadata: vendor_available
Steven Moreland [Mon, 17 Apr 2017 23:42:15 +0000 (16:42 -0700)]
libradio_metadata: vendor_available

By setting vendor_available, the following may become true:

* a prebuilt library from this release may be used at runtime by
  in a later releasse (by vendor code compiled against this release).
  so this library shouldn't depend on runtime state that may change
  in the future.
* this library may be loaded twice into a single process (potentially
  an old version and a newer version). The symbols will be isolated
  using linker namespaces, but this may break assumptions about 1
  library in 1 process (your singletons will run twice).

Background:

This means that these modules may be built and installed twice --
once for the system partition and once for the vendor partition. The
system version will build just like today, and will be used by the
framework components on /system. The vendor version will build
against a reduced set of exports and libraries -- similar to, but
separate from, the NDK. This means that all your dependencies must
also mark vendor_available.

At runtime, /system binaries will load libraries from /system/lib*,
while /vendor binaries will load libraries from /vendor/lib*. There
are some exceptions in both directions -- bionic(libc,etc) and liblog
are always loaded from /system. And SP-HALs (OpenGL, etc) may load
/vendor code into /system processes, but the dependencies of those
libraries will load from /vendor until it reaches a library that's
always on /system. In the SP-HAL case, if both framework and vendor
libraries depend on a library of the same name, both versions will be
loaded, but they will be isolated from each other.

It's possible to compile differently -- reducing your source files,
exporting different include directories, etc. For details see:

https://android-review.googlesource.com/368372

None of this is enabled unless the device opts into the system/vendor
split with BOARD_VNDK_VERSION := current.

Bug: 36426473
Bug: 37343404
Test: m -j libradio_metadata
Test: attempt to compile with BOARD_VNDK_VERSION := current
(cherry picked from commit c06e7d5ed7abcfae2fac39b7e8988afcc25b9034)
Merged-In: Ia80038019847b24118850adce2e4180065082e9b
Change-Id: Ia80038019847b24118850adce2e4180065082e9b

7 years agolibradio_metadata: work with BOARD_VNDK_VERSION
Steven Moreland [Tue, 18 Apr 2017 02:37:28 +0000 (19:37 -0700)]
libradio_metadata: work with BOARD_VNDK_VERSION

Test: works with BOARD_VNDK_VERSION
Bug: 37342627
(cherry picked from commit 131eff918c241ee5b016a050f13614588f6fc75f)
Merged-In: I734f94348ce5818ee6720f2ad4f3ad3ad6e74633
Change-Id: I734f94348ce5818ee6720f2ad4f3ad3ad6e74633

7 years agoMerge "Audio route: log fopen xml_patch failure errno" into oc-dev
Kevin Rocard [Wed, 19 Apr 2017 01:48:33 +0000 (01:48 +0000)]
Merge "Audio route: log fopen xml_patch failure errno" into oc-dev
am: 11c984b733

Change-Id: I280594875c0395ee80b14c63f0c952c5a70d99ce

7 years agoMerge "Audio route: log fopen xml_patch failure errno" into oc-dev
TreeHugger Robot [Wed, 19 Apr 2017 01:42:41 +0000 (01:42 +0000)]
Merge "Audio route: log fopen xml_patch failure errno" into oc-dev

7 years agoMerge "camerametadata: add SHIFTED return value to validate_camera_metadata_structure...
Yin-Chia Yeh [Wed, 19 Apr 2017 00:17:37 +0000 (00:17 +0000)]
Merge "camerametadata: add SHIFTED return value to validate_camera_metadata_structure" into oc-dev
am: df49dc6bee

Change-Id: Ie0bbb77c77a4e54ce96137bc2c781a82a67a978c

7 years agoMerge "camerametadata: add SHIFTED return value to validate_camera_metadata_structure...
Yin-Chia Yeh [Wed, 19 Apr 2017 00:12:23 +0000 (00:12 +0000)]
Merge "camerametadata: add SHIFTED return value to validate_camera_metadata_structure" into oc-dev

7 years agocamera: Update for enableZsl values in template
Chien-Yu Chen [Tue, 18 Apr 2017 22:17:15 +0000 (15:17 -0700)]
camera: Update for enableZsl values in template

For apps targeting SDK versions O and newer, the value of enableZsl
may be true in still capture template. the value of enableZsl is
always false for other templates.

For apps targeting SDK versions older than O, the value of enableZsl
is always flase.

Test: make
Bug: 34983527
Change-Id: I4819495d5ce74773cc410f0d1aa9bef4bb4bf2be

7 years agoAudio route: log fopen xml_patch failure errno
Kevin Rocard [Tue, 18 Apr 2017 23:06:28 +0000 (16:06 -0700)]
Audio route: log fopen xml_patch failure errno

Vts fail a log because of this open. It is likely a result of previous
leaks (EMFILE) but in order to be sure, log fopen errno value in case of
failure.

Test: play music
Bug: 36311550

Change-Id: I834b346d5387b142d7bd0bd9c1c6d9b9e2a85339
Signed-off-by: Kevin Rocard <krocard@google.com>
7 years agocamerametadata: add SHIFTED return value to validate_camera_metadata_structure
Yin-Chia Yeh [Tue, 18 Apr 2017 02:10:56 +0000 (19:10 -0700)]
camerametadata: add SHIFTED return value to validate_camera_metadata_structure

This allows client to check for camera metadata buffer passed
by some transports that might not preserve alignment property.

Test: compile, GCA working
Bug: 37095012
Change-Id: I2caefe73d86723bc0bc31bb81ff6f692166000c5

7 years agoMerge "Add option to flush the entire buffer on -EOVERFLOW" into oc-dev
Glenn Kasten [Tue, 18 Apr 2017 17:52:51 +0000 (17:52 +0000)]
Merge "Add option to flush the entire buffer on -EOVERFLOW" into oc-dev
am: 10c34c7578

Change-Id: Ica333cff3f4973450a5467138c37f7190033d1f8

7 years agoMerge "Add option to flush the entire buffer on -EOVERFLOW" into oc-dev
Glenn Kasten [Tue, 18 Apr 2017 17:41:36 +0000 (17:41 +0000)]
Merge "Add option to flush the entire buffer on -EOVERFLOW" into oc-dev

7 years agoMerge "libradio_metadata: work with BOARD_VNDK_VERSION" into oc-dev
Steven Moreland [Tue, 18 Apr 2017 15:50:24 +0000 (15:50 +0000)]
Merge "libradio_metadata: work with BOARD_VNDK_VERSION" into oc-dev
am: 2f25151524

Change-Id: I82afc3a6fa700204184039b8c0b5490538f62e35

7 years agoMerge "libradio_metadata: work with BOARD_VNDK_VERSION" into oc-dev
TreeHugger Robot [Tue, 18 Apr 2017 15:40:34 +0000 (15:40 +0000)]
Merge "libradio_metadata: work with BOARD_VNDK_VERSION" into oc-dev

7 years agoMerge "libaudio_system_headers: include libcutils_headers" into oc-dev
Steven Moreland [Tue, 18 Apr 2017 03:22:09 +0000 (03:22 +0000)]
Merge "libaudio_system_headers: include libcutils_headers" into oc-dev
am: f8d332188b

Change-Id: I9970defff8c733cfa75c6a284847895ad3abf542

7 years agoMerge "libaudio_system_headers: include libcutils_headers" into oc-dev
TreeHugger Robot [Tue, 18 Apr 2017 03:15:01 +0000 (03:15 +0000)]
Merge "libaudio_system_headers: include libcutils_headers" into oc-dev

7 years agolibradio_metadata: work with BOARD_VNDK_VERSION
Steven Moreland [Tue, 18 Apr 2017 02:37:28 +0000 (19:37 -0700)]
libradio_metadata: work with BOARD_VNDK_VERSION

Test: works with BOARD_VNDK_VERSION
Bug: 37342627
Change-Id: I734f94348ce5818ee6720f2ad4f3ad3ad6e74633

7 years agoMerge "libradio_metadata: vendor_available" into oc-dev
Steven Moreland [Tue, 18 Apr 2017 02:06:54 +0000 (02:06 +0000)]
Merge "libradio_metadata: vendor_available" into oc-dev
am: 2bcd51a9a3

Change-Id: I4a8d6582af20f3b962869971616ede1db0620b8c

7 years agoMerge "libradio_metadata: vendor_available" into oc-dev
TreeHugger Robot [Tue, 18 Apr 2017 01:52:54 +0000 (01:52 +0000)]
Merge "libradio_metadata: vendor_available" into oc-dev

7 years agolibaudio_system_headers: include libcutils_headers
Steven Moreland [Tue, 18 Apr 2017 01:25:21 +0000 (18:25 -0700)]
libaudio_system_headers: include libcutils_headers

This is required since system/audio.h (and one more) uses
utils/BitOps.h.

Test: works with BOARD_VNDK_VERSION := current
Bug: 33241851
Change-Id: I13ef898a702316ccbf8b41ec500b5fd60dce155b

7 years agoCamera: add static assertion for camera_metadata
Yin-Chia Yeh [Tue, 18 Apr 2017 00:06:44 +0000 (00:06 +0000)]
Camera: add static assertion for camera_metadata
am: 7591a98dba

Change-Id: I1bbb711021005ad2e6764a137d9e11985e69af39

7 years agoAdd option to flush the entire buffer on -EOVERFLOW
Glenn Kasten [Mon, 17 Apr 2017 23:34:38 +0000 (16:34 -0700)]
Add option to flush the entire buffer on -EOVERFLOW

This was the previous behavior prior to commit
fc3d70736e4c24cbdc8c91076013c01e487fd4d5.
The new behavior introduced by that commit is to preserve as much of the
buffer as possible.  But that introduced a regression in applications with
so many overflows that they can't recover.  So now the flush is optional.

Test: at bug
Bug: 36725187
Change-Id: Ia728a754405c89b5c46fea598f987ddb9e1e26d8

7 years agolibradio_metadata: vendor_available
Steven Moreland [Mon, 17 Apr 2017 23:42:15 +0000 (16:42 -0700)]
libradio_metadata: vendor_available

By setting vendor_available, the following may become true:

* a prebuilt library from this release may be used at runtime by
  in a later releasse (by vendor code compiled against this release).
  so this library shouldn't depend on runtime state that may change
  in the future.
* this library may be loaded twice into a single process (potentially
  an old version and a newer version). The symbols will be isolated
  using linker namespaces, but this may break assumptions about 1
  library in 1 process (your singletons will run twice).

Background:

This means that these modules may be built and installed twice --
once for the system partition and once for the vendor partition. The
system version will build just like today, and will be used by the
framework components on /system. The vendor version will build
against a reduced set of exports and libraries -- similar to, but
separate from, the NDK. This means that all your dependencies must
also mark vendor_available.

At runtime, /system binaries will load libraries from /system/lib*,
while /vendor binaries will load libraries from /vendor/lib*. There
are some exceptions in both directions -- bionic(libc,etc) and liblog
are always loaded from /system. And SP-HALs (OpenGL, etc) may load
/vendor code into /system processes, but the dependencies of those
libraries will load from /vendor until it reaches a library that's
always on /system. In the SP-HAL case, if both framework and vendor
libraries depend on a library of the same name, both versions will be
loaded, but they will be isolated from each other.

It's possible to compile differently -- reducing your source files,
exporting different include directories, etc. For details see:

https://android-review.googlesource.com/368372

None of this is enabled unless the device opts into the system/vendor
split with BOARD_VNDK_VERSION := current.

Bug: 36426473
Bug: 37343404
Test: m -j libradio_metadata
Test: attempt to compile with BOARD_VNDK_VERSION := current
Change-Id: Ia80038019847b24118850adce2e4180065082e9b

7 years agoCamera: add static assertion for camera_metadata
Yin-Chia Yeh [Sat, 15 Apr 2017 01:11:45 +0000 (18:11 -0700)]
Camera: add static assertion for camera_metadata

Make sure no one updates these structs in the future.
Treble will allow framework and HAL targeting different
copy of libcamera_metadata, so make sure we don't update
these structs and cause mismatch.

Test: compile (as this is static check)
Bug: 37287148
Change-Id: Ibfc6d710e97e276a9d7eea1ceee1736f75f9a056

7 years agoAdd libaudio_system_headers
Steven Moreland [Fri, 14 Apr 2017 15:42:02 +0000 (15:42 +0000)]
Add libaudio_system_headers
am: a834562a91

Change-Id: I9e2a9e984dd2952e98a980768778b1c04026d6e1

7 years agoAdd libaudio_system_headers
Steven Moreland [Fri, 14 Apr 2017 02:06:39 +0000 (19:06 -0700)]
Add libaudio_system_headers

Test: modules using this compiled with BOARD_VNDK_VERSION := current
find dependencies
Bug: 33241851
Change-Id: If2d7ef0ca806b721c65e75774a754a8ee1dbb5fd

7 years agoMerge "Mark as vendor_available" into oc-dev
Steven Moreland [Thu, 13 Apr 2017 03:08:10 +0000 (03:08 +0000)]
Merge "Mark as vendor_available" into oc-dev
am: ec48fc7176

Change-Id: I377b839b0a13368e8ea85be7e1f0fe7c99dd70f7

7 years agoMerge "Mark as vendor_available" into oc-dev
TreeHugger Robot [Thu, 13 Apr 2017 03:02:55 +0000 (03:02 +0000)]
Merge "Mark as vendor_available" into oc-dev

7 years agoMark as vendor_available
Steven Moreland [Wed, 12 Apr 2017 04:04:34 +0000 (21:04 -0700)]
Mark as vendor_available

By setting vendor_available, the following may become true:

* a prebuilt library from this release may be used at runtime by
  in a later releasse (by vendor code compiled against this release).
  so this library shouldn't depend on runtime state that may change
  in the future.
* this library may be loaded twice into a single process (potentially
  an old version and a newer version). The symbols will be isolated
  using linker namespaces, but this may break assumptions about 1
  library in 1 process (your singletons will run twice).

Background:

This means that these modules may be built and installed twice --
once for the system partition and once for the vendor partition. The
system version will build just like today, and will be used by the
framework components on /system. The vendor version will build
against a reduced set of exports and libraries -- similar to, but
separate from, the NDK. This means that all your dependencies must
also mark vendor_available.

At runtime, /system binaries will load libraries from /system/lib*,
while /vendor binaries will load libraries from /vendor/lib*. There
are some exceptions in both directions -- bionic(libc,etc) and liblog
are always loaded from /system. And SP-HALs (OpenGL, etc) may load
/vendor code into /system processes, but the dependencies of those
libraries will load from /vendor until it reaches a library that's
always on /system. In the SP-HAL case, if both framework and vendor
libraries depend on a library of the same name, both versions will be
loaded, but they will be isolated from each other.

It's possible to compile differently -- reducing your source files,
exporting different include directories, etc. For details see:

https://android-review.googlesource.com/368372

None of this is enabled unless the device opts into the system/vendor
split with BOARD_VNDK_VERSION := current.

Bug: 36426473
Bug: 36079834
Test: m -j libcamera_metadata
Test: attempt to compile with BOARD_VNDK_VERSION := current
Change-Id: Ic267fbff784ddb8090266f82d505bcfac52fd1e1

7 years agocamera_metadata: Support append from destination without vendor id
Emilian Peev [Tue, 11 Apr 2017 19:34:33 +0000 (19:34 +0000)]
camera_metadata: Support append from destination without vendor id
am: eda836acb3

Change-Id: I420f2e632fedc46ae116fa83ba0a37d0f4492f98

7 years agocamera_metadata: Support append from destination without vendor id
Emilian Peev [Tue, 11 Apr 2017 10:41:28 +0000 (11:41 +0100)]
camera_metadata: Support append from destination without vendor id

Appending to a source with valid vendor id from a metadata without
vendor id should be supported.

Bug: 37198452
Test: CameraProviderManagerTest.MultipleVendorTagTest
Change-Id: I00e96c2d3c284a3db4fef40a910f997f61143347

7 years agocamera_metadata: Support metadata vendor caches
Emilian Peev [Thu, 6 Apr 2017 14:07:17 +0000 (14:07 +0000)]
camera_metadata: Support metadata vendor caches
am: a269963799

Change-Id: Ic5d28e3308af8b323e56179a19806ad830a0a4ce

7 years agocamera_metadata: Support metadata vendor caches
Emilian Peev [Tue, 21 Mar 2017 18:14:19 +0000 (18:14 +0000)]
camera_metadata: Support metadata vendor caches

Metadata buffers will be able to include specific vendor
tag ids. A global vendor cache will then map the id to
the respective vendor tag descriptor.

Bug: 34275821
Test: adb shell /data/nativetest/cameraservice_test/cameraservice_test
--gtest_filter=CameraProviderManagerTest.MultipleVendorTagTest
Complete Camera/Camera2 CTS tests
Change-Id: I68667daa0d3605dfb466e4c0141ceb939893f0bc

7 years agoFix endian define
Andy Hung [Sat, 1 Apr 2017 16:01:06 +0000 (16:01 +0000)]
Fix endian define
am: 2af0e17cfa

Change-Id: Ia71559a5f3416d8722583c7e91a1133b58ca2e56

7 years agoFix endian define
Andy Hung [Fri, 31 Mar 2017 21:08:14 +0000 (14:08 -0700)]
Fix endian define

Test: compilation
Bug: 36815380
Change-Id: I7d55837dd6ace28745a54971dcbade1c4b8a8139

7 years agoAdd tests for ErrorLog SimpleLog PowerLog
Andy Hung [Thu, 30 Mar 2017 03:27:58 +0000 (03:27 +0000)]
Add tests for ErrorLog SimpleLog PowerLog
am: be289a8327

Change-Id: I6adfe523b653091d28e9e53f239d3d52e51463fa

7 years agoAdd tests for ErrorLog SimpleLog PowerLog
Andy Hung [Thu, 23 Mar 2017 23:17:35 +0000 (16:17 -0700)]
Add tests for ErrorLog SimpleLog PowerLog

Test: this is it
Bug: 30572472
Change-Id: Id8efddca8e0378127748eaef1f1b876462650e8b

7 years agoAdd time string object
Andy Hung [Wed, 29 Mar 2017 18:10:19 +0000 (18:10 +0000)]
Add time string object
am: 6b711100b6

Change-Id: Ib886533ce13cfb54960bad35144d8242e2da1fea

7 years agoPowerLog: Add dump prefix to powerlog
Andy Hung [Wed, 29 Mar 2017 05:39:39 +0000 (05:39 +0000)]
PowerLog: Add dump prefix to powerlog
am: 3213c5e868

Change-Id: I7da308d9092389680f651b298814e47345ef5643

7 years agoAdd time string object
Andy Hung [Thu, 23 Mar 2017 23:13:53 +0000 (16:13 -0700)]
Add time string object

Test: unit test and audioflinger dumpsys
Bug: 30572472
Change-Id: Ieac2ca4bfd2e32174df3ac362f621cba4ae8cb8f
(cherry picked from commit c1eb186fc1ab8837e95e01be8a87a77e952fc81f)

7 years agoPowerLog: Add dump prefix to powerlog
Andy Hung [Thu, 23 Mar 2017 23:09:11 +0000 (16:09 -0700)]
PowerLog: Add dump prefix to powerlog

Test: unit test and dumpsys media.audio_flinger
Bug: 30572472
Change-Id: I7d53b399cbaa22195b386422efe789250624bb3a
(cherry picked from commit 70f10246d5436875a22650a53bf33b3241157a31)

7 years agoMove error logging to audio utils
Andy Hung [Wed, 15 Mar 2017 21:52:09 +0000 (14:52 -0700)]
Move error logging to audio utils

Test: dumpsys media.audio_flinger, unit test
Bug: 30572472
Change-Id: I48b7d4b94762a45fb211b8a7a12cf653c8f48a5d

7 years agoAdd SimpleLog to audio_utils
Andy Hung [Tue, 21 Mar 2017 18:17:32 +0000 (11:17 -0700)]
Add SimpleLog to audio_utils

SimpleLog provides a private logcat-style logging
to avoid cluttering the device logcat.

Test: dumpsys media.audio_flinger and unit test
Bug: 30572472
Change-Id: I22aafc9f7177c9e0447e0d7d9385c50442c8b78a

7 years agoMerge changes from topic 'power log 2'
Andy Hung [Fri, 24 Mar 2017 16:17:51 +0000 (16:17 +0000)]
Merge changes from topic 'power log 2'

* changes:
  Fix clock.h for Mac OS X build
  Revert "Revert "Add power logging""

7 years agoFix clock.h for Mac OS X build
Andy Hung [Mon, 20 Mar 2017 18:51:08 +0000 (11:51 -0700)]
Fix clock.h for Mac OS X build

Test: manual check of non-linux option and on Mac OS X.
Bug: 30572472
Change-Id: Idfd33fcebb1fb694308a4d513a4a2ae0b17aa24d

7 years agoMerge "update auto generated audio-base.h file"
Eric Laurent [Tue, 21 Mar 2017 23:41:08 +0000 (23:41 +0000)]
Merge "update auto generated audio-base.h file"

7 years agoRevert "Revert "Add power logging""
Andy Hung [Mon, 20 Mar 2017 16:24:53 +0000 (09:24 -0700)]
Revert "Revert "Add power logging""

This reverts commit b674db8360be8109a838351f4527f6b9f420e04a.

Test: dumpsys, offloaded, non-offloaded playback
Bug: 30572472
Change-Id: I634ce5ffd226b55fa71999b503cb003e77127d52

7 years agoMerge "Revert "Add power logging""
Jin Qian [Sat, 18 Mar 2017 02:47:19 +0000 (02:47 +0000)]
Merge "Revert "Add power logging""

7 years agoRevert "Add power logging"
Jin Qian [Sat, 18 Mar 2017 02:43:21 +0000 (02:43 +0000)]
Revert "Add power logging"

This reverts commit 13082f80dcee5f119cdb68a4dbc972cd2b939668.

Change-Id: I6bd03874fd219ef5b82e23d6e0dc97decbb87198

7 years agoMerge "Add power logging"
Andy Hung [Sat, 18 Mar 2017 01:21:54 +0000 (01:21 +0000)]
Merge "Add power logging"

7 years agoupdate auto generated audio-base.h file
Eric Laurent [Sat, 18 Mar 2017 00:37:58 +0000 (17:37 -0700)]
update auto generated audio-base.h file

Test: audio playback and capture regression tests.
Change-Id: I215091b5dd30295f05c48760f3143c2b9793544b

7 years agoAdd power logging
Andy Hung [Sat, 11 Mar 2017 01:07:23 +0000 (17:07 -0800)]
Add power logging

PowerLog captures the audio data power (measured in dBFS) over time.

Test: power_tests
Bug: 30572472
Change-Id: If8977f9b8f9d2d15ea07bc32bed7f802513a742b

7 years agoMerge "audio: increase max limit of Audio Port elements"
Mikhail Naganov [Fri, 17 Mar 2017 15:32:36 +0000 (15:32 +0000)]
Merge "audio: increase max limit of Audio Port elements"

7 years agoMerge "audiohal: Rename output flag VOIP_CALL_RX -> VOIP_RX"
Mikhail Naganov [Thu, 16 Mar 2017 23:57:13 +0000 (23:57 +0000)]
Merge "audiohal: Rename output flag VOIP_CALL_RX -> VOIP_RX"

7 years agoaudio: increase max limit of Audio Port elements
Mikhail Naganov [Thu, 16 Mar 2017 20:43:17 +0000 (13:43 -0700)]
audio: increase max limit of Audio Port elements

- Increase max limit of audio port sample rate, channel mask and
  formats from 16 to 32

Change-Id: I2babd55bb09c2b500a2643fda28068064ddde73d
Test: make

7 years agoMerge "Implement scanning for maximal/compatible device attributes."
Paul Mclean [Wed, 15 Mar 2017 20:44:38 +0000 (20:44 +0000)]
Merge "Implement scanning for maximal/compatible device attributes."

7 years agoImplement scanning for maximal/compatible device attributes.
Paul McLean [Wed, 8 Mar 2017 22:06:27 +0000 (15:06 -0700)]
Implement scanning for maximal/compatible device attributes.

Bug: 28824369

Change-Id: I3fb78f819193e19afcf890105a3ce08b70fb1a41
Test: Manual

7 years agoaudiohal: Rename output flag VOIP_CALL_RX -> VOIP_RX
Mikhail Naganov [Tue, 14 Mar 2017 16:18:19 +0000 (09:18 -0700)]
audiohal: Rename output flag VOIP_CALL_RX -> VOIP_RX

Makes the constant name consistent with non-Pixel HALs

Change-Id: I1840165d2aa5f3e43d35f4618ab9a125bd98d1a1
Test: make

7 years agoRename audio_utils/conversion.h to mono_blend.h
Glenn Kasten [Fri, 24 Feb 2017 00:55:16 +0000 (16:55 -0800)]
Rename audio_utils/conversion.h to mono_blend.h

There is only one function declared in that header file, and it is
mono_blend, so a more specific filename may be easier to understand.

Test: compiles OK
Change-Id: Ie2aec6c706b1822581b34d3702818b8200a1db8a

7 years agofifo: handle overrun correctly
Glenn Kasten [Mon, 6 Mar 2017 22:58:33 +0000 (14:58 -0800)]
fifo: handle overrun correctly

On overrun, allow a non-throttling reader to read any frames not yet overwritten.

Also provide an exact count of lost frames rather than an estimate,
when the fifo is configured with a non-power-of-2 capacity.

Bug: 36003483
Test: media.log and fifo interactive unit test
Change-Id: Ia0a7b6f1043f1cd34f6b4fa779785afeff34c5c9

7 years agoMerge "fifo: Update documentation for non-NULL buffer pointers"
Glenn Kasten [Tue, 7 Mar 2017 20:22:15 +0000 (20:22 +0000)]
Merge "fifo: Update documentation for non-NULL buffer pointers"

7 years agofifo: Update documentation for non-NULL buffer pointers
Glenn Kasten [Mon, 5 Dec 2016 20:05:00 +0000 (12:05 -0800)]
fifo: Update documentation for non-NULL buffer pointers

Test: comments only, should not require re-test
Bug: 36003458
Change-Id: I92610263c4d46e161c205096422e1cb3eb3a4243

7 years agoMerge "audio: add missing flags and devices"
Eric Laurent [Tue, 7 Mar 2017 01:22:40 +0000 (01:22 +0000)]
Merge "audio: add missing flags and devices"