summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/PlaybackTracks.h
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2013-07-17 16:05:07 -0700
committerGlenn Kasten <gkasten@google.com>2013-07-31 09:15:00 -0700
commit82aaf94a5b18939e4d790bbc752031f3070704a3 (patch)
tree4e39e32d0ccde726548afcbd81e253d5e316b295 /services/audioflinger/PlaybackTracks.h
parentb08ab81bab9e8cd2e3a7fff02725a387070fd078 (diff)
downloadframeworks_av-82aaf94a5b18939e4d790bbc752031f3070704a3.zip
frameworks_av-82aaf94a5b18939e4d790bbc752031f3070704a3.tar.gz
frameworks_av-82aaf94a5b18939e4d790bbc752031f3070704a3.tar.bz2
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
Diffstat (limited to 'services/audioflinger/PlaybackTracks.h')
-rw-r--r--services/audioflinger/PlaybackTracks.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/services/audioflinger/PlaybackTracks.h b/services/audioflinger/PlaybackTracks.h
index 628f5af..5600411c 100644
--- a/services/audioflinger/PlaybackTracks.h
+++ b/services/audioflinger/PlaybackTracks.h
@@ -140,7 +140,6 @@ private:
// but the slot is only used if track is active
FastTrackUnderruns mObservedUnderruns; // Most recently observed value of
// mFastMixerDumpState.mTracks[mFastIndex].mUnderruns
- uint32_t mUnderrunCount; // Counter of total number of underruns, never reset
volatile float mCachedVolume; // combined master volume and stream type volume;
// 'volatile' means accessed without lock or
// barrier, but is read/written atomically