Add parcelable test by writing the objects to Parcel and then reading
the objects to check parcelable functions work as expected.
Test: atest audiofoundation_parcelable_test
Bug: 135621476
Change-Id: I1d2263f0fe91e80b9262501372fde5e104469988
Merged-In: I1d2263f0fe91e80b9262501372fde5e104469988
Add libaudio_system_headers, libaudioclient_headers, libmedia_headers
to export_header_lib_headers for libaudiofoundation_headers so that
there is not needed to add header lib when using libaudiofoundation.
Test: make
Bug: 135621476
Change-Id: Iaa2c8046f9bce4b69398795e162d1ee39cece24b
Merged-In: Iaa2c8046f9bce4b69398795e162d1ee39cece24b
Add equals functions that can be used to check if current object is the
same as the given object by checking if all members are the same.
Bug: 135621476
Test: make
Change-Id: Idcf09587f629e6719e9dcf2f0fb7d68a01eafef9
Merged-In: Idcf09587f629e6719e9dcf2f0fb7d68a01eafef9
Make some generic audio classes parcelable so that they can be easily
used in binder call, including AudioProfile, AudioPort, AudioPortConfig,
DeviceDescriptorBase.
Bug: 135621476
Test: make
Change-Id: I8bdcd0da13739fc53638c78aac133336b77fb9d2
Merged-In: I8bdcd0da13739fc53638c78aac133336b77fb9d2
This change includes:
1. Use DeviceTypeSet to represent a combination of audio device types.
2. Add helper functions for DeviceTypeSet
3. Stop using audio device type as a bit mask in DeviceVector
Test: atest AudioTrackTest AudioRecordTest AudioPlaybackCaptureTest
Test: atest AudioHostTest AudioServiceHostTest audiopolicy_tests
Test: audio smoke test
Change-Id: If80513b689848bcab6094f70a572f053856afa82
Merged-In: If80513b689848bcab6094f70a572f053856afa82
Make AudioGain parcelable so that it can be easier to use in binder
call.
Bug: 135621476
Test: make
Change-Id: I4159e92a27c6d99570ac2e2175c3d46fa7975059
Merged-In: I4159e92a27c6d99570ac2e2175c3d46fa7975059
* changes:
Add audio health tests.
Move systemaudio_tests to system/media.
Enable AUDIO_ARRAYS_STATIC_CHECK.
Add test for device type helper functons.
Stop using audio device types as bit mask in policy.h
Add test for audio device type helper functions.
First test for audio health check. The test checks if all declared
devices found by checking if the audio device types of attached devices
can be seen by audio policy.
Bug: 141580284
Test: atest audio_health_tests audiopolicy_tests
Change-Id: I0374f382eaab7b36ab623b11a59e0634565f2187
Merged-In: I0374f382eaab7b36ab623b11a59e0634565f2187
Enable static check for audio arrays so that it can be earlier to catch
if there is any error within the audio arrays.
Bug: 135621476
Test: make
Change-Id: I598311e0853ca77dff83fb97974e534adb238567
Merged-In: I598311e0853ca77dff83fb97974e534adb238567
Bug: 135621476
Test: atest AudioHostTest, AudioPlaybackCaptureTest
Test: atest AudioServiceHostTest, audiopolicy_tests
Test: listen to music, make phone call with BT device
Test: test play music via Android Auto emulator
Change-Id: I154555579b0ebb8b020d00e9c05c8b9f79a08db4
Merged-In: I154555579b0ebb8b020d00e9c05c8b9f79a08db4
This CL added test audio device type helper functions, which expect a
single audio device type as a parameter.
Bug: 135621476
Test: atest systemaudio_tests
Change-Id: I5dac8eab93ab2251eea62b3b8d797f504bf538e4
Merged-In: I5dac8eab93ab2251eea62b3b8d797f504bf538e4
* changes:
Create DeviceDescriptorBase.
Copy DeviceDescriptor to libaudiofoundation.
Rename AudioPort and PolicyAudioPort accordingly.
Make audio port in policy not derive from audio port base
Rename AudioProfileVector.h as AudioProfileVectorHelper.h
Leave AudioProfileVector only in libaudiofoundation.
DeviceDescriptorBase is a class that derives from AudioPort and
AudioPortConfig and contains extensions to describe a audio port that is
a hardware device. DeviceDescriptor derives from DeviceDescriptorBase
and contains policy related stuff.
Test: atest AudioTrackTest AudioRecordTest AudioManagerTest
Test: atest AudioPlaybackCaptureTest AudioHostTest audiopolicy_tests
Test: audio smoke test
Bug: 135621476
Change-Id: I70ebe6bca70a77bbfc8f6855de3fd4c4ffa1c487
Merged-In: I70ebe6bca70a77bbfc8f6855de3fd4c4ffa1c487
The file is copied from managerdefinition folder. Doing this to get a
better git history.
Test: make
Bug: 135621476
Change-Id: I9a6d6401e45102b5303730b4900b1899968ca267
Merged-In: I9a6d6401e45102b5303730b4900b1899968ca267
Make the file name consistent as the class name.
Test: make
Bug: 135621476
Change-Id: Icbde26fe1798e344c3746f4678db098688456654
Merged-In: Icbde26fe1798e344c3746f4678db098688456654
This patch aims to make the structure for libaudiofoundation and policy
stuff simpler, including:
1. Make AudioPortBase as AudioPort in libaudiofoundation. Create
PolicyAudioPort that contains policy related stuff, which is used by
audiopolicy.
2. Make AudioPortConfigBase as AudioPortConfig in libaudiofoundation.
Create PolicyAudioPortConfig that contains policy related stuff.
3. DeviceDescriptor derives from AudioPort, AudioPortConfig, PolicyAudioPort
and PolicyAudioPortConfig. IOProfile derives from AudioPort,
PolicyAudioPort. AudioInputDescriptor/AudioOutputDescriptor derives from
AudioPortConfig, PolicyAudioPortConfig.
Test: atest AudioTrackTest, AudioRecordTest, AudioManagerTest
Test: atest audiopolicy_tests, AudioHostTest
Test: audio smoke test
Bug: 135621476
Change-Id: I40299d95dda3b3fc0ea88b079f2fe38d8f7e5b31
Merged-In: I40299d95dda3b3fc0ea88b079f2fe38d8f7e5b31
The file only contains helper functions for AudioProfileVector.
Test: make
Bug: 135621476
Change-Id: Ifd8eb281cbb7d6395fd5d4b4d6f308d58e6ded3d
Merged-In: Ifd8eb281cbb7d6395fd5d4b4d6f308d58e6ded3d
Make AudioProfileVector only in libaudiofoundation. In policy part,
instead of having policy specific AudioProfileVector deriving from
AudioProfileVector in libaudiofoundation, make all the functions as
global functions. In that case, AudioPortBase does not need to be a
template class. That helps make the structure clearer.
Test: audio smoke test
Test: CTS for AudioTrack, AudioRecord, AudioManager
Test: audiopolicy_tests, AudioHostTest
Bug: 135621476
Change-Id: I36b12123cf52c3f82cef09a965403791dff74093
Merged-In: I36b12123cf52c3f82cef09a965403791dff74093
The test uses HDMI and bt hfp to test setting of device connection
state. After the device is connected, the test tries to use explicit
routing to the new connected device to make sure the connection state is
set correctly.
Bug: 135621476
Test: atest audiopolicy_tests
Change-Id: I14759daac6d3522fa133a6e3b27b3863bb4ce3d1
Merged-In: I14759daac6d3522fa133a6e3b27b3863bb4ce3d1
* changes:
Add AudioPortFoundation, AudioPortBase and AudioPortConfigBase.
Copy AudioPort.h to libaudiofoundation.
Make AudioProfile as a common class and create AudioProfileVectorBase.
Preparation for moving AudioProfile to libaudiofoundation.
Return DeviceDescriptor or DeviceVector in Engine.
Add unit test for dyanmic policy. Including:
1. Use bp file instead of mk file
2. Test (un)registering policy mixes
3. Test dynamic policy playback rerouting
4. Test dynamic policy mix record injection
The idea of 3. and 4. is from pa/1201282.
Test: atest audiopolicy_tests
Bug: 135621476
Change-Id: Ic95c6f9193c2448168897c5441554cff735f401d
Merged-In: Ic95c6f9193c2448168897c5441554cff735f401d
The purpose of this change is to make a generic AudioPort class that
could be used by vendor.
1. Add AudioPortFoundation and AudioPortBase. AudioPortFoundation
contains generic members of an audio port. AudioPortBase is a template
class that derives from AudioPortFoundation. It takes audio profile
vector as a template parameters. That makes it more feasible to use
customized audio profile stuff as needed. In audio policy, AudioPort
derives from AudioPortBase and contain policy related stuff.
2. Add AudioPortConfigBase. AudioPortConfigBase contains generic members
of an audio port config. AudioPortConfig derives from AudioPortConfigBase
and contains policy related stuff.
3. Use std::string instead of String8 in AudioPort and AudioPortConfig.
Bug: 135621476
Test: CTS for AudioRecord, AudioTrack, AudioManager, RoutingTest
Test: audiopolicy_tests, AudioServiceHostTest
audio smoke test
Test: dumpsys media.audio_policy
Change-Id: I05611b7067c18006660de2c678acd56bdd34010a
Merged-In: I05611b7067c18006660de2c678acd56bdd34010a
Copy AudioPort.h from audio policy to libaudiofoundation and name it as
AudioPortBase.h. Note that AudioPortBase has not been added into the
make file as it needs some more change to make it work. Doing this just
to make a cleaner diff for later change.
Bug: 135621476
Test: make
Change-Id: I6cd1a53e889340c7fefffdd5832854016cd733ee
Merged-In: I6cd1a53e889340c7fefffdd5832854016cd733ee
AudioProfile is a class that contains information for an audio profile.
AudioProfileVectorBase is a base class that contains operations for a
vector of audio profiles. AudioProfileVector derives from
AudioProfileVectorBase and contains policy related stuff.
Bug: 135621476
Test: CTS for AudioRecord, AudioTrack, AudioManager
Test: audio smoke test, audiopolicy_tests
Test: dumpsys media.audio_policy
Change-Id: Ic2e08efcc5efa99e499a931811b7042fbd5ddf04
Merged-In: Ic2e08efcc5efa99e499a931811b7042fbd5ddf04
Copy AudioProfile from audio policy to libaudiofoundation. Note that
AudioProfile in libaudiofoundation has not been added into the make
file as it needs some more change to make it work. Doing this just to
make a cleaner diff for later change.
Rename AudioProfile in managerdefinitions folder as AudioProfileVector
since AudioProfile will be moved to libaudiofoundation.
Bug: 135621476
Test: make
Change-Id: I13ac067317648bbfd8d3960d16a1ea56ded83011
Merged-In: I13ac067317648bbfd8d3960d16a1ea56ded83011
To remove the limit on the number of audio device types, there is a
need to remove the return value as a combination of audio_devices_t.
Using DeviceDescriptor or DeviceVector in Engine is a starting point.
Test: audiopolicy_tests, smoke test
Test: CTS for AudioTrack, AudioRecord, AudioManager
Bug: 135621476
Change-Id: I0d87fd76385629e6e6b74cdd37dbd334ae02c04f
Merged-In: I0d87fd76385629e6e6b74cdd37dbd334ae02c04f
1. Add SampleRateSet, FormatSet, ChannelMaskSet, FormatVector
using std::vector and std::set in libaudiofoundation.
2. Use SampleRateSet, FormatSet, ChannelMaskSet, FormatVector in
audio framework.
Bug: 135621476
Test: make, CTS for AudioRecord, AudioTrack, AudioManagerTest
Test: play and record audio
Change-Id: Ic04e637bcc6ba9df84c5e7561ec3c03f18a7d242
Merged-In: Ic04e637bcc6ba9df84c5e7561ec3c03f18a7d242
1. Create folder for libaudiofoudation.
2. Move AudioGain to libaudiofoudation. The goal is to make AudioGain
be able to use in binder call and be vendor-available later.
Bug: 135621476
Test: make, CTS for AudioTrack, AudioRecord, AudioManagerTest
Change-Id: Ibf16ad9cb7f2ac657a02632ccbe4f934b5a12731
Merged-In: Ibf16ad9cb7f2ac657a02632ccbe4f934b5a12731
Fix few inconsistencies w.r.t. usage of $OUT
Fix name of the apk to be installed
Bug: 140051680
Test: follow steps in README.md and run couple of benchmark tests
Change-Id: I29fd338bcc4cb127656c10c24af30fa98f656a14