auto import from //branches/cupcake/...@132276
diff --git a/libs/audioflinger/AudioFlinger.h b/libs/audioflinger/AudioFlinger.h
index 3b5932d..dfbb1e9 100644
--- a/libs/audioflinger/AudioFlinger.h
+++ b/libs/audioflinger/AudioFlinger.h
@@ -221,16 +221,22 @@
             };
 
             enum track_flags {
-                STEPSERVER_FAILED = 0x01   //  StepServer could not acquire cblk->lock mutex
+                STEPSERVER_FAILED = 0x01, //  StepServer could not acquire cblk->lock mutex
+                SYSTEM_FLAGS_MASK = 0x0000ffffUL,
+
+                AUDIO_IN_AGC_ENABLE = AudioSystem::AGC_ENABLE << 16,
+                AUDIO_IN_NS_ENABLE  = AudioSystem::NS_ENABLE << 16,
+                AUDIO_IN_IIR_ENABLE = AudioSystem::TX_IIR_ENABLE << 16
             };
 
-                                TrackBase(  const sp<MixerThread>& mixerThread,
+                                TrackBase(const sp<MixerThread>& mixerThread,
                                         const sp<Client>& client,
                                         int streamType,
                                         uint32_t sampleRate,
                                         int format,
                                         int channelCount,
                                         int frameCount,
+                                        uint32_t flags,
                                         const sp<IMemory>& sharedBuffer);
                                 ~TrackBase();
 
@@ -295,7 +301,7 @@
             int                 mState;
             int                 mClientTid;
             uint8_t             mFormat;
-            uint8_t             mFlags;
+            uint32_t            mFlags;
         };
 
         // playback track
@@ -362,13 +368,14 @@
         // record track
         class RecordTrack : public TrackBase {
         public:
-                                RecordTrack(  const sp<MixerThread>& mixerThread,
+                                RecordTrack(const sp<MixerThread>& mixerThread,
                                         const sp<Client>& client,
                                         int streamType,
                                         uint32_t sampleRate,
                                         int format,
                                         int channelCount,
-                                        int frameCount);
+                                        int frameCount,
+                                        uint32_t flags);
                                 ~RecordTrack();
 
             virtual status_t    start();
@@ -585,6 +592,7 @@
                 status_t    start(MixerThread::RecordTrack* recordTrack);
                 void        stop(MixerThread::RecordTrack* recordTrack);
                 void        exit();
+                status_t    dump(int fd, const Vector<String16>& args);
 
     private:
                 AudioRecordThread();
@@ -592,6 +600,7 @@
                 sp<MixerThread::RecordTrack>        mRecordTrack;
                 Mutex                               mLock;
                 Condition                           mWaitWorkCV;
+                Condition                           mStopped;
                 volatile bool                       mActive;
                 status_t                            mStartStatus;
     };