From d8e6fd35ec2b59ee7d873daf1f1d9d348221c7bc Mon Sep 17 00:00:00 2001 From: Glenn Kasten Date: Mon, 7 May 2012 11:07:57 -0700 Subject: Use audio tag for system tracing Disabled by default; uncomment ATRACE_TAG to enable Change-Id: I99af894022a859ee5644bd853cfd8a48e4735ff9 --- services/audioflinger/FastMixer.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'services/audioflinger/FastMixer.cpp') diff --git a/services/audioflinger/FastMixer.cpp b/services/audioflinger/FastMixer.cpp index d499f7a..1492a36 100644 --- a/services/audioflinger/FastMixer.cpp +++ b/services/audioflinger/FastMixer.cpp @@ -17,9 +17,12 @@ #define LOG_TAG "FastMixer" //#define LOG_NDEBUG 0 +//#define ATRACE_TAG ATRACE_TAG_AUDIO + #include #include #include +#include #include #ifdef FAST_MIXER_STATISTICS #include @@ -359,6 +362,7 @@ bool FastMixer::threadLoop() FastTrackDump *ftDump = &dumpState->mTracks[i]; uint32_t underruns = ftDump->mUnderruns; if (framesReady < frameCount) { + ATRACE_INT("underrun", i); ftDump->mUnderruns = (underruns + 2) | 1; if (framesReady == 0) { mixer->disable(name); @@ -387,7 +391,9 @@ bool FastMixer::threadLoop() // FIXME write() is non-blocking and lock-free for a properly implemented NBAIO sink, // but this code should be modified to handle both non-blocking and blocking sinks dumpState->mWriteSequence++; + Tracer::traceBegin(ATRACE_TAG, "write"); ssize_t framesWritten = outputSink->write(mixBuffer, frameCount); + Tracer::traceEnd(ATRACE_TAG); dumpState->mWriteSequence++; if (framesWritten >= 0) { ALOG_ASSERT(framesWritten <= frameCount); @@ -437,6 +443,7 @@ bool FastMixer::threadLoop() } } if (sec > 0 || nsec > underrunNs) { + ScopedTrace st(ATRACE_TAG, "underrun"); // FIXME only log occasionally ALOGV("underrun: time since last cycle %d.%03ld sec", (int) sec, nsec / 1000000L); -- cgit v1.1