0f7b5f2b231caf87da9b20b74d086e5a9d6f4a9d |
|
19-Dec-2014 |
Eric Laurent <elaurent@google.com> |
audioflinger: pause HW A/V sync output when AudioTrack underruns Do not standby, starve or feed 0s to the audio HAL on direct output using HW A/V sync mode. Bug: 17883772. Change-Id: I11e6c97ec24360d75f9b602814d40a54b60cb7a7
/frameworks/av/services/audioflinger/Threads.h
|
d1f69b0b17acbd96987ecb2f3378abd394d05903 |
|
15-Dec-2014 |
Eric Laurent <elaurent@google.com> |
audioflinger: implement pause/resume for direct outputs Extend pause/resume support to direct output threads (was only for offload threads). If the HAL implements pause/resume, track pause/resume is forwarded to the HAL. Pause, flush, resume sequence is respected by executing the HAL calls in the playback thread (same as offload). Make sure the track flags on client side are consistent with the flags on server side. Bug: 17883772. Change-Id: I89b360d69818f7a9204bd36e3ec63a79e106ecf1
/frameworks/av/services/audioflinger/Threads.h
|
223fd5c9738e9665e495904d37d4632414b68c1e |
|
11-Nov-2014 |
Eric Laurent <elaurent@google.com> |
audio: new routing strategies and stream types Added new routing strategies and stream type for internal use by audio policy manager and audio flinger: - One for accessibility to allow different routing than media - One for re-routing (remote submix) in preparation of dynamic policies - Added stream type for "internal" audio flinger tracks used for audio patches and duplication. Bug: 18067208. Change-Id: I88f884b552e51e4a49c29125e5a1204cf58ff434
/frameworks/av/services/audioflinger/Threads.h
|
4c053ea158b29fa2cdd4c6f39d3c8da4ee5a7a02 |
|
28-Sep-2014 |
Glenn Kasten <gkasten@google.com> |
Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp The per-thread timestamp latch was not synchronized with the per-track released frames. Now the value of each track's released frames is latched along with the timestamp. Bug: 17531839 Bug: 17669342 Change-Id: I9d50c8c6a5de55a3f4561ac40e20d497376c1257
/frameworks/av/services/audioflinger/Threads.h
|
a49c94ea49c8329a1bdefe980e1f7d335c0d1ec5 |
|
02-Oct-2014 |
Glenn Kasten <gkasten@google.com> |
Merge "Revert "Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp"" into lmp-dev
|
6954127b7ace022677ac407ff943c2793f8a11be |
|
02-Oct-2014 |
Glenn Kasten <gkasten@google.com> |
Revert "Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp" This reverts commit 54464ba861aaafd11ee5645f5d1ecd1171c6e9fe. Bug: 17733142. Change-Id: I9886d40032b2f7d96bee03e600e14f78943d8052
/frameworks/av/services/audioflinger/Threads.h
|
955e24d3a8e218d4711cabc6558781e095011132 |
|
30-Sep-2014 |
Glenn Kasten <gkasten@google.com> |
Merge "Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp" into lmp-dev
|
54464ba861aaafd11ee5645f5d1ecd1171c6e9fe |
|
28-Sep-2014 |
Glenn Kasten <gkasten@google.com> |
Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp The per-thread timestamp latch was not synchronized with the per-track released frames. Now the value of each track's released frames is latched along with the timestamp. Bug: 17531839 Bug: 17669342 Change-Id: I96252782911bd42a2534cc4030521b7eeb99a7b9
/frameworks/av/services/audioflinger/Threads.h
|
e659ef420dae0caae84ab78f9df8952acb9ad3a0 |
|
29-Sep-2014 |
Eric Laurent <elaurent@google.com> |
audioflinger: forward flush to direct output streams Track flush should be forwarded to the audio HAL when playing on a direct output stream. Bug: 17704953. Change-Id: Iafc94327fe9aebf1d4eaa97b76c6767b7ac5babe
/frameworks/av/services/audioflinger/Threads.h
|
aaa44478a373232d8416657035a9020f9c7aa7c3 |
|
13-Sep-2014 |
Eric Laurent <elaurent@google.com> |
audioflinger: fix pre processing effect leak When a capture thread was closed, the effects attached to this thread were left dangling and the associated effect chain destroyed. When their last client was disconnected, the effects were not released properly from the effect library because the destruction process could not be completed without the effect being attached to a thread. A similar problem prevented a RecordTrack to be properly released if its client was destroyed after the capture thread. The fix consists in allowing the effect or record track to be properly released even if its parent thread cannot be promoted. Also save any effect chain still present on a closed capture thread in case a new client wants to reuse the effects on the same session later. Bug: 17110064. Change-Id: I5cd644daa357afd1f3548f9bcb28e6152d95fdb8
/frameworks/av/services/audioflinger/Threads.h
|
83b8808faad1e91690c64d7007348be8d9ebde73 |
|
21-Jun-2014 |
Eric Laurent <elaurent@google.com> |
audio flinger: add patch connection between hw modules 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
/frameworks/av/services/audioflinger/Threads.h
|
463be250de73907965faa6a216c00312bf81e049 |
|
11-Jul-2014 |
Andy Hung <hunga@google.com> |
Return negotiated format with HAL in AudioFlinger 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
/frameworks/av/services/audioflinger/Threads.h
|
5c68f959eaa2e02fed5643c78e281fff42bcc0a2 |
|
07-Jul-2014 |
Glenn Kasten <gkasten@google.com> |
Merge "IAudioFlinger::openRecord now suggests notificationFrames"
|
7df8c0b799d8f52d6386e03313286dbd7d5cdc7c |
|
03-Jul-2014 |
Glenn Kasten <gkasten@google.com> |
IAudioFlinger::openRecord now suggests notificationFrames Change-Id: I08885cc381d03c522a23289e74f0e1ed46563863
/frameworks/av/services/audioflinger/Threads.h
|
5ba4440c11eb975ec0e104e0af1981838f42f57c |
|
04-Jul-2014 |
Glenn Kasten <gkasten@google.com> |
Merge "Remove obsolete IAudioFlinger::channelCount()"
|
4d23ca370dd0ce584f49a80ef9dfcdbb75ba2c8e |
|
13-May-2014 |
Glenn Kasten <gkasten@google.com> |
Use sp<> instead of raw pointer for FastMixer This avoids worry about the thread lifetime during tear-down. Bug: 15858655 Change-Id: I896d24317bd6f53a574645cdf4cd514eaa205dd5
/frameworks/av/services/audioflinger/Threads.h
|
6dbb5e3336cfff1ad51d429fcb847307c06efd61 |
|
13-May-2014 |
Glenn Kasten <gkasten@google.com> |
Use of fast capture by normal capture Will only configure fast capture path if the input buffer size is less than 10 ms and the input sample rate is same as the primary output sample rate. Change-Id: I4a7cdc6069d750845412c626d27e83f72a1ab397
/frameworks/av/services/audioflinger/Threads.h
|
f947dbce4390f2c3c460325d37002a34f09c0b74 |
|
01-Jun-2014 |
Glenn Kasten <gkasten@google.com> |
Remove obsolete IAudioFlinger::channelCount() Change-Id: Ie623edae2e795f9155f1f452fe4e6c7217a4a4c8
/frameworks/av/services/audioflinger/Threads.h
|
1c333e252cbca3337c1bedbc57a005f3b7d23fdb |
|
20-May-2014 |
Eric Laurent <elaurent@google.com> |
audioflinger: first patch panel implementation. Added a new PatchPanel subclass to AudioFlinger to handle audio ports and audio patches configuration and connection. The first implementation does not add new functionnality. AudioPolicyManager uses patch panel interface to control device routing. AudioFlinger: - Added PatchPanel class. The first implementation does not add new functionnality. PatchPanel handles routing commands for audio HAL after 3.0 or converts to setParameters for audio HALs before 3.0. - Added config events to ThreadBase to control synchronized audio patch connection. AudioPolicyManager: - Use PatchPanel API to control device selection isntead of setParameters. - New base class AudioPort common to audio device descriptors and input output stream profiles. This class is RefBase and groups attributes common to audio ports. - Use same device selection flow for input as for outputs: getNewInputDevice -> getDeviceForInptusiource -> setInputDevice Change-Id: Idaa5a883b19a45816651c58cac697640dc717cd9
/frameworks/av/services/audioflinger/Threads.h
|
c62476f0c0c1cf9283a38852bde0a4c9434df712 |
|
24-May-2014 |
Andy Hung <hunga@google.com> |
Merge "Add format parameter to getTrackName() and track_t"
|
6181ffd90a436f333c43a7f812391eee2c35005a |
|
13-May-2014 |
Glenn Kasten <gkasten@google.com> |
Allow track buffer "allocation" to be from pipe Change-Id: Ib9ac170f8e8b7746b3588157a56cbee3b753a1cb
/frameworks/av/services/audioflinger/Threads.h
|
e8a1ced4da17dc6c07803dc2af8060f62a8389c1 |
|
10-May-2014 |
Andy Hung <hunga@google.com> |
Add format parameter to getTrackName() and track_t Change-Id: Ia152a839014e235fbfb656104c15d7c1b456d02e Signed-off-by: Andy Hung <hunga@google.com>
/frameworks/av/services/audioflinger/Threads.h
|
021cf9634ab09c0753a40b7c9ef4ba603be5c3da |
|
13-May-2014 |
Eric Laurent <elaurent@google.com> |
AudioFlinger: add specific mutex for client lists Add a specific mutex to protect access to mClients and mNotificationClients lists. This avoids locking the main AudioFlinger mutex from inside thread loops and allows not to worry about cross deadlocks when sending a config event with status reply while keeping the ThreadBase or AudioFlinger mutex locked. As a way of consequence, remove notification client list passed to processConfigEvents_l() and audioConfigChanged() as the list can now be accessed by locking client mutex only. Change-Id: I228022204b6709a8bb60cc96d9514a6ffe59b62e
/frameworks/av/services/audioflinger/Threads.h
|
1035194cee4fbd57e35ea15c56e66cd09b63d56e |
|
09-May-2014 |
Eric Laurent <elaurent@google.com> |
audioflinger: refactor thread config events Merge config events and set parameters messaging mechanism. - setting parameters now uses the config event mechanism - config event now allow to wait for a condition and synchronize caller binder thread with execution thread and return an execution status. - simplify locking mechanism to avoid unlocking the thread mutex while processing events. Change-Id: Ia49cb3e617abec4bacb6c1f9a8cb304c4ed3902e
/frameworks/av/services/audioflinger/Threads.h
|
b880f5e5fc07397ddd09a94ba18bdf4fa62aae00 |
|
07-May-2014 |
Glenn Kasten <gkasten@google.com> |
Add a per-thread heap that is read-only to clients Change-Id: I401263566ca20fbfb565689c8fa99458d3b283b2
/frameworks/av/services/audioflinger/Threads.h
|
3a6c90aa0617666d9abc94c02b752d9eb3d64772 |
|
13-Mar-2014 |
Glenn Kasten <gkasten@google.com> |
Add FIXMEs to createRecord for fast capture Change-Id: I759be200fae32969212c52a409f46f2e704081e3
/frameworks/av/services/audioflinger/Threads.h
|
010a1a1a552cdaad362cea8a0333b8906402dbcb |
|
13-Mar-2014 |
Andy Hung <hunga@google.com> |
Revert "Revert "Convert AudioFlinger mSinkBuffer to flexible format"" This reverts commit e2a9c29f35e0c09782558542fc4cf9823779590e.
/frameworks/av/services/audioflinger/Threads.h
|
e2a9c29f35e0c09782558542fc4cf9823779590e |
|
13-Mar-2014 |
Eric Laurent <elaurent@google.com> |
Revert "Convert AudioFlinger mSinkBuffer to flexible format" This reverts commit e7e676fd2866fa4898712c4effa9e624e969c182. Bug: 13450717. Change-Id: Ib80b0d14428fecce33c62003a1fcf83f71cee03b
/frameworks/av/services/audioflinger/Threads.h
|
e7e676fd2866fa4898712c4effa9e624e969c182 |
|
05-Mar-2014 |
Andy Hung <hunga@google.com> |
Convert AudioFlinger mSinkBuffer to flexible format Change-Id: I618d9c99a5f6f8c8d6a9f4b2d19e82c9ddc3b06e Signed-off-by: Andy Hung <hunga@google.com>
/frameworks/av/services/audioflinger/Threads.h
|
98ef978df4e928f486d244c4d7f7ad9f13111e98 |
|
04-Mar-2014 |
Andy Hung <hunga@google.com> |
Add mEffectBuffer to AudioFlinger Change-Id: Icf97c50040bc127723d56eb4d2fb6e790a7253d9 Signed-off-by: Andy Hung <hunga@google.com>
/frameworks/av/services/audioflinger/Threads.h
|
69aed5f0f4a3be3996d1e78a0473e1a72c1547da |
|
26-Feb-2014 |
Andy Hung <hunga@google.com> |
Add MixerBuffer for accumulation of float audio Path into and out of MixerBuffer is set up, but not currently enabled. Change-Id: I9d50752607d22dd2a3d9cc7e053babf8dfb22958 Signed-off-by: Andy Hung <hunga@google.com>
/frameworks/av/services/audioflinger/Threads.h
|
25c2dac12114699e90deb1c579cadebce7b91a97 |
|
27-Feb-2014 |
Andy Hung <hunga@google.com> |
Rename mixBufferSize to mSinkBufferSize in AudioFlinger Change-Id: I4d1d18d716fa3ad8c0e7cc87f5a2823422f504eb Signed-off-by: Andy Hung <hunga@google.com>
/frameworks/av/services/audioflinger/Threads.h
|
2098f2744cedf2dc3fa36f608aa965a34602e7c0 |
|
27-Feb-2014 |
Andy Hung <hunga@google.com> |
Rename mMixBuffer to mSinkBuffer in AudioFlinger Change-Id: I1f55630425b8ce36e9df2aaf64e06a8960b69a47 Signed-off-by: Andy Hung <hunga@google.com>
/frameworks/av/services/audioflinger/Threads.h
|
4cc0a6a835c806d200ef83ef31fe5bef327c355c |
|
17-Feb-2014 |
Glenn Kasten <gkasten@google.com> |
Multi-client recording continued Remove mReqChannelCount and mReqSampleRate. Increase number of input frames needed for sample rate converter. Add TODO comments to investigate later. Fix bugs in sample rate conversion. Change-Id: I3aa54b862843d518b6e4ece9a7f52fd27d741629
/frameworks/av/services/audioflinger/Threads.h
|
25f4aa83efaa9179e65a20583a6d441de2c3ff3f |
|
07-Feb-2014 |
Glenn Kasten <gkasten@google.com> |
Move handleSyncStartEvent and clearSyncStartEvent to RecordTrack Change-Id: I611a63e63acf3eb17e2072c1a77b91fe9e62e36a
/frameworks/av/services/audioflinger/Threads.h
|
deca2ae0a7cf8bc54ff3f30b7dc39bbc78b94c0d |
|
07-Feb-2014 |
Glenn Kasten <gkasten@google.com> |
Add _l suffix to readInputParameters/OutputParameters They are always called while thread mutex is locked, or in the thread constructor. Change-Id: I56df71563a52a5cd6cea6fc0914df993519e1b74
/frameworks/av/services/audioflinger/Threads.h
|
6dd62fb91d82dedcfa3ab38c02eb0940b4ba932a |
|
06-Dec-2013 |
Glenn Kasten <gkasten@google.com> |
Multi-client recording Supports multiple clients both at native sample rate and with resampling. Change-Id: Icea55b4fd30751761b7debaa3ce016c79e712d8d
/frameworks/av/services/audioflinger/Threads.h
|
1d6fa7af1288b550faabe4ec2cf98684236723db |
|
11-Feb-2014 |
Narayan Kamath <narayan@google.com> |
resolved conflicts for merge of 566be7c3 to master Change-Id: I7b1cc71057b2bd4f771e7bcf508a8c3abd6017ce
|
377b2ec9a2885f9b6405b07ba900a9e3f4349c38 |
|
03-Feb-2014 |
Kévin PETIT <kevin.petit@arm.com> |
Make frameworks/av 64-bit compatible Contains the necessary changes to make frameworks/av build and work on a 64-bit machine. Signed-off-by: Craig Barber <craig.barber@arm.com> Signed-off-by: Kévin PETIT <kevin.petit@arm.com> Signed-off-by: Ashok Bhat <ashok.bhat@arm.com> Signed-off-by: Marcus Oakland <marcus.oakland@arm.com> Change-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43
/frameworks/av/services/audioflinger/Threads.h
|
4944acb7355b3aa25748fd25945a363a69d65444 |
|
19-Aug-2013 |
Glenn Kasten <gkasten@google.com> |
Fix whitespace Change-Id: I9add0872030a26933f6b6dad1be299154611cc56
/frameworks/av/services/audioflinger/Threads.h
|
f74f213c0cd0612101e00a73704429dac1a92fe3 |
|
07-Feb-2014 |
Eric Laurent <elaurent@google.com> |
Merge "AudioFlinger: Offload track transition fix"
|
d9a4783985203c759ddcca784798ef395668fe05 |
|
07-Feb-2014 |
Eric Laurent <elaurent@google.com> |
Merge "AudioFlinger: Modify flush handling for offload path"
|
010c4c8ec50eb04ece15f792c508a3b869749310 |
|
07-Feb-2014 |
Glenn Kasten <gkasten@google.com> |
Merge "Fix IoConfigEvent constructor initializer list"
|
4c6a433d74d5ae8b9bc0557207e3ced43bf34a25 |
|
15-Jan-2014 |
Haynes Mathew George <hgeorge@codeaurora.org> |
AudioFlinger: Offload track transition fix Trigger state changes in OffloadThread on adding a new offload track. Bug: 12530661 Change-Id: I95b62764c7ac041d470702e86b951f812eb0e70f
/frameworks/av/services/audioflinger/Threads.h
|
7844f679be8d94c5cdf017f53754cb68ee2f00da |
|
15-Jan-2014 |
Haynes Mathew George <hgeorge@codeaurora.org> |
AudioFlinger: Modify flush handling for offload path Do not allow an offload track to directly control the offload thread behavior. OffloadThread can check for any pending flush reporting by its active tracks and decide to flush the HW or not. Bug: 12530661 Change-Id: Ib33f023c942f6c091b618004136b153c38a6eef6
/frameworks/av/services/audioflinger/Threads.h
|
0f11b51a57bc9062c4fe8af73747319cedabc5d6 |
|
01-Feb-2014 |
Glenn Kasten <gkasten@google.com> |
Fix unused parameter warnings in audio Change-Id: I665ba3358dd9502f0adec70d486e7bf8a2e1b0fe
/frameworks/av/services/audioflinger/Threads.h
|
49debee5bdddd7a1e0742a3ab66d4630bbe25ca2 |
|
01-Feb-2014 |
Glenn Kasten <gkasten@google.com> |
Fix IoConfigEvent constructor initializer list Fortunately this bug never showed up, because the parameter field has not been used yet. Change-Id: I2b36e2b7e1dcc2039c494fc5ea4994d262435aac
/frameworks/av/services/audioflinger/Threads.h
|
f0002d142e6d24c5438600b2c259679de710f8ac |
|
24-Jan-2014 |
Glenn Kasten <gkasten@google.com> |
Merge "Replace control block frameCount_ by explicit in/out parameter"
|
5f972c031d4061f4f037c9fda1ea4bd9b6a756cd |
|
13-Jan-2014 |
Glenn Kasten <gkasten@google.com> |
AudioRecord::getInputFramesLost() cleanup Fixed bug that if the binder call failed (for example if the IAudioFlinger binder is dead), then getInputFramesLost was returning garbage. Now it correctly returns zero, which is the error value for this method. The type declarations for getInputFramesLost were inconsistent: a mixture of unsigned int, size_t, and uint32_t. Now it returns uint32_t everywhere, which is what the underlying HAL API returns. Added a FIXME about the side effect behavior. This will need review for multi-client. Change-Id: Ifa2e117a87dbd0c1f2c892a31d1c3dd919bf1a0a
/frameworks/av/services/audioflinger/Threads.h
|
74935e44734c1ec235c2b6677db3e0dbefa5ddb8 |
|
19-Dec-2013 |
Glenn Kasten <gkasten@google.com> |
Replace control block frameCount_ by explicit in/out parameter in IAudioFlinger::createTrack and IAudioFlinger::openRecord Change-Id: I09c644c80e92c8e744b1b99055988a2588b2a83d
/frameworks/av/services/audioflinger/Threads.h
|
2b806406ac1ec680b6fe3aaa84c54bdc4e43ad8d |
|
21-Nov-2013 |
Glenn Kasten <gkasten@google.com> |
Change mActiveTrack to mActiveTracks vector The size of mActiveTracks is still limited to 1 for now. Change-Id: Ia6b06b25d8c4709f087110ae29c589999407a2a2
/frameworks/av/services/audioflinger/Threads.h
|
731076cc7857fe322eed018569a2a67f6eac0e54 |
|
15-Nov-2013 |
Eric Laurent <elaurent@google.com> |
am 06d62548: am d7e59228: audioflinger: do not use raw pointer for tracks * commit '06d6254823b8f7a46690369e57b5f149c94c9f65': audioflinger: do not use raw pointer for tracks
|
d7e59228caad3867794d847f6bf163c6495e9506 |
|
15-Nov-2013 |
Eric Laurent <elaurent@google.com> |
audioflinger: do not use raw pointer for tracks Commit 9da3d95 surfaced a problem caused by the use of a raw pointer to a track in offload thread implementation. Pointers to tracks should always be weak or strong pointers. Bug: 11708529. Change-Id: Ic48632532d186c9be8261f73cefdf824b9fbbd2b
/frameworks/av/services/audioflinger/Threads.h
|
8594843c15b4722ced39436fe9e64f3e57e7ace4 |
|
19-Aug-2013 |
Glenn Kasten <gkasten@google.com> |
Pull HAL reads out of RecordThread resample Previously, the resample was indirectly calling HAL read from within the BufferProvider's getNextBuffer. Now the HAL read is done ahead of time into a circular buffer, and the getNextBuffer just reads out of that memory. This change will permit some future planned features. Also removed the mono to mono resampling optimization, as that optimization will no longer be valid in the future. Change-Id: I59f5016a2df91078d697c37a7dec2d9d9f44542e
/frameworks/av/services/audioflinger/Threads.h
|
93e471f620454f7de73d190521568b1e25879767 |
|
19-Aug-2013 |
Glenn Kasten <gkasten@google.com> |
Rename standby methods ThreadBase::standby() returns the value of mStandby. RecordThread::standby() "overrode" ThreadBase::standby(), but with a different meaning and no return value. This meant you couldn't access the parent's class definition within RecordThread. This could be confusing, so this CL renames RecordThread::standby() to standbyIfNotAlreadyInStandby(). Change-Id: I9196ee12701dd2dccdfaed922af2d7b8e8774676
/frameworks/av/services/audioflinger/Threads.h
|
d21952fe5bc94f7bb6ee729f806c0e641fdb1a0d |
|
29-Oct-2013 |
Eric Laurent <elaurent@google.com> |
am 7f8f7585: am fd477974: AudioFlinger: more fixes for offload audio lost * commit '7f8f758506a95d6fe5c0e52aa7b5ef82fb18861a': AudioFlinger: more fixes for offload audio lost
|
fd4779740ec3e9e865d5514464df26d015354388 |
|
26-Oct-2013 |
Eric Laurent <elaurent@google.com> |
AudioFlinger: more fixes for offload audio lost mStandby being false was not a reliable indication that something had been written to audio HAL. Considering the last track in mActiveTracks vector as the latest activated track was wrong as this is a SortedVector. Bug: 11247103. Change-Id: I397d011c5afcdd779def3fe25aaae7669a472cfc
/frameworks/av/services/audioflinger/Threads.h
|
9cae217050aa1347d4ac5053c305754879e3f97f |
|
14-Jan-2013 |
Marco Nelissen <marcone@google.com> |
Assign blame for playback wakelocks. Set a work source for the playback wakelock, so that playback is counted against the requesting app instead of the media server. Cherrypicked from master. b/9464621 Change-Id: I7329f88a288a95a582a78005a1c3d16a5a611e31
/frameworks/av/services/audioflinger/Threads.h
|
462fd2fa9eef642b0574aa7409de0bde3fec8d43 |
|
14-Jan-2013 |
Marco Nelissen <marcone@google.com> |
Assign blame for playback wakelocks. 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
/frameworks/av/services/audioflinger/Threads.h
|
6a7327f110b86613e6e8c7de105c49803acacc1d |
|
18-Oct-2013 |
Eric Laurent <elaurent@google.com> |
am 6edd8ca5: am 6a51d7ed: audioflinger: fix track terminated before playing * commit '6edd8ca5b7e3d169db4314d2b994bc9d48e9e082': audioflinger: fix track terminated before playing
|
6a51d7ed7062536ccc892c8850a34ed55cbc8d5c |
|
18-Oct-2013 |
Eric Laurent <elaurent@google.com> |
audioflinger: fix track terminated before playing When a track is terminated before any audio was written, we should not send a drain request to the HAL. The drain will be ignored and we will wait the async callback for ever. Also fix a potential deadlock by not deleting a track with the thread mutex held: mPreviousTrack changed from a sp to a raw pointer. Bug: 11247103. Change-Id: I0a4b47b099204c7c326d45d700234ab8f72d8eae
/frameworks/av/services/audioflinger/Threads.h
|
3278eed31fcf82045ac00dcd549dda5270c88971 |
|
15-Oct-2013 |
Narayan Kamath <narayan@google.com> |
am 8580679e: am 014e7fa2: Make Audio wakelock names less unique. * commit '8580679e1780617d978d28a43e932314b86608ce': Make Audio wakelock names less unique.
|
014e7fa2e90827d911c37bb0ce4d2e10e14d0bb3 |
|
14-Oct-2013 |
Narayan Kamath <narayan@google.com> |
Make Audio wakelock names less unique. These wakelocks now show up in the client process, where they might cause wakelock overflows if AudioFlinger threads die often. The client process should be agnostic of audio flinger threading, so don't make the wakelock names rely on audioflinger thread names. Wakelock names now depend only on the audio flinger thread type, and not the ID itself. bug: 11200551 Change-Id: Ia1f71b569cb7502d617b77596abc245f461a6ec0
/frameworks/av/services/audioflinger/Threads.h
|
5918e0cb64200f64632595f7aea6062c65d43353 |
|
04-Oct-2013 |
Marco Nelissen <marcone@google.com> |
am b5677882: am 8097068d: Merge "Better recording wake lock accounting" into klp-dev * commit 'b5677882cf9a34bd3f2daf76d10951282ea9b083': Better recording wake lock accounting
|
e14a5d6d2cc91dd2fc09ffdf7aa670b37da0795d |
|
03-Oct-2013 |
Marco Nelissen <marcone@google.com> |
Better recording wake lock accounting Count wake lock use against the app that initiated the recording, not against the media server. b/10985160 Change-Id: Iae6e6c030b7f1c6081d9c79725d6990f60dadaaa
/frameworks/av/services/audioflinger/Threads.h
|
a6c7d98033c161592a062c61eaa6b7fd635e3006 |
|
30-Sep-2013 |
Eric Laurent <elaurent@google.com> |
am 0adc67df: Merge "audioflinger: fix crash when starting offload thread" into klp-dev * commit '0adc67dfc5cedb211c36f06849681a60a32f5805': audioflinger: fix crash when starting offload thread
|
4de95592980dba88a35b3dc8f3fd045588387a4f |
|
27-Sep-2013 |
Eric Laurent <elaurent@google.com> |
audioflinger: fix crash when starting offload thread Passing a sp to parent thread to AsyncCallbackThread() constructor causes a strong reference to be acquired on the OffloadThread inside its constructor which causes an early launch of the thread loop with unpredictable consequences. Pass a wp to parent thread instead. Also move the creation of the AsyncCallbackThread to readOutputParameters() where mUseAsyncWrite is initialized which makes more sense. Also change the type of AsyncCallbackThread parent thread to PlaybackThread instead of OffloadThread to allow a broder use of non blocking write which in theory is not limited to audio offload use case. Bug: 8174034. Change-Id: I4b093b022030cd4f5eb8b8e477333e91098a6549
/frameworks/av/services/audioflinger/Threads.h
|
0230a2a8a413076a138db4c4e1dea018104fd5e2 |
|
20-Sep-2013 |
Eric Laurent <elaurent@google.com> |
am c6bed216: am a3b97ad2: Merge "audioflinger: implement getTimestamp() for offloaded tracks" into klp-dev * commit 'c6bed216e3a759a855ac4b9b743fbaed2d5929c1': audioflinger: implement getTimestamp() for offloaded tracks
|
d2b80a1fb90cb4dc3f569e716af0279c1e1ea72d |
|
20-Sep-2013 |
Eric Laurent <elaurent@google.com> |
am ce3e7cb0: am fbb2609f: Merge "audioflinger: fix lost offload thread resume event" into klp-dev * commit 'ce3e7cb0bd09e7861d417b7d45c1e5921f10a93f': audioflinger: fix lost offload thread resume event
|
a3b97ad288e6808c54c6275eaac1bd53108d8f11 |
|
20-Sep-2013 |
Eric Laurent <elaurent@google.com> |
Merge "audioflinger: implement getTimestamp() for offloaded tracks" into klp-dev
|
accc147666bfd37fc8b4ef745f18a8c751555ec2 |
|
20-Sep-2013 |
Eric Laurent <elaurent@google.com> |
audioflinger: implement getTimestamp() for offloaded tracks Bug: 9587132. Change-Id: Ie9d5f4cca96306d08bc9a2dbd6edd8953096702d
/frameworks/av/services/audioflinger/Threads.h
|
ede6c3b8b1147bc425f7b923882f559a513fe23b |
|
19-Sep-2013 |
Eric Laurent <elaurent@google.com> |
audioflinger: fix lost offload thread resume event It was possible that a resume request signaled by addTrack_l() while waiting for an async write callback is lost. This is because mSignalPending was not set and waitingAsyncCallback_l() would pause the thread loop before executing prepareTracks_l(). The fix consists in using signal_l() method to wake the thread loop o that mSignalPending is set. Also make sure that sleepTime is reset to 0 when resuming to make sure that we write any remaining bytes to the HAL. Bug: 10810347. Change-Id: If9a3b22cc3b9e6eb384a56c48c40e6258d0896ad
/frameworks/av/services/audioflinger/Threads.h
|
bfc4214079875f0dc8c349e8c475d1813c234e67 |
|
06-Sep-2013 |
Eric Laurent <elaurent@google.com> |
am 99b84e8b: am 3b4529e0: audioflinger: remove async write race conditions * commit '99b84e8b013a6e0b926693067b00e82cfbe2ca4f': audioflinger: remove async write race conditions
|
3b4529e03c5fc7a44c22f9091ad15a269bfca3a8 |
|
06-Sep-2013 |
Eric Laurent <elaurent@google.com> |
audioflinger: remove async write race conditions Remove possible race conditions between async callback thread and offload thread when clearing and setting the draining and write blocked flags. Bug: 8174034. Change-Id: I7af10491f39dc0e7d7414862a9d8e763daa2e2b7
/frameworks/av/services/audioflinger/Threads.h
|
f557872b594d15599bdb65efd91eb5adeb1d0840 |
|
30-Aug-2013 |
Glenn Kasten <gkasten@google.com> |
am 908d3c09: am 51ec03c2: Merge "Implement Track::getTimestamp()" into klp-dev * commit '908d3c09ca7f2ccb280aa5dc8d876099ff9a9d0f': Implement Track::getTimestamp()
|
bd096fd9d8e5fc0e62f98807f4818a06f70d0812 |
|
23-Aug-2013 |
Glenn Kasten <gkasten@google.com> |
Implement Track::getTimestamp() using a new timestamp latch in PlaybackThread, and AudioTrackServerProxy::framesReleased() which returns mServer. Change-Id: I1ebfba968c773faaab95648c272fd3ebd74718d6
/frameworks/av/services/audioflinger/Threads.h
|
f777331418a86cd9fd709af898ef24a69967aeb4 |
|
14-Aug-2013 |
Glenn Kasten <gkasten@google.com> |
Add ThreadBase::processConfigEvents_l() Change-Id: I6bcdc212a984c52ab98b0b0744943b4ecc1e1542
/frameworks/av/services/audioflinger/Threads.h
|
e198c360d5e75a9b2097844c495c10902e7e8500 |
|
13-Aug-2013 |
Glenn Kasten <gkasten@google.com> |
Whitespace Change-Id: Id3ccc183a03421330d0498faaa62a45915cdc3d6
/frameworks/av/services/audioflinger/Threads.h
|
9156ef3e11b68cc4b6d3cea77f1f63673855a6d1 |
|
07-Aug-2013 |
Glenn Kasten <gkasten@google.com> |
Status pointer passed by caller is always non-NULL in createTrack, openRecord, createEffect, createTrack_l, createRecordTrack_l, and createEffect_l. Change-Id: I2e459e4de9c78145f4d496e6abf289479a2f0941
/frameworks/av/services/audioflinger/Threads.h
|
e92db4bdb575d897d6bbd5086761fa9387393c83 |
|
12-Aug-2013 |
Glenn Kasten <gkasten@google.com> |
Merge "Pull up readyToRun into ThreadBase"
|
b0e6b967c290c905c4c696df4a8ac9e9d591928b |
|
12-Aug-2013 |
Glenn Kasten <gkasten@google.com> |
Merge "Simplify the code that allocates mMixBuffer by removing mAllocMixBuffer"
|
f874f1375d758c8a7a84572a94371fbd4085f0df |
|
08-Aug-2013 |
Glenn Kasten <gkasten@google.com> |
Merge "Pull up mBufferSize from RecordThread to ThreadBase"
|
cf04c2cb8e031acc03c1c91cb1ccab15098c89b6 |
|
06-Aug-2013 |
Glenn Kasten <gkasten@google.com> |
Pull up readyToRun into ThreadBase Change-Id: Ib150afd72c3b35d83599a61664e89302a8feb4b5
/frameworks/av/services/audioflinger/Threads.h
|
c1fac191069774c7bfcb062edbb821ea56e7dbc0 |
|
06-Aug-2013 |
Glenn Kasten <gkasten@google.com> |
Simplify the code that allocates mMixBuffer by removing mAllocMixBuffer Change-Id: I5ac41210251789a034d760309c50fe018f2442ce
/frameworks/av/services/audioflinger/Threads.h
|
70949c47fbae3f836d15f040551d7631be3ed7c2 |
|
06-Aug-2013 |
Glenn Kasten <gkasten@google.com> |
Pull up mBufferSize from RecordThread to ThreadBase Now both playback and record threads have a HAL buffer size for fast tracks, and a potentially larger-sized buffer for normal tracks. Change-Id: I6f57b85ecece3cbd4e9e64b8c41c3352f7656912
/frameworks/av/services/audioflinger/Threads.h
|
90e58b1fefc8caf70b34301a92bc86179580b6fc |
|
01-Aug-2013 |
Glenn Kasten <gkasten@google.com> |
RecordThread::createRecordTrack_l use flags for fast tracks Look at client's request for a fast track in the flags parameter, and check whether the request can be satisfied. Change-Id: I65ddaeb1b85670fe9066076f638bfed0cda01c0d
/frameworks/av/services/audioflinger/Threads.h
|
ddb0ccf3fb6fe8da8c71a6deb30561b821f3c0a2 |
|
01-Aug-2013 |
Glenn Kasten <gkasten@google.com> |
RecordTrack::createRecordTrack_l flags are in/out The flags are currently unused, but will be used for requesting a fast track. Making flags in/out will allow reporting back up to client that the request is denied. Change-Id: Ifbee57da3632ce130551065a426577fb97b1a68d
/frameworks/av/services/audioflinger/Threads.h
|
b08ab81bab9e8cd2e3a7fff02725a387070fd078 |
|
31-Jul-2013 |
Glenn Kasten <gkasten@google.com> |
Merge "Add resampler comments and fix a typo"
|
34af02647b387a252fb02bab8e2cb9f7bd9c8abb |
|
30-Jul-2013 |
Glenn Kasten <gkasten@google.com> |
Add resampler comments and fix a typo Change-Id: Ie071673875f663de4212eed4a4dff89d51a5a915
/frameworks/av/services/audioflinger/Threads.h
|
548efc94813c1dec6e8cf6c085ae41ccb04827f1 |
|
29-Nov-2012 |
Glenn Kasten <gkasten@google.com> |
Rename RecordThread::mInputBytes to the more generic mBufferSize This prepares for using it in PlaybackThreads later Change-Id: Id90a92aa6372e4b69914b0008cef07296ca5d6a3
/frameworks/av/services/audioflinger/Threads.h
|
9b58f63e45ef2fdfb839b9b9bb3411d81eb96128 |
|
16-Jul-2013 |
Glenn Kasten <gkasten@google.com> |
Move members from ThreadBase to PlaybackThread Move mNormalFrameCount and frameCountHAL(), since they're not used by record threads. Also comment which fields are updated by readParameters(). Change-Id: I5fc0a8a89cc637976f22d49271a5a3e136dab4e1
/frameworks/av/services/audioflinger/Threads.h
|
f6ed423af92a56ef54bba23eba883b1f21448b54 |
|
16-Jul-2013 |
Glenn Kasten <gkasten@google.com> |
Treat mChannelCount as uint32_t consistently mChannelCount was 8-, 16-, or 32-bits Change-Id: I2cc2fedf3e33144e5c8bbd9894763282d9217f63
/frameworks/av/services/audioflinger/Threads.h
|
afbbc6c5f6bc470d504dcf24ceb3ac21d57fb78d |
|
29-Jul-2013 |
Glenn Kasten <gkasten@google.com> |
Merge "Simplify RecordTrack::stop()"
|
a8356f663014e7d4c27869629af83d8bb3441e19 |
|
25-Jul-2013 |
Glenn Kasten <gkasten@google.com> |
Simplify RecordTrack::stop() Change-Id: Ib959c1e9dc9544d12277ce11bea445118b2e0521
/frameworks/av/services/audioflinger/Threads.h
|
bfb1b832079bbb9426f72f3863199a54aefd02da |
|
07-Jan-2013 |
Eric Laurent <elaurent@google.com> |
AudioFlinger: offload playback, non-blocking write - Added specialized playback thread class for offload playback, derived from directoutput thread. This thread type handles specific state transitions for offloaded tracks and offloading commands (pause/resume/drain/flush..) to audio HAL. As opposed to other threads, does not go to standby if the track is paused. - Added support for asynchronous write and drain operations at audio HAL. Use a thread to handle async callback events from HAL: this avoids locking playback thread mutex when executing the callback and cause deadlocks when calling audio HAL functions with the playback thread mutex locked. - Better accouting for track activity: call start/stop and release Output methods in audio policy manager when tracks are actually added and removed from the active tracks list. Added a command thread in audio policy service to handle stop/release commands asynchronously and avoid deadlocks with playback thread. - Track terminated status is not a state anymore. This condition is othogonal to state to permitted state transitions while terminated. Change-Id: Id157f4b3277620568d8eace7535d9186602564de
/frameworks/av/services/audioflinger/Threads.h
|
c6ae3c8a261794fd4445e4e152d1ada074a3f92f |
|
17-Jul-2013 |
Glenn Kasten <gkasten@google.com> |
Fix theoretical memory leak in mConfigEvents Change-Id: I137f70676c8919661e716c33e0dd9c25c2b6285c
/frameworks/av/services/audioflinger/Threads.h
|
fb1fdc9d6603aa228362e7349451f6455c9849c2 |
|
11-Jul-2013 |
Glenn Kasten <gkasten@google.com> |
Add comments Change-Id: Ifbf3a46a4183c8abc0feee1c588953ab10303cc1
/frameworks/av/services/audioflinger/Threads.h
|
bf04b5860182d8f4130dcb5d6d88ee68a58c99cd |
|
02-Mar-2013 |
Glenn Kasten <gkasten@google.com> |
Merge "media.log cleanup" into jb-mr2-dev
|
ab7d72f0804fbb7e91ad9d2a16f826d97e20e5d0 |
|
27-Feb-2013 |
Glenn Kasten <gkasten@google.com> |
media.log cleanup Remove almost all of the specific logs, but leave the media.log logging infrastructure in place for the next time we need it. Re-apply a few good changes that were reverted earlier: - check logf format vs. argument list compatibility - distinguish potentially modified and actually modified tracks in FastMixer - fix benign bug where sq->end() was called more than once - fix a build warning Bug: 6490974 Change-Id: I02d3e83646c738acaebb415bd0d6b548638b4ef5
/frameworks/av/services/audioflinger/Threads.h
|
46909e7eb074ce1b95b8a411eb71154f53f84f77 |
|
26-Feb-2013 |
Glenn Kasten <gkasten@google.com> |
Remove tee sink debugging at compile time Bug: 8223560 Change-Id: Iddbfb06c45d43d9f20bb428215dd4094931e19a7
/frameworks/av/services/audioflinger/Threads.h
|
7f5d335f7b4caecd0dfb8f1085f352f1d2da5d2e |
|
16-Feb-2013 |
Glenn Kasten <gkasten@google.com> |
Revert "Temporary additional logging to investigate bug" This reverts commit 32584a7d672864b20ab8b83a3cb23c1858e908b7 Change-Id: I9dc680578b955b1af462eeb7a49d61a0d45eb81b
/frameworks/av/services/audioflinger/Threads.h
|
32584a7d672864b20ab8b83a3cb23c1858e908b7 |
|
13-Feb-2013 |
Glenn Kasten <gkasten@google.com> |
Temporary additional logging to investigate bug The bug appears related to continuing to use an invalid buffer provider in fast mixer after track destruction, so focus the added logs in that area. Also includes a bug fix: was calling log in an unsafe place near Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250. Details: - include caller pid or client pid where appropriate - increase log buffer size - log mFastIndex when AudioMixer sees an invalid bufferProvider. - log both potentially modified and actually modified tracks in FastMixer. - fix benign bug where sq->end() was called more than once. - log StateQueue push() call and return. - increase StateQueue size from 4 to 8 entries - log mixer->enable(), bufferProvider, and currentTrackMask - log buffer provider addresses - increase fast mixer log buffer again - check logf format vs. argument list compatibility - add logging to AudioMixer - add checking of magic field in AudioMixer to detect overwrites - add bool AudioMixer::enabled() - increase log buffer sizes yet again - enable assertion checking without ALOGV - improve a few log messages - check for corruption in more places - log in all the process hooks - add new mixer APIs so we can check for corruption of mixer state - fix a build warning Bug: 6490974 Change-Id: Ib0c4a73dcf606ef9bd898313b3b40ef61ab42f51
/frameworks/av/services/audioflinger/Threads.h
|
e186b51e0a9834b287d7a509e960eaf1b688db75 |
|
15-Feb-2013 |
Glenn Kasten <gkasten@google.com> |
Revert "Temporary additional logging to investigate bug" This reverts commit 639482c24c911b125398b31883ba6d55faebe28b Change-Id: I11f2829072ab11e18b0663024f27bf31192f1d39
/frameworks/av/services/audioflinger/Threads.h
|
639482c24c911b125398b31883ba6d55faebe28b |
|
13-Feb-2013 |
Glenn Kasten <gkasten@google.com> |
Temporary additional logging to investigate bug The bug appears related to continuing to use an invalid buffer provider in fast mixer after track destruction, so focus the added logs in that area. Also includes a bug fix: was calling log in an unsafe place near Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250. Details: - include caller pid or client pid where appropriate - increase log buffer size - log mFastIndex when AudioMixer sees an invalid bufferProvider. - log both potentially modified and actually modified tracks in FastMixer. - fix benign bug where sq->end() was called more than once. - log StateQueue push() call and return. - increase StateQueue size from 4 to 8 entries - log mixer->enable(), bufferProvider, and currentTrackMask - log buffer provider addresses - increase fast mixer log buffer again - check logf format vs. argument list compatibility - add logging to AudioMixer - add checking of magic field in AudioMixer to detect overwrites - add bool AudioMixer::enabled() Bug: 6490974 Change-Id: I1f3f18aa62d9fbd35bc32285b669f5ba40efe28e
/frameworks/av/services/audioflinger/Threads.h
|
51eb3965caa8ba135bcdd8ffb7a2024a042ecdc0 |
|
14-Feb-2013 |
Glenn Kasten <gkasten@google.com> |
Revert "Temporary additional logging to investigate bug" This reverts commit 0ddd56316262ac74a95e9edb595697c163136d6d Change-Id: I180a928af6f5a38d15a5efe44cd1fe927b5d961c
/frameworks/av/services/audioflinger/Threads.h
|
0ddd56316262ac74a95e9edb595697c163136d6d |
|
13-Feb-2013 |
Glenn Kasten <gkasten@google.com> |
Temporary additional logging to investigate bug The bug appears related to continuing to use an invalid buffer provider in fast mixer after track destruction, so focus the added logs in that area. Also includes a bug fix: was calling log in an unsafe place near Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250. Details: - include caller pid or client pid where appropriate - increase log buffer size - log mFastIndex when AudioMixer sees an invalid bufferProvider. - log both potentially modified and actually modified tracks in FastMixer. - fix benign bug where sq->end() was called more than once. - log StateQueue push() call and return. Bug: 6490974 Change-Id: Iee7c8f40e20b6000cd8286c0ec6a14fff4a37af1
/frameworks/av/services/audioflinger/Threads.h
|
ecd9389c8712aedeb2a79823ea0e4fb842684269 |
|
12-Feb-2013 |
Glenn Kasten <gkasten@google.com> |
Revert "Temporary additional logging to investigate bug" This reverts commit 3051df27261e9952c0e642dec548515250e85f6a Change-Id: I8bf5c3e91b65bd20de26f480c367c2854b62373c
/frameworks/av/services/audioflinger/Threads.h
|
3051df27261e9952c0e642dec548515250e85f6a |
|
12-Feb-2013 |
Glenn Kasten <gkasten@google.com> |
Temporary additional logging to investigate bug The bug appears related to continuing to use an invalid buffer provider in fast mixer after track destruction, so focus the added logs in that area. Also includes a bug fix: was calling log in an unsafe place near Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250. Details: - include caller pid or client pid where appropriate - increase log buffer size Bug: 6490974 Change-Id: I4c030f171343fe4b483eae0ddea4427118d8d4b1
/frameworks/av/services/audioflinger/Threads.h
|
59686720182dcaa1a1a4757964df38c16f1a5246 |
|
04-Feb-2013 |
Eric Laurent <elaurent@google.com> |
Merge "AudioFlinger: fix RecordThread initial device"
|
d3922f72601d82c6fc067a98916fda0bd1291c5f |
|
02-Feb-2013 |
Eric Laurent <elaurent@google.com> |
AudioFlinger: fix RecordThread initial device A regression was introduced when the audio device enums where modified for a 32 bit representation: the device passed when constructing a RecordThread was still the concatenation of input device and output device bit fields on one 32 bit value which is not possible anymore. The fix consists in modifying the RecordThread constructor to accept separate values for input and output devices. Change-Id: I81fb5f4718428b54251e65d74b86e198ce15193e
/frameworks/av/services/audioflinger/Threads.h
|
9e58b552f51b00b3b674102876bd6c77ef3da806 |
|
19-Jan-2013 |
Glenn Kasten <gkasten@google.com> |
AudioFlinger uses media.log service for logging Change-Id: Ia0f8204334f6b233f644d897762a18c95d936b4b
/frameworks/av/services/audioflinger/Threads.h
|
81784c37c61b09289654b979567a42bf73cd2b12 |
|
19-Nov-2012 |
Eric Laurent <elaurent@google.com> |
AudioFlinger files reorganization 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
/frameworks/av/services/audioflinger/Threads.h
|