From 7844f679be8d94c5cdf017f53754cb68ee2f00da Mon Sep 17 00:00:00 2001 From: Haynes Mathew George Date: Wed, 15 Jan 2014 12:32:55 -0800 Subject: AudioFlinger: Modify flush handling for offload path Do not allow an offload track to directly control the offload thread behavior. OffloadThread can check for any pending flush reporting by its active tracks and decide to flush the HW or not. Bug: 12530661 Change-Id: Ib33f023c942f6c091b618004136b153c38a6eef6 --- services/audioflinger/PlaybackTracks.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'services/audioflinger/PlaybackTracks.h') diff --git a/services/audioflinger/PlaybackTracks.h b/services/audioflinger/PlaybackTracks.h index 4b6c74d..6600161 100644 --- a/services/audioflinger/PlaybackTracks.h +++ b/services/audioflinger/PlaybackTracks.h @@ -94,6 +94,8 @@ protected: bool isReady() const; void setPaused() { mState = PAUSED; } void reset(); + bool isFlushPending() const { return mFlushHwPending; } + void flushAck(); bool isOutputTrack() const { return (mStreamType == AUDIO_STREAM_CNT); @@ -155,6 +157,7 @@ private: bool mIsInvalid; // non-resettable latch, set by invalidate() AudioTrackServerProxy* mAudioTrackServerProxy; bool mResumeToStopping; // track was paused in stopping state. + bool mFlushHwPending; // track requests for thread flush }; // end of Track class TimedTrack : public Track { -- cgit v1.1