OSDN Git Service

mSuspend comments and usage
authorGlenn Kasten <gkasten@google.com>
Wed, 29 Feb 2012 15:07:30 +0000 (07:07 -0800)
committerGlenn Kasten <gkasten@google.com>
Wed, 29 Feb 2012 19:36:54 +0000 (11:36 -0800)
Emphasize that playbackthread::mSuspend is a counter, not a bool

Change-Id: I7188e56814e1c54dbc65e560f3627f138257d644

services/audioflinger/AudioFlinger.cpp
services/audioflinger/AudioFlinger.h

index 36df2c0..aea002b 100644 (file)
@@ -2050,9 +2050,9 @@ bool AudioFlinger::MixerThread::threadLoop()
 
             // put audio hardware into standby after short delay
             if (CC_UNLIKELY((!activeTracks.size() && systemTime() > standbyTime) ||
-                        mSuspended)) {
+                        mSuspended > 0)) {
                 if (!mStandby) {
-                    ALOGV("Audio hardware entering standby, mixer %p, mSuspended %d", this, mSuspended);
+                    ALOGV("Audio hardware entering standby, mixer %p, suspend count %u", this, mSuspended);
                     mOutput->stream->common.standby(&mOutput->stream->common);
                     mStandby = true;
                     mBytesWritten = 0;
@@ -2143,7 +2143,7 @@ bool AudioFlinger::MixerThread::threadLoop()
             // TODO add standby time extension fct of effect tail
         }
 
-        if (mSuspended) {
+        if (mSuspended > 0) {
             sleepTime = suspendSleepTimeUs();
         }
 
@@ -2778,9 +2778,9 @@ bool AudioFlinger::DirectOutputThread::threadLoop()
 
             // put audio hardware into standby after short delay
             if (CC_UNLIKELY((!mActiveTracks.size() && systemTime() > standbyTime) ||
-                        mSuspended)) {
+                        mSuspended > 0)) {
                 if (!mStandby) {
-                    ALOGV("Audio hardware entering standby, mixer %p, mSuspended %d", this, mSuspended);
+                    ALOGV("Audio hardware entering standby, mixer %p, suspend count %u", this, mSuspended);
                     mOutput->stream->common.standby(&mOutput->stream->common);
                     mStandby = true;
                     mBytesWritten = 0;
@@ -2976,7 +2976,7 @@ bool AudioFlinger::DirectOutputThread::threadLoop()
             }
         }
 
-        if (mSuspended) {
+        if (mSuspended > 0) {
             sleepTime = suspendSleepTimeUs();
         }
 
@@ -3192,7 +3192,7 @@ bool AudioFlinger::DuplicatingThread::threadLoop()
 
             // put audio hardware into standby after short delay
             if (CC_UNLIKELY((!activeTracks.size() && systemTime() > standbyTime) ||
-                         mSuspended)) {
+                         mSuspended > 0)) {
                 if (!mStandby) {
                     // DuplicatingThread implements standby by stopping all tracks
                     for (size_t i = 0; i < outputTracks.size(); i++) {
@@ -3264,7 +3264,7 @@ bool AudioFlinger::DuplicatingThread::threadLoop()
             }
         }
 
-        if (mSuspended) {
+        if (mSuspended > 0) {
             sleepTime = suspendSleepTimeUs();
         }
 
index e908d3f..dbd2597 100644 (file)
@@ -821,8 +821,8 @@ private:
                     virtual audio_stream_t* stream();
 
                     void        suspend() { mSuspended++; }
-                    void        restore() { if (mSuspended) mSuspended--; }
-                    bool        isSuspended() const { return (mSuspended != 0); }
+                    void        restore() { if (mSuspended > 0) mSuspended--; }
+                    bool        isSuspended() const { return (mSuspended > 0); }
         virtual     String8     getParameters(const String8& keys);
         virtual     void        audioConfigChanged_l(int event, int param = 0);
         virtual     status_t    getRenderPosition(uint32_t *halFrames, uint32_t *dspFrames);
@@ -843,7 +843,7 @@ private:
 
     protected:
         int16_t*                        mMixBuffer;
-        int                             mSuspended;
+        uint32_t                        mSuspended;     // suspend count, > 0 means suspended
         int                             mBytesWritten;
     private:
         // mMasterMute is in both PlaybackThread and in AudioFlinger.  When a