| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Also improve robustness to choice of sampling rate or buffer size
such that increasing either by 10x does not cause overflow.
Bug: 12979141
Bug: 15933066
Change-Id: If7989bd745d1bee3bdf811b8b7c978543ccafb65
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allow creation of audio patches with more than one sink.
More than one sink is enabled when:
- Connecting an input device to output devices on the same audio HW module.
- Connecting an output mix to output devices on the same audio HA module.
All other patches are limited to one sink.
Bug: 16879363.
Change-Id: I95be6948ef29df64e51e5b8ace38c2db7f3e89f2
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Do not permit mixing to mono sink in AudioFlinger.
Allow effects on mono sink if not Mixer thread (e.g. Record).
Bug: 16863095
Change-Id: I8b232fc1fb3f07bf017020c5d4f9ace644dec6d8
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
Add possibility to use sink and source devices not on
the primary HW module for voice calls (e.g. USB headsets).
Bug: 15520724.
Change-Id: Ib27db4ba759b6d91ea1104dc2e35c87733517b30
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a method to query from the audio HAL the HW sync
source used for a given audio session.
Modify audio policy to select a direct output with HW sync
when requested.
Bug: 16132368.
Change-Id: I03038f9188f2d389f8a5fd76a671854013a4513e
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A memclear in the EffectChain was out of bounds.
Bug 15432115
Bug 16845751
Change-Id: Ib0adc7fa730d630bb71fb87d51163a26149b16e2
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Audio policy:
Replace unknown device assertion by debug log in setDeviceConnectionState().
It is possible that some kernels indicate connection of a legacy device type
when a USB audio device is connected.
We should just ignore this device.
- Audio flinger:
Make sure FastMixer thread is idle before exiting the normal mixer thread and
closing the output stream.
Change-Id: Ia10a20176a60a8aa56765538093a555fc998508a
|
|\ \ |
|
| |/
| |
| |
| |
| |
| | |
Legacy code that has not been hooked up.
Change-Id: Ic01a4eddfa1020089d5bc42f58b6a4697698c27a
|
| |
| |
| |
| |
| | |
Bug: 13744704.
Change-Id: I572c89f88dcab2b8b612ec6860983306f9f159ab
|
|/
|
|
|
|
|
|
|
|
| |
Use stdatomic.h instead. We're trying to remove android_atomic use
wherever possible. The 64-bit uses seem easiest to remove first.
This cleans up the code, though not as much as C++ <atomic> would,
if it worked everywhere.
(cherry picked from commit f39b560952d3706a7ff47ef0d82c1a836daeea42)
Change-Id: I3c29bdbd5915cb9d47118834a3a742fe296cf87f
|
|\ |
|
| |
| |
| |
| | |
Change-Id: Ibdbdc6ea0b87cdcd15432257a3455b11b3ce14b7
|
| |
| |
| |
| | |
Change-Id: Ife5e40264f43fb3ccb40830228701003fe106bf5
|
| |
| |
| |
| |
| |
| |
| |
| | |
Indicate the audio session ID when calling getInput(),
startInput(), stopInput(), releaseInput().
Bug: 12378680.
Change-Id: I763793752f93e2f4e1445a5ab217c895af011038
|
|\ \ |
|
| |/
| |
| |
| |
| | |
Bug: 16525305
Change-Id: Ie010822b0fa9dec74adde1d1b091ee44c183fc94
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Rename AudioSystem::newAudioSessionId() to
AudioSystem::newAudioUniqueId() as it can be used
also for I/O handles.
Bug: 12378680.
Change-Id: I611ea3b5eb57a4b0774437f477ee87dc4ccc2cc2
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add parameters to openInput() and openOutput(): device address,
input source.
Allow caller to specify a given I/O handle
Group parameters in a struct audio_config.
Bug: 12378680.
Change-Id: I7e9af74c0d996561cc13cbee7d9012d2daf33025
|
|/
|
|
|
| |
Bug: 16601366
Change-Id: I573b98631f81b7768f7cc00aa09e560008dea587
|
|
|
|
|
|
| |
But not enabled (kEnableExtendedChannels == false).
Change-Id: I62f7e31fbd29ad703a9a02f5d1a280b6972dd423
|
|
|
|
|
|
|
|
| |
tests/test-mixer updated to handle multichannel.
New mixer path is still disabled (kUseNewMixer = false).
Subsequent CL will enable multichannel capability.
Change-Id: I71dafa94cc1d9af567c285e0ded7c5c94e3ff926
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for audio device connections between different audio
hw modules.
The patch is performed by creating a bridge between the playback
thread connected to the sink device and the record thread connected
to the source device using a pair of specialized PlaybackTrack and
RecordTrack.
- Added PatchTrack and PatchRecord classes.
- Added TrackBase type to indicate more clearly the track behavior.
- A TrackBase can allocate the buffer or reuse an existing one.
- Factored some code in openOutput() and openInput() for internal use
by PatchPanel.
Bug: 14815883.
Change-Id: Ib9515fcda864610458a4bc81fa8f59096ff4d7db
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I384bf8317d4f03616bf9f2b458a8700965d5cf56
|
|/
|
|
| |
Change-Id: I1cf0c0d9375779b3074af12f4cbf9c1ec07bf4ff
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
This is used to convert between channel masks for input AudioTrack
data.
Change-Id: Iedffaeccb99c7053992152e7b1cb6b2d33b12eef
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Change-Id: I6b1a8755a1e6c29b916662fd376e9509cda5df55
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
AudioMixer::ReformatBufferProvider now uses it as a base class.
Fix ReformatBufferProvider object leak.
Change-Id: If196f844eaaa124a173ffa27afe88098023c2ff9
|
|/
|
|
|
|
| |
introduced by Change-Id: I4e9b7fa99858b488ac98a441fa70e31dbba1b865
Change-Id: I9a0c8800f5cf3767cc259776f95c96cad972e392
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Buffer frame count and notification frame count
are now calculated by server instead of by client.
The server has more information and can do a better job.
Also fix a few bugs:
- If a fast track was re-created, even with same pipe depth, it would fail.
Now it can correctly re-create a fast track provided the pipe depth is same.
- Notification frame count for fast tracks was calculated by client
as 1/2 of the total frame count, which is a large value due to the pipe.
Now the notification frame count is set by server to the HAL frame count.
This should reduce latency for fast tracks.
- EVENT_OVERRUN were happening frequently when there was sample rate conversion,
because the client didn't know about the sample rate conversion,
and under-estimated the necessary buffer size. Now since server
calculates the buffer sizes, EVENT_OVERRUN is unlikely.
- RecordThread::createRecordTrack_l was checking for mono and stereo
for fast tracks. This is not necessary, and now we can handle a
multi-channel fast track.
Bug: 7498763
Change-Id: I0c581618e8db33084d5ff9ed50a592990c9749e8
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| | |
Also happens when restarting AudioFlinger.
Bug: 16322824
Change-Id: I382b20174cb0639e04316130141f2094d7dd0cb3
|
| |
| |
| |
| |
| |
| |
| | |
For backward compatibility, until flags are correctly calculated,
we will assume that the request is for a low latency input stream.
Change-Id: I76746834e870df00833dc77cbdaa2edd2ffeec95
|
|/
|
|
|
|
| |
Show per-track sample rate, and whether there is a fast capture thread
Change-Id: If6a08a40d1eeba0690aa8da3c541f845ec101b7f
|
|
|
|
|
|
|
| |
For backward compatibility, until flags are added to openInput(),
we will assume that the request is for a low latency input stream.
Change-Id: I5e6f7e574418917ff1b41b0a47199203c69cb40f
|
|
|
|
| |
Change-Id: I0f51470a6d58a22310ce7cda80afc55e9d6df1dc
|
|
|
|
|
|
|
|
| |
Pass audio aac sub formats in offloadinfo according to
aac profile. Audio HAL can take decision about offload
using DSP capabilities
Change-Id: If269a3654b5d2b09c183212b0646ef03e06f2d8f
|
|
|
|
|
|
|
|
| |
Fixes an issue caused by extended precision and the FastMixer
when the format to the FastMixer was returned instead of the
HAL format.
Change-Id: I2be9d55d5c87d82e46b5200b07fcdd986ebde08a
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use floating point volume in AudioMixer mixing when floating
point input is used with the new mixer engine.
AudioResampler is updated to take floating point volume to match.
Both legacy integer and floating point mixer engines work.
For now, integer volume is used when the new mixer engine
runs in integer input mode, for backward compatibility with
the legacy mixer. The new mixer engine will generally run in
floating point input mode. When the legacy path is removed,
the integer volumes will be removed.
Change-Id: I79e80c292ae7c8b8bdd0aa371a1b2c3a1b618290
|