diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h
index 3051514..de59f6d 100644
--- a/services/audioflinger/AudioFlinger.h
+++ b/services/audioflinger/AudioFlinger.h
@@ -662,7 +662,8 @@
                                         uint32_t channelMask,
                                         int frameCount,
                                         const sp<IMemory>& sharedBuffer,
-                                        int sessionId);
+                                        int sessionId,
+                                        IAudioFlinger::track_flags_t flags);
             virtual             ~Track();
 
                     void        dump(char* buffer, size_t size);
@@ -689,6 +690,9 @@
                     int16_t     *mainBuffer() const { return mMainBuffer; }
                     int         auxEffectId() const { return mAuxEffectId; }
 
+                    bool        isFastTrack() const
+                            { return (mFlags & IAudioFlinger::TRACK_FAST) != 0; }
+
         protected:
             // for numerous
             friend class PlaybackThread;
@@ -742,6 +746,8 @@
             bool                mHasVolumeController;
             size_t              mPresentationCompleteFrames; // number of frames written to the audio HAL
                                                        // when this track will be fully rendered
+        private:
+            IAudioFlinger::track_flags_t mFlags;
         };  // end of Track
 
         class TimedTrack : public Track {
@@ -913,7 +919,7 @@
                                     int frameCount,
                                     const sp<IMemory>& sharedBuffer,
                                     int sessionId,
-                                    bool isTimed,
+                                    IAudioFlinger::track_flags_t flags,
                                     status_t *status);
 
                     AudioStreamOut* getOutput() const;
