summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/FastMixer.h
Commit message (Collapse)AuthorAgeFilesLines
* Make CPU frequency statistics optionalGlenn Kasten2012-06-141-0/+2
| | | | | | | | | | Certain CPUs with dynamic cluster swapping and hotplug don't report CPU frequency accurately. The file descriptors used to read the frequency become stale and report bogus data. So make this feature a build time option for debugging only. This will also improve performance of the fast mixer loop. Change-Id: I602f81ec3281a37992769208be08084ed1469e8c
* Fast track dumpsysGlenn Kasten2012-06-031-1/+3
| | | | | Bug: 6591648 Change-Id: I696f51c682e7233ba690d97da26012084989b412
* Improve underrun handling for fast tracksGlenn Kasten2012-05-141-7/+30
| | | | | | | Maintain more accurate accounting of type of underrun. Automatically remove track from active list after a series of "empty" underruns. Change-Id: If042bf80e1790dcaaf195c99dc9c0ed9b55382c1
* Update fast mixer statisticsGlenn Kasten2012-05-101-6/+14
| | | | | | | | | | | | | | | Compute statistics on fast mixer elapsed time and CPU load per cycle using a simple moving average rather than by fixed blocks. This has a couple advantages: - remove burstiness of CPU usage due to former floating-point calculations in fast mixer - gives us flexibility in how to report (e.g. could report over just the last 1 second) Disadvantage is increased RAM, and since the samples are not updated atomically, it is possible to have an error in the statistics. This should not be much of an issue due to the relatively large number of samples. Also add CPU raw ns and adjusted MHz statistics. Change-Id: Iaa2cd13f18250c3162aff40409b3694b769d9505
* Fix race condition for non-started fast tracksGlenn Kasten2012-04-301-1/+19
| | | | | | | | | | | | | | | | | | | | | This required re-implementing how fast tracks are considered active. Now, they use the same logic as normal tracks, except underrun is ignored. Other changes: - add framesReady() to AudioBufferProvider interface - rebased - add track underrun counter state to fast mixer dump state - move dumpsys header to Track::appendDumpHeader() so it closer to where tracks are dumped - display track state in dumpsys as a character code - measure and display warmup time and cycles in dumpsys - copy in the presentation complete code - add ExtendedAudioBufferProvider for framesReady() which returns size_t - simplify underrun tracking - deferred reset track after stop() - add comments Change-Id: I7db8821bc565230ec76da1f9380fe3fb09735e5b
* FastMixer updateGlenn Kasten2012-04-201-0/+2
| | | | | | | | | | Updates: - Add support for mono fast tracks - Add support for optional sample rate conversion on fast tracks - Log sample rate and frame count - Enable statistics Change-Id: Ife014edf4f452da361f3eaaae19209ef6ff6958b
* Fast mixerGlenn Kasten2012-04-181-0/+72
Change-Id: I61552f83507e08e4c706076b9fb15362869e6265