10cbff139360f3f642e0e3b3ccf2d463dbed22cf |
|
22-Feb-2017 |
Andy Hung <hunga@google.com> |
VolumeShaper: Enable for offload and direct tracks Test: Play Music in offload mode Bug: 31015569 Change-Id: I00bb59e3e6809d4682f42057b1cc083f4fa9b9d1
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
30d48d9542fb3f85889108c1ee2daff98a4860e7 |
|
14-Feb-2017 |
Andy Hung <hunga@google.com> |
Merge "VolumeShaper: Initial implementation"
|
9fc8b5cd4a64ef07e84c69112461324d5c13a0b0 |
|
24-Jan-2017 |
Andy Hung <hunga@google.com> |
VolumeShaper: Initial implementation The VolumeShaper is used to apply a volume envelope to an AudioTrack or a MediaPlayer. Test: CTS Bug: 30920125 Bug: 31015569 Change-Id: I42e2f13bd6879299dc780e60d143c2d465483a44
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
6acd1d432f526ae9a055ddaece28bf93b474a776 |
|
04-Jan-2017 |
Eric Laurent <elaurent@google.com> |
Add support for mmap stream Add support for MMAP streams created by Oboe service. - A new audio thread class MmapThread deriving from ThreadBase is added to manage permissions, volume, routing and wakelocks for activity on MMAP streams. - Requests received over MmapStreamInterface to open, start and stop a MMAP stream are forwarded to audio policy manager so that activity on MMAP capture and playback streams is visible to audio policy and taken into account in volume and routing management. ` Bug: Bug: 33398120 Test: manual test Change-Id: I957906495fe9277d2972d810b633f50cd1e14ec3
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
20b9ef0b55c9150ae11057ab997ae61be2d496ef |
|
05-Dec-2016 |
Eric Laurent <elaurent@google.com> |
Add unique audio port IDs to AudioTrack and AudioRecord This will allow to track activity at the track level instead of at audio session level as only possible with current implementation. AudioTracks and AudioRecords will receive a unique audio port ID the first time they register to audio policy with getOutputForAttr()/getInputForAttr() and keep this ID for their lifetime. This CL is the first partial change and just updates the audio policy and audio flinger APIs used at track creation time. Test: basic regression test of audio playback and capture use cases Change-Id: I8d612e67738e120494f61e3f7c60bfd0b2c6a329
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
1f12a8ad958344c50733b948628ffa06db9c5bc6 |
|
08-Nov-2016 |
Andy Hung <hunga@google.com> |
Audio: Use uid_t for uids Test: Power manager shows correct uids for audio Bug: 32713790 Change-Id: If5337e17283268f74dc0f00cc66ece9153d680ef
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
4cfa355eedae56e047b63b1b02fc6d789e21980d |
|
04-Jun-2016 |
Eric Laurent <elaurent@google.com> |
Merge "Add AudioTrack and AudioRecord flag checks" into nyc-mr1-dev am: 2f8e63b5be am: b70868bb33 * commit 'b70868bb337f0b12f993494f4d110979a33ddd24': Add AudioTrack and AudioRecord flag checks Change-Id: Ia6ab9998dcaa065d18fc048ae5ea6bb3e087ba62
|
050677873c10d4da308ac222f8533c96cca3207e |
|
02-Jun-2016 |
Eric Laurent <elaurent@google.com> |
Add AudioTrack and AudioRecord flag checks Verify that the requested flags are compatible with the input or output flags when creating and AudioRecord or AudioTrack Get rid of IAudioFlinger::track_flags_t which was redundant with audio_input_flags_t and audio_output_flags_t. Change-Id: I0dd9232f857b2737e99a8c668806e45bce09cdbd
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
5bba2f6916dbe00aea7c0521faa0c6ed42114a75 |
|
18-Mar-2016 |
Eric Laurent <elaurent@google.com> |
audioflinger: use sp<> for track proxy AudioTrack and AudioRecord shared memory proxy (Proxy class) is RefBase so should not be refenced by raw pointer. Change-Id: Ic63e31cef97503b8e262d5dafd8ce8f1d72d5eb8
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
d848eb48c121c119e8ba7583efc75415fe102570 |
|
08-Mar-2016 |
Glenn Kasten <gkasten@google.com> |
Use audio_session_t consistently Bug: 27562099 Change-Id: I328d8226191386b163f2ace41233607294c50dcd
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
4d231dc0ee34380956c71cbe18a750e487a69601 |
|
12-Mar-2016 |
Eric Laurent <elaurent@google.com> |
audio: Fix race condition in AudioTrack underrun. When audio flinger mixer removes an AudioTrack from the active list in case of underrun, it is possible that the client has written a full buffer just after the underrun detection and is blocked waiting for more space to write. In this case, the client will never detect the DISABLED flag and the track never be restarted. Also implement missing DISABLE flag detection in server side audio tracks (OutputTrack and PatchTrack). bug: 27567768 Change-Id: I8d0753429d4113498258b1f61bd8ac5939a612f0
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
818e7a32ce3633980138aff2c2bfcc5158b3cfcc |
|
17-Feb-2016 |
Andy Hung <hunga@google.com> |
Implement server side playback timestamps with 64 bit accuracy Provide server timestamps if the HAL doesn't provide it. Provide monotonic - boottime translation. Integrate record timestamps and playback timestamps together. Bug: 17472992 Bug: 22871200 Bug: 26400089 Bug: 26682703 Change-Id: If1974f94232fcce7ba0bbcdf63d9e54ed51918ff
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
6ae5843c281301a9ffd1059d185620a9337e15a2 |
|
17-Feb-2016 |
Andy Hung <hunga@google.com> |
Enable FastTrack timestamps Bug: 26413951 Change-Id: Id54c32cb0f0be83d443f6cf1007181ebc461c586
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
8ce8e264d0bf09ec131e4a7701fe1ebc3a678f8b |
|
16-Feb-2016 |
Eric Laurent <elaurent@google.com> |
Revert "Enable FastTrack timestamps" This reverts commit b3a486fecddc9e9264fe63d356eca0812493db27. Reverting while investigating the root cause. Bug: 27186414
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
e99556b85081778027653bd3e716a529ab518b35 |
|
12-Feb-2016 |
Andy Hung <hunga@google.com> |
Merge "Fix audio timestamp computation for pause, stop, and dynamic speed changes" into nyc-dev
|
b3a486fecddc9e9264fe63d356eca0812493db27 |
|
05-Aug-2015 |
Andy Hung <hunga@google.com> |
Enable FastTrack timestamps Bug: 26413951 Change-Id: I99a69241a0bcd69f6bfebf785cac6d9ee1e2cd5f
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
e10393e72454bfd8298017dc193faf424f4e9a8f |
|
12-Jun-2015 |
Andy Hung <hunga@google.com> |
Fix audio timestamp computation for pause, stop, and dynamic speed changes Timestamp on pause and underrun (stop) do not reflect actual position. Timestamps do not account for dynamic changes to track speed / sample rate. Bug: 11085154 Bug: 17552775 Change-Id: I0e5e40ab3eaee82f0c91b9f399089698a0b1947e
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
d79072e9dff59f767cce2cda1caab80ce5a0815b |
|
06-Jan-2016 |
Glenn Kasten <gkasten@google.com> |
Remove TimedAudioTrack and associated code Bug: 8278435 Change-Id: I095c1a4888e645e14d93b0b15fbef4524a831ca1
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
1b42097f38e72574ed853a35f4e8a66e4739c421 |
|
22-Apr-2015 |
Phil Burk <philburk@google.com> |
AudioTrack: fix spurious retrograde messages The retrograde motion was confused by some positions coming from the DSP on offloaded tracks. So the retrograde check was moved up into AudioTrack.cpp. This allows us to take advantage of the checks for invalid positions based on timing. Bug: 2047891 Change-Id: Ifcad2349201443a7f1711347c203297100449536 Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
3bcf8597189c592713675ec58326ecbef0ac4ae9 |
|
03-Apr-2015 |
Eric Laurent <elaurent@google.com> |
audio flinger: improve device to device audio patches Allow creation of audio patches between input and output devices managed by the same audio HW module. Change-Id: I4b83268a4d5c41f3d5905d7581202cf5193efd32
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
6140c79c31f5dc237fba69554de5be641cedf113 |
|
19-Mar-2015 |
Phil Burk <philburk@google.com> |
AudioFlinger: prevent retrograde timestamps for direct mode Prevent retrograde motion in the HAL or drivers from making it up through the AudioFlinger to the app. Bug: 19604395 Change-Id: I11d6c0f7cab69e75fd4b4a2a90f64960b4bb6d5a Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
c25b84abdd7ff229d0af663fbf3a37bd9512939d |
|
15-Jan-2015 |
Andy Hung <hunga@google.com> |
Allow duplicating thread to use native mixing audio format Update OutputTrack to take variable formats. Previously conversion to AUDIO_FORMAT_PCM_16_BIT was required. Change-Id: I4a96a60ddd8d8dfe651405a0bcd4f98c89bc1ade
/frameworks/av/services/audioflinger/PlaybackTracks.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/PlaybackTracks.h
|
ab5cdbaf65ca509681d2726aacdf3ac8bfb6b3fa |
|
10-Jun-2014 |
Eric Laurent <elaurent@google.com> |
AudioTrack: add support for compressed audio Add support for compressed audio playback by use of an AudioTrack attached to a direct output thread. Bug: 9428304. Change-Id: I4a61be9cf0e31003ca85935d6e0ee38ca8192e03
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
ced6e74215937182fe2f9f6b0867f7c28ccd02c1 |
|
10-Jun-2014 |
Glenn Kasten <gkasten@google.com> |
Fix non-monotonic AudioTrack::getTimestamp after pause Bug: 15523502 Change-Id: Ifd4aa7fca197bc041c1620fc3f7d953a8902551a
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
c56f3426099a3cf2d07ccff8886050c7fbce140f |
|
22-Mar-2014 |
Glenn Kasten <gkasten@google.com> |
Pass stereo gains as packed minifloat This will allow (eventually) a greater dynamic range for gains. However there are still a few remaining places in effects and mixer that will also need to be changed in order to get the full benefit. Also fixes a minor bug: was not checking for NaN in AudioTrack C++. Change-Id: I63bce9e82e0a61546d8ff475fb94bcb700d99c96
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
755b0a611f539dfa49e88aac592a938427c7e1b8 |
|
13-May-2014 |
Glenn Kasten <gkasten@google.com> |
Pull up mFlags and isFastTrack from Track to TrackBase Change-Id: I6bd48292310be4e05758a11f617f50585904422d
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
8d6c292a0bed3d63b5b7297d09a604af6327c663 |
|
05-Feb-2014 |
Krishnankutty Kolathappilly <kkolat@codeaurora.org> |
audioflinger: Handle pause /resume in stopping state -Pre-requisite: Perform seek on the clip. After seek the data remaining till EOS is little more than the driver and common block buffering. -Framework state: Offload thread is waiting for signal from the HAL for a free buffer. Audio Player calls sink stop on reaching EOS. Audio track is waiting on obtain buffer for a free space in common block to send the last buffer. The track is moved to stopping state as input EOS is reached. -Issue: Perform pause/ resume in this state(STOPPING), Audio playback does not resume. -Fix Ensure resume is called in stopping state if frames ready is greater than zero. Bug: 12870871 Change-Id: Ib1378c4ee5ce4bea655691e93de0775f7b1d2804 Signed-off-by: Glenn Kasten <gkasten@google.com>
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
b220884bf3129253cc5bc8d030bc475411ea4911 |
|
07-Feb-2014 |
Marco Nelissen <marcone@google.com> |
Pretty up audioflinger dumpsys Change-Id: I57e44b4c36b99f7149542bbcf9645521c6152dfa
/frameworks/av/services/audioflinger/PlaybackTracks.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/PlaybackTracks.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/PlaybackTracks.h
|
34717c83733def81287e2b4ba2f62b416325c7ae |
|
02-Oct-2013 |
Eric Laurent <elaurent@google.com> |
am 3424d6e1: am 1adf20ce: Merge "fix volume and effect enable delay on offloaded tracks" into klp-dev * commit '3424d6e17637e0743ddf3bf4688af8ee36e69264': fix volume and effect enable delay on offloaded tracks
|
59fe010bcc072597852454a2ec53d7b0a2002a3b |
|
28-Sep-2013 |
Eric Laurent <elaurent@google.com> |
fix volume and effect enable delay on offloaded tracks Volume: add a method to wake up the mediaserver playback thread when a volume command is received on an offloaded track. Effects: call effect chain process on offloaded playback threads asynchronously from writes to allow effect state updates while waiting for async write callback. Bug: 10796540. Change-Id: Id2747ae88783575d1d7ffd6fc86fbd054ab2c739
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
f523897787b64cf2217d0ab4946b564420c675fe |
|
12-Sep-2013 |
Glenn Kasten <gkasten@google.com> |
am 8a220740: am dc33c542: Merge "Fix AudioTrack shared memory leak" into klp-dev * commit '8a220740cd77eb844123d3914190a94513797b40': Fix AudioTrack shared memory leak
|
0c72b24f91c68442eb374bd1b338c394105b8262 |
|
11-Sep-2013 |
Glenn Kasten <gkasten@google.com> |
Fix AudioTrack shared memory leak Bug: 2801375 Change-Id: I50e15164fe310f69ea019dca5b49171a02bc6992
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
1462a2b84a578b5541683c824e0f77ebf2aa82ae |
|
04-Sep-2013 |
Glenn Kasten <gkasten@google.com> |
am a4a82c5f: am 6466c9e6: Add ExtendedAudioBufferProvider::framesReleased and onTimestamp * commit 'a4a82c5f8f3eccfa10ce30a52cbb4b1c5c983282': Add ExtendedAudioBufferProvider::framesReleased and onTimestamp
|
6466c9e6e6278c740aed77f695f679be9f5db478 |
|
23-Aug-2013 |
Glenn Kasten <gkasten@google.com> |
Add ExtendedAudioBufferProvider::framesReleased and onTimestamp and implement them in SourceAudioBufferProvider using the associated NBAIO_Source, and in Track using the associated AudioTrackServerProxy. Change-Id: I60dc4adba63fc1dc452ff16caf347e4a7c8242c2
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
30c296c153447f5c2bb5251928bf4d3c4e28e552 |
|
30-Aug-2013 |
Glenn Kasten <gkasten@google.com> |
am 3ae0a58a: am 9841f636: Merge "Add AudioFlinger::PlaybackThread::Track::getTimestamp()" into klp-dev * commit '3ae0a58a83d092d96672295c8a62908478f28a9b': Add AudioFlinger::PlaybackThread::Track::getTimestamp()
|
573d80a8f463f648a515fc0975bf83951b272993 |
|
26-Aug-2013 |
Glenn Kasten <gkasten@google.com> |
Add AudioFlinger::PlaybackThread::Track::getTimestamp() with a dummy implementation initially, and use it in AudioFlinger::TrackHandle::getTimestamp() Change-Id: I2da88fc52a135a7f0d9fd9538986e919dc8ccd3b
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
030033342a6ea17003e6af38a56c7edc6d2ead01 |
|
07-Aug-2013 |
Glenn Kasten <gkasten@google.com> |
Clean up error handling in createTrack and openRecord Outside callers now use initCheck() to determine whether a TrackBase has been created successfully, instead of relying on internal knowledge. Previously, callers needed to know that a TrackBase was only valid if it's getCbk() != 0. For a Track (playback), they needed to know to also check the track's name (track index). Now, outsiders can just call initCheck(). Other changes: - Return a 0 reference if track creation fails - Remove a dead line of code in AudioFlinger::openRecord Change-Id: If374924a3f6fd27906f625aa83dd0a1e3f506e00
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
82aaf94a5b18939e4d790bbc752031f3070704a3 |
|
18-Jul-2013 |
Glenn Kasten <gkasten@google.com> |
Report underruns for fast tracks also This fixes a regression that was introduced earlier by commit 9f80dd223d83d9bb9077fb6baee056cee4eaf7e5 called "New control block for AudioTrack and AudioRecord". That commit broke underrun reporting for fast tracks. Also remove Track::mUnderrunCount, which counted the number of underrun events, and was only used by dumpsys media.audio_flinger. Now dumpsys media.audio_flinger reports the number of underrun frames, Isolated underrun-related control block accesses via the proxy, so that the server is not directly poking around in the control block. The new proxy APIs are AudioTrackServerProxy::getUnderrunFrames() and AudioTrackServerProxy::tallyUnderrunFrames(). getUnderrunFrames() returns a rolling counter for streaming tracks, or zero for static buffer tracks which never underrun, but do a kind of 'pause' at end of buffer. tallyUnderrunFrames() increments the counter by a specified number of frames. Change-Id: Ib31fd73eb17cbb23888ce3af8ff29f471f5bd5a2
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
d054c32443a493513ab63529b0c8b1aca290278c |
|
12-Jul-2013 |
Glenn Kasten <gkasten@google.com> |
Move control block mName to createTrack() output This is part of a series of CLs to clean up the shared memory control block, by removing any fields that don't have to be there. Change-Id: I6e51003a1293b6800258c31b22cff2eba42162e7
/frameworks/av/services/audioflinger/PlaybackTracks.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/PlaybackTracks.h
|
9f80dd223d83d9bb9077fb6baee056cee4eaf7e5 |
|
19-Dec-2012 |
Glenn Kasten <gkasten@google.com> |
New control block for AudioTrack and AudioRecord 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
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
c9b2e20f7c9a71e07ef398152709c76079decbcd |
|
26-Feb-2013 |
Glenn Kasten <gkasten@google.com> |
Miscellaneous cleanup Abbreviation framesReady to fRdy for new systrace. Put inline const on one line. Use local copy of mState in state. Improve logging. Line length 100. Change-Id: I8201c3ce0e53fd464fd33d02544e52c342d40b68
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
e3aa659e9cee7df5c12a80d285cc29ab3b2cbb39 |
|
04-Dec-2012 |
Glenn Kasten <gkasten@google.com> |
Start isolating control block accesses in a proxy 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
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
5736c35b841de56ce394b4879389f669b61425e6 |
|
04-Dec-2012 |
Glenn Kasten <gkasten@google.com> |
Prepare for track invalidation to be done by proxy Don't rely on control block to determine whether track has been marked invalid. Instead, use a local flag that can't be corrupted by client. Change-Id: I783dafe828f93c1c3d2d0e5a08105ea536436efb
/frameworks/av/services/audioflinger/PlaybackTracks.h
|
e4756fe3a387615acb63c6a05788c8db9b5786cb |
|
29-Nov-2012 |
Glenn Kasten <gkasten@google.com> |
AudioTrack::mute() is unused so remove it If ever needed again, it could be implemented on client side by forcing a track volume of 0. Change-Id: I88a9b4f675b6dca2948549414f9ec2c192d29269
/frameworks/av/services/audioflinger/PlaybackTracks.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/PlaybackTracks.h
|