commit e6653b5d failed to include devices (IN|OUT)_USB_HEADSET
in (IN|OUT)_ALL and (IN|OUT)_ALL_USB masks
Test: audio playback and capture regression tests on marlin
Change-Id: I218b0c3ff868f3e1434e93a9e2fb07b3e16a2df8
Add missing devices for USB headset to allow distinction
between USB sound cards and simple USB headsets.
Add output and input flags indicating special output
and input profiles to used for VoIP streams.
Test: make.
Change-Id: I7967866e15991dbf2f4349daa3ff3baa87c1c062
Java intermediates are now created in the common rather than the device-
specific generated sources subdirectory.
Bug: 33842609
Test: make
Change-Id: I16af4cd19bf0b24baa0ad9ebfdb86b4d959c8672
HALs are prohibited from using framework binder, and there is
no equivalent scheduling policy service in hwbinder. Thus, in order
to match priorities of FastCapture / Mixer threads with their
counterparts in the HAL, it is needed to request the priority boost
from audioflinger on behalf of the HAL.
Bug: 34131400
Change-Id: I7c8db9d520b4cf272d2896ad875752b109b57ab7
Test: check priority match between audioflinger's and hal's threads
Used hardware/interfaces/update-base-files.sh to update
file system/media/audio/include/system/audio-base.h
Test: make
Bug: 30947943
Change-Id: Id1f6971a1e40ab963c19f42a95516e6d8a26fc60
Translation between audio_offload_info_t and AudioOffloadInfo
was missing a field. This was causing compressed tracks to play
using 'deep_buffer' mode instead of 'offload'.
Changing output stream async callback methods to 'oneway',
since they don't require anything from the callee.
Change-Id: I27fe7fb715e421f102db21a10d34e1dc3134cf01
Test: play MP3 file with Play Music, check audioflinger dump
Extended audio offload structure: added support to add bit_width,
offload buffer size and usage info.
Add support for direct PCM audio stream. Direct PCM stream
is used when pcm data required post processing in DSP. Direct PCM
stream is used for both track offload and PCM offload.
Add audio proxy source device.
Add support for additional audio formats: EVRC, QCELP, WMA, WMA,
AAC_ADIF, AMR, MP2, FLAC, ALAC, APE, DSD, LDAC.
Extend audio channel mask.
Test: make
Change-Id: I02d2f1fff6fa467688c1bad158ae18b5fa8c0f5b
Several issues addressed:
-- added IDevice.supportsAudioPatches to query whether
create/removeAudioPatch is actually supported by HAL;
-- IStreamOutCallback proxy needs to be owned by IStreamOut
implementation. In order for the client to reset the reference,
added method IStreamOut.clearCallback;
-- IDevice.open{Input|Output}Stream need to return a "suggested" audio
config from HAL;
-- code for converting between system/audio.h and HIDL
data structures has been moved to
android.hardware.audio.common@2.0-util library for reuse;
-- added a workaround for the issue with QC effects HAL trying to write
into the input parameters buffer, which is r/o by Binder design.
Bug: 30222631
Change-Id: I64af24d79c12d6ac3b0f87d085a821913e29237b
Test: tried using with WIP HIDL client on N5X
Changes made to the .hal definition:
- introduce Effect ID returned by the IEffectsFactory that
needs to be passed to IStream.{add|remove}Effect; otherwise
it's impossible to retrieve the underlying HAL effect handle;
- change "bus address" in DeviceAddress to "string" type;
- fix signature of some methods w.r.t. returning Result;
- remove unused "struct AudioPatch".
Bug: 30222631
Test: make
Change-Id: Icb51729ef57bb2a5b0b78609735e7481bc04f95c
To allow genrules with more than one tool, rename the tool property to
tools and make it an array, replace $tool with $(location <label>),
and use $() for other variables for consistency.
Bug: 31948427
Test: compare build.ninja
Change-Id: I3d714f70a2af0dc60faeee10e09b6ed166601f1d
Since in generated C++ code class enums are used, the names of enum
values are scoped anyway, thus carrying the prefix only clutters
code.
For C enums, newly introduced "value_prefix" annotation is used
to add the required prefix.
Added annotations for effects HAL types are just informational,
but can be used would C headers generation ever be required.
Also:
- renamed AudioInputFlags -> AudioInputFlag for consistency;
- moved AUDIO_INTERLEAVE_... constants into their own enum.
Bug: 31800672
Change-Id: I5b325f3440e0057ca98c4617040c7e5a89d2283d
Test: make
The following types are not used in HAL and being removed:
- AudioContentType;
- AudioUsage;
- AudioFlagsMask;
- AudioAttributes.
This is in order to reduce synchronization burden and also
allow extending framework without updating HAL.
Bug: 30222631
Change-Id: Ic5df1800224fd1506dcf624b0cd20f9fd36cb949
Test: make
These types are migrated from system/audio.h. The order and syntax
of declarations is preserved where available. The following
changes have been made:
- names changed to satisfy HAL style guide;
- some previously separate enums grouped into one to allow
using values between them (HIDL doesn't allow using values
of one enum in another, and even if it would, that will
probably be incompatible with C++11 enum classes it generates;
- as HIDL doesn't have sizeof, these were substituted with values;
- unions can't contain HIDL string type, thus some names are
expressed as uint8_t arrays;
- "handle" is a reserved word in HIDL;
- HIDL vector type is used instead of count / array pairs;
- obviously, macros and inline functions not migrated.
Bug: 30222631
Test: make
Change-Id: If55de3774deaa0b3f68ca6100e61ccaf79f29183