Commit graph

284 commits

Author SHA1 Message Date
Kevin Rocard
30944c7a73 Merge changes from topic "b/69811500" into oc-dev am: 61ae0a1fc7 am: d7d5d7a22d am: abec925f05
am: d7042bba2b

Change-Id: I7265aa584b13ddc16e690b94f1976f6aaf5b91fa
2017-12-07 05:54:12 +00:00
Kevin Rocard
27dfaa0941 Audio policy config: remove cross-module device port name uniqueness am: 503c3e0a4e am: c5ce355c24 am: e8e9cdcf5e
am: a0e6bbe78b

Change-Id: I7291fcf545bea544cafb81c47339de78ae9518db
2017-12-07 05:53:16 +00:00
Kevin Rocard
c66afe5dad Audio policy config: Device port (type,address) must be unique am: fa1f597442 am: d4112727b7 am: 7c7fc0c69a
am: ead5a3bed3

Change-Id: Ia7edf22a48118eb062f83ba355b948a8e5c4ab5b
2017-12-07 05:53:05 +00:00
Kevin Rocard
db6cdc5282 Audio policy config: allow vendor to extend module name am: 7558e8c6e4 am: ec55b2f024 am: 540748bc80
am: c8ef2e0e44

Change-Id: Iaceb3864f283f22e85c5f4332256b43ed709f82f
2017-12-07 05:52:55 +00:00
Kevin Rocard
d7042bba2b Merge changes from topic "b/69811500" into oc-dev am: 61ae0a1fc7 am: d7d5d7a22d
am: abec925f05

Change-Id: If1f7ce2a3bf45bfa5b147fe8f21eac21b5516f0b
2017-12-06 20:33:38 +00:00
Kevin Rocard
abec925f05 Merge changes from topic "b/69811500" into oc-dev am: 61ae0a1fc7
am: d7d5d7a22d

Change-Id: Id4c64ec8339a7a4112b482a3cef33095c3dabc79
2017-12-06 20:31:08 +00:00
Kevin Rocard
d7d5d7a22d Merge changes from topic "b/69811500" into oc-dev
am: 61ae0a1fc7

Change-Id: I8d3e90d9695330b87f8e93dff84b752ec18e5254
2017-12-06 20:28:07 +00:00
TreeHugger Robot
61ae0a1fc7 Merge changes from topic "b/69811500" into oc-dev
* changes:
  Audio HAL: Allow setters to not be implemented
  Audio VTS: HAL can support more than the native sampling rates
2017-12-06 20:18:12 +00:00
Kevin Rocard
a0e6bbe78b Audio policy config: remove cross-module device port name uniqueness am: 503c3e0a4e am: c5ce355c24
am: e8e9cdcf5e

Change-Id: Ieec5791e1864d87ea26a1743f4543d0ff07c2825
2017-12-06 19:51:18 +00:00
Kevin Rocard
ead5a3bed3 Audio policy config: Device port (type,address) must be unique am: fa1f597442 am: d4112727b7
am: 7c7fc0c69a

Change-Id: I669ff1e8e32b7e539d33d8f1a05ee06962836e60
2017-12-06 19:51:05 +00:00
Kevin Rocard
c8ef2e0e44 Audio policy config: allow vendor to extend module name am: 7558e8c6e4 am: ec55b2f024
am: 540748bc80

Change-Id: I7f0627e930fc7a8fe13ac13f708d0972c5747b23
2017-12-06 19:50:51 +00:00
Kevin Rocard
e8e9cdcf5e Audio policy config: remove cross-module device port name uniqueness am: 503c3e0a4e
am: c5ce355c24

Change-Id: I1e9225d0acd5515890fec9bc259b39f26b3c8e5e
2017-12-06 19:36:16 +00:00
Kevin Rocard
7c7fc0c69a Audio policy config: Device port (type,address) must be unique am: fa1f597442
am: d4112727b7

Change-Id: I4d24d58034d3a39fee66308b44620c956ad5c345
2017-12-06 19:36:08 +00:00
Kevin Rocard
540748bc80 Audio policy config: allow vendor to extend module name am: 7558e8c6e4
am: ec55b2f024

Change-Id: Ic7c5de5e7c215c43f2ea044a38bbf52ee71984ca
2017-12-06 19:36:03 +00:00
Kevin Rocard
c5ce355c24 Audio policy config: remove cross-module device port name uniqueness
am: 503c3e0a4e

Change-Id: Ibeef7dd1ad8db4a55b9e323c07d3a499289f7d73
2017-12-06 19:30:49 +00:00
Kevin Rocard
d4112727b7 Audio policy config: Device port (type,address) must be unique
am: fa1f597442

Change-Id: I03176086075fb2c2911edf3a470b0319cb8648b6
2017-12-06 19:30:44 +00:00
Kevin Rocard
ec55b2f024 Audio policy config: allow vendor to extend module name
am: 7558e8c6e4

Change-Id: I2acafb47c986e5886b0bacc0bb6c6419feae69e5
2017-12-06 19:30:34 +00:00
Kevin Rocard
3bcba14c36 Audio HAL: Allow setters to not be implemented
setSampleRate, setChannelMask, setFormat
may not be implemented by the HAL, although this is not documented in
the HAL API.
Currently the VTS test requires their implementation if the respective
getSupported{SampleRate,ChannelMask,Format} are supported.

Relax this requirement as the framework never calls those setters.

Note that the optionality of those functions will be documented
in the next HAL API version.

Test: vts-tradefed run commandAndExit vts --module VtsHalAudioV2_0Target -t CheckConfig.audioPolicyConfigurationValidation
Bug: 69811500
Change-Id: I3a390ae925cabd99e7f1ed4a627e71ad87b1b437
Signed-off-by: Kevin Rocard <krocard@google.com>
2017-12-05 15:42:10 -08:00
Kevin Rocard
02025847de Audio VTS: HAL can support more than the native sampling rates
getSupportedSampleRate should return the native sampling rates,
(IE. the sampling rates that can be played without resampling)
but other sampling rates can be supported by the HAL.

The test was too strict as it was failing if HALs were supporting more
sample rates than there native (optimized) ones.

For example, a HAL might have its best performance (no resampling)
on 48kHz but still support 16kHz through resampling.

Note: getSupportedSampleRate might be renamed to getNativeSampleRate in
the next major HAL revision to avoid ambiguity.

Test: vts-tradefed run commandAndExit vts --module VtsHalAudioV2_0Target -t CheckConfig.audioPolicyConfigurationValidation
Bug: 69811500
Change-Id: I1ec1ce422bc5039637463c6641060508f4ee892b
Signed-off-by: Kevin Rocard <krocard@google.com>
2017-12-05 15:14:17 -08:00
Kevin Rocard
503c3e0a4e Audio policy config: remove cross-module device port name uniqueness
This constraint was added due to an incorrect assumption
that device ports were identified by names whereas
they are by the (module,type,address) triplet.

Bug: 69442986
Test: xmllint validates an XML with two identically named devices in
      different modules.
Test: vts-tradefed run commandAndExit vts --module VtsHalAudioV2_0Target -t CheckConfig.audioPolicyConfigurationValidation
Change-Id: I66d890d3c967bead4f2a287202c259009217996a
Signed-off-by: Kevin Rocard <krocard@google.com>
2017-12-04 14:29:19 -08:00
Kevin Rocard
fa1f597442 Audio policy config: Device port (type,address) must be unique
Device port are not identified by names but by their type and address
and the module they are in.

As a result, enforce this constraint in the XSD. Violating it results in
a policy parsing crash.

Bug: 69442986
Test: xmllint invalidates an XML with two devices of the same type
      and address
Test: vts-tradefed run commandAndExit vts --module VtsHalAudioV2_0Target -t CheckConfig.audioPolicyConfigurationValidation
Change-Id: I84245f0fa80fef786a002c98073c166b6aaf2be4
Signed-off-by: Kevin Rocard <krocard@google.com>
2017-12-04 14:29:14 -08:00
Kevin Rocard
7558e8c6e4 Audio policy config: allow vendor to extend module name
Vendor are currently not allowed to extend the XML format.
As some enumeration are allowed to be extended, this mean that
the format must allow some extension mechanism.

This patch relaxes the definition of the module name field.
AOSP names are still allowed, but a vendor can add its own name
if prefixed with "vx_". Eg:
    <module name="vx_google_vr" halVersion="3.0">

Test: xmllint --xinclude --noout --schema hardware/interfaces/audio/2.0/config/audio_policy_configuration.xsd audio_policy_configuration.xml
      with audio_policy_configuration.xml containing a module named vx_google_vr
Test: vts-tradefed run commandAndExit vts --module VtsHalAudioV2_0Target -t CheckConfig.audioPolicyConfigurationValidation
      on Pixel 2
Bug: 69442986
Signed-off-by: Kevin Rocard <krocard@google.com>

Change-Id: I4ead38535cce89bb8fe44cf23fa1146acd1271d6
2017-12-04 14:29:08 -08:00
Kevin Rocard
b5433136dd Add the audio team as owner of the audio VTS
am: c691e18332

Change-Id: I3fa55d02549c1827737f8e0d85bae99226506f17
2017-11-29 22:23:57 +00:00
Daniel Van Veen
ab185f7250 Merge "Fix inequality typo in StreamIn::getCapturePosition" am: ba3225718b am: 3770968cf9
am: d0161b948a

Change-Id: Idd1d697f45057872d1a88ed42487cc1e1859d229
2017-11-29 21:15:02 +00:00
Daniel Van Veen
3770968cf9 Merge "Fix inequality typo in StreamIn::getCapturePosition"
am: ba3225718b

Change-Id: I9ec534a8ec45525021180fa9219a1e3d4f34d0a7
2017-11-29 20:46:08 +00:00
Kevin Rocard
c691e18332 Add the audio team as owner of the audio VTS
Change-Id: I7744929814e3e7ba99f1cb664153cdffac58f01e
Merged-In: I514c37b3c9da3df700fa208e79ff6597f8914092
Signed-off-by: Kevin Rocard <krocard@google.com>
2017-11-29 12:41:25 -08:00
Mikhail Naganov
8c0c030ee9 Add OWNERS for audio-related HAL default implementations
Test: not needed
Change-Id: I2893c84ac2ac72095baac810947fac56235a9d79
Merged-In: Idefe7be10bde22866be82f87118b9b54e74c3f40
2017-11-29 12:39:55 -08:00
Daniel Van Veen
0c7d58b00a Fix inequality typo in StreamIn::getCapturePosition
This was preventing getCapturePosition() being called from
the default HIDL implementation.

Test: cts-tradefed run cts -m CtsMediaTestCases \
      -t android.media.cts.AudioRecordTest
Change-Id: I9c920108f68fb895a7f7a9d2ea27c291a91c1afb
2017-11-29 17:06:27 +00:00
Chih-Hung Hsieh
dbd7e5f031 Merge "Use -Werror in hardware/interfaces/audio" am: 7a4422d2a5 am: ae9fb022a3
am: 5d8244ee3f

Change-Id: I0826ee82634360949a94b3ca51011fe52f9f8079
2017-11-28 19:18:04 +00:00
Chih-Hung Hsieh
ae9fb022a3 Merge "Use -Werror in hardware/interfaces/audio"
am: 7a4422d2a5

Change-Id: Ib0cf1e15856fd58f0f2ea726e3d5b94177ab33a1
2017-11-28 19:03:31 +00:00
Chih-Hung Hsieh
b38c1aebc1 Use -Werror in hardware/interfaces/audio
* Remove unused variables, lambda function parameters..

Bug: 66996870
Test: build with WITH_TIDY=1
Change-Id: I28e8eb1af434f62cab6f41285b9a400f7f57cd13
2017-11-28 17:11:33 +00:00
Xin Li
bb9e38fef9 Merge commit '1a06284b24f5eb7bb9c1fea0817da8898b3b1bff' from
oc-mr1-dev-plus-aosp into stage-aosp-master

Change-Id: I2a044eb8c9981d0a8198ffe2df55559afbd76341
Merged-In: I4fb9f18884f7ef21162015a0032c4431444f7025
2017-11-14 12:08:38 -08:00
Steven Moreland
8db261bc99 Updating makefiles for hidl_interface.
Bug: 64487114
Test: manual
Merged-In: Ie13d9e014cf2b81c18c67f551b4644fb9f0ba812
Change-Id: Ie13d9e014cf2b81c18c67f551b4644fb9f0ba812
2017-11-13 10:00:18 -08:00
Steven Moreland
a1169dd600 Update makefiles for hidl_interface.
Bug: 35570956
Test: manual
Change-Id: I7a220b78ee081240e1dc30ef5672ba39e3e98375
2017-11-10 09:06:55 -08:00
TreeHugger Robot
2aa5fe9241 Merge "Audio VTS: improve audio policy validation error messages" 2017-10-28 07:11:23 +00:00
TreeHugger Robot
4c197ce183 Merge "Audio HIDL wrapper: Improve status_t to Return conversion for get_parameter" 2017-10-28 06:21:33 +00:00
TreeHugger Robot
7e156d1512 Merge "Add the audio team as owner of the audio VTS" 2017-10-24 02:31:10 +00:00
Kevin Rocard
f16fabef5d Add the audio team as owner of the audio VTS
Change-Id: I514c37b3c9da3df700fa208e79ff6597f8914092
Signed-off-by: Kevin Rocard <krocard@google.com>
2017-10-23 21:26:16 +00:00
Kevin Rocard
1a7432375b Audio HIDL wrapper: Improve status_t to Return conversion for get_parameter
set_parameter wrapper was converting status_t as such:
OK -> OK
-ENOSYS -> INVALID_STATE
everything else -> INVALID_ARGUMENTS

Which was inconsistent with the rest of the wrapper which was doing:
OK -> OK
-EINVAL -> INVALID_ARGUMENTS
-ENODATA -> INVALID_STATE
-ENODEV -> NOT_INITIALIZED
-ENOSYS -> NOT_SUPPORTED
everything else -> INVALID_STATE

Unfortunately, identical conversion can not be achieve as legacy
set_parameter specifically require
-ENOSYS -> INVALID_STATE
in `get_parameter` docstring:

     * If the implementation does not accept a parameter change while
     * the output is active but the parameter is acceptable otherwise, it must
     * return -ENOSYS.

As a result implement:
OK -> OK
-EINVAL -> INVALID_ARGUMENTS
-ENODATA -> INVALID_STATE
-ENODEV -> NOT_INITIALIZED
-ENOSYS -> INVALID_STATE              <--- unchanged
everything else -> INVALID_ARGUMENTS  <--- unchanged

Test: Playback and record over builtin & USB. Hangout call
Test: vts-tradefed run commandAndExit vts --module VtsHalAudioV2_0Target
Bug: 67030461
Change-Id: I13649eb00f8465921e5c718c5d5df120e1262ff7
Signed-off-by: Kevin Rocard <krocard@google.com>
2017-10-20 05:13:28 +00:00
Tri Vo
71fae85bef Merge "Set pipe size to >1MB for debugDump test cases." am: d928053397 am: 04fcc83578 am: bd9b6d5c68
am: 976bfa63f8

Change-Id: I55a4c333ac6249d92f588e6c36c58590c01945ee
2017-10-18 03:30:27 +00:00
Tri Vo
976bfa63f8 Merge "Set pipe size to >1MB for debugDump test cases." am: d928053397 am: 04fcc83578
am: bd9b6d5c68

Change-Id: I0719153562f638d958f68f823bace7fb2dad3888
2017-10-18 02:56:55 +00:00
Tri Vo
bd9b6d5c68 Merge "Set pipe size to >1MB for debugDump test cases." am: d928053397
am: 04fcc83578

Change-Id: I268c1f1fd16732ffce1569a19d8efa47897fc329
2017-10-18 02:28:01 +00:00
Tri Vo
04fcc83578 Merge "Set pipe size to >1MB for debugDump test cases."
am: d928053397

Change-Id: If7cca83c1da491e5c399170e2669995e878fdc57
2017-10-18 02:21:29 +00:00
Tri Vo
7d35a3d0f2 Set pipe size to >1MB for debugDump test cases.
Test: VtsHalAudioV2_0Target
Change-Id: I2dd43851a43609ad2953030303edaeb684b63096
2017-10-17 16:51:33 -07:00
Tri Vo
1853d8b538 Merge "Use a pipe instead of tmp for debugDump tests." am: 458b8fa5bd am: c62e184a27 am: a56e32dca2
am: e9c924d756

Change-Id: Idfab4049352fa39ce52f712f95e1e98fa8fba5b7
2017-10-15 04:01:35 +00:00
Tri Vo
e9c924d756 Merge "Use a pipe instead of tmp for debugDump tests." am: 458b8fa5bd am: c62e184a27
am: a56e32dca2

Change-Id: I9f450d87bc7737e14ad4ed0bab9670c6765fd5e2
2017-10-15 03:44:38 +00:00
Tri Vo
a56e32dca2 Merge "Use a pipe instead of tmp for debugDump tests." am: 458b8fa5bd
am: c62e184a27

Change-Id: If0f38272ff7a4e7982ef9273ed09be7d70b9de16
2017-10-15 03:01:13 +00:00
Tri Vo
c62e184a27 Merge "Use a pipe instead of tmp for debugDump tests."
am: 458b8fa5bd

Change-Id: Ife2cfb8b89c0f550648ea28c339e7278015399c0
2017-10-15 02:56:25 +00:00
Tri Vo
6c00ac31bb Use a pipe instead of tmp for debugDump tests.
Audio hal does not have selinux permissions to files under
/data/locat/tmp. We pass an fd to a pipe to the HAL instead.

Bug: 67665722
Test: VtsHalAudioV2_0Target
Change-Id: I695917be1816ba007f48afab5e978ab31024ffba
2017-10-12 15:47:34 -07:00
Steven Moreland
1d7374c5e1 Update for Soong java makefiles. am: c3e80fa01e am: 0fff75dee1 am: 6c811964a1
am: 116161d94e

Change-Id: I33643636e2511de77fdf7de57777eb67edee2e52
2017-10-11 16:39:21 +00:00