| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: I6bd48292310be4e05758a11f617f50585904422d
|
|
|
|
|
|
|
|
| |
openRecord() now explicitly returns the control block and data buffer
as separate IMemory references. If the IMemory for data buffer
is 0, this means it immediately follows the control block.
Change-Id: Ic098f88f0e037f8fbe30006689e18cacacf09d06
|
|
|
|
|
| |
Change-Id: I5beb7daf6ff9bc123ff3582f7c294edcaf8652f6
Signed-off-by: Andy Hung <hunga@google.com>
|
|
|
|
| |
Change-Id: I611a63e63acf3eb17e2072c1a77b91fe9e62e36a
|
|
|
|
|
|
|
| |
They are always called while thread mutex is locked,
or in the thread constructor.
Change-Id: I56df71563a52a5cd6cea6fc0914df993519e1b74
|
|
|
|
|
|
| |
Supports multiple clients both at native sample rate and with resampling.
Change-Id: Icea55b4fd30751761b7debaa3ce016c79e712d8d
|
|
|
|
| |
Change-Id: I57e44b4c36b99f7149542bbcf9645521c6152dfa
|
|
|
|
|
|
|
| |
Set a work source for the playback wakelock, so that playback is
counted against the requesting app instead of the media server.
Change-Id: I7329f88a288a95a582a78005a1c3d16a5a611e31
|
|\
| |
| |
| |
| |
| |
| | |
into klp-dev
* commit '4823964d198228289ff21530bf8b01bb2ef196bb':
audioflinger: add HOTWORD audio source.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
HOTWORD is a special capture audio source that uses
the same audio tuning as VOICE_RECOGNITION but allows an
active capture to be preempted.
Bug: 10640877.
Change-Id: Iea09a11cbcdbacc8d434e5230e7559dcd1b44ac0
|
|/
|
|
| |
Change-Id: I054ba929e209797542940a0e734fc15f19f321c9
|
|
|
|
|
|
|
|
| |
Main differences between old and new control block:
- removes the mutex, which was a potential source of priority inversion
- circular indices into shared buffer, which is now always a power-of-2 size
Change-Id: I4e9b7fa99858b488ac98a441fa70e31dbba1b865
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The proxy object will eventually be the only code that understands the
details of the control block. This should make it easier to change the
control block in the future.
Initial set of control block fields that are isolated:
- sample rate
- send level
- volume
Prepare for streaming/static separation by adding a union to the control
block for the new fields.
Fix bug in handling of max sample rate on a track. It was only checking
at re-configuration, not at each mix.
Simplify OutputTrack::obtainBuffer.
Change-Id: I2249f9d04f73a911a922ad1d7f6197292c74cd92
|
|
Audioflinger.cpp and Audioflinger.h files must be split to
improve readability and maintainability.
This CL splits the files as follows:
AudioFlinger.cpp split into:
- AudioFlinger.cpp: implementation of IAudioflinger interface and global methods
- AFThreads.cpp: implementation of ThreadBase, PlaybackThread, MixerThread,
DuplicatingThread, DirectOutputThread and RecordThread.
- AFTracks.cpp: implementation of TrackBase, Track, TimedTrack, OutputTrack,
RecordTrack, TrackHandle and RecordHandle.
- AFEffects.cpp: implementation of EffectModule, EffectChain and EffectHandle.
AudioFlinger.h is modified by inline inclusion of header files containing
the declaration of complex inner classes:
- AFThreads.h: ThreadBase, PlaybackThread, MixerThread, DuplicatingThread,
DirectOutputThread and RecordThread
- AFEffects.h: EffectModule, EffectChain and EffectHandle
AFThreads.h includes the follownig headers inline:
- AFTrackBase.h: TrackBase
- AFPlaybackTracks: Track, TimedTrack, OutputTrack
- AFRecordTracks: RecordTrack
Change-Id: I512ebc3a51813ab7a4afccc9a538b18125165c4c
|