summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/PlaybackTracks.h
diff options
context:
space:
mode:
authorKrishnankutty Kolathappilly <kkolat@codeaurora.org>2014-02-04 16:23:42 -0800
committerEric Laurent <elaurent@google.com>2014-03-17 18:30:13 -0700
commit8d6c292a0bed3d63b5b7297d09a604af6327c663 (patch)
tree344c2297ed00e1e10998490bc4e2f00358536133 /services/audioflinger/PlaybackTracks.h
parent9ff25ced1404c896df9e6ed3a6ad289305559361 (diff)
downloadframeworks_av-8d6c292a0bed3d63b5b7297d09a604af6327c663.zip
frameworks_av-8d6c292a0bed3d63b5b7297d09a604af6327c663.tar.gz
frameworks_av-8d6c292a0bed3d63b5b7297d09a604af6327c663.tar.bz2
audioflinger: Handle pause /resume in stopping state
-Pre-requisite: Perform seek on the clip. After seek the data remaining till EOS is little more than the driver and common block buffering. -Framework state: Offload thread is waiting for signal from the HAL for a free buffer. Audio Player calls sink stop on reaching EOS. Audio track is waiting on obtain buffer for a free space in common block to send the last buffer. The track is moved to stopping state as input EOS is reached. -Issue: Perform pause/ resume in this state(STOPPING), Audio playback does not resume. -Fix Ensure resume is called in stopping state if frames ready is greater than zero. Bug: 12870871 Change-Id: Ib1378c4ee5ce4bea655691e93de0775f7b1d2804 Signed-off-by: Glenn Kasten <gkasten@google.com>
Diffstat (limited to 'services/audioflinger/PlaybackTracks.h')
-rw-r--r--services/audioflinger/PlaybackTracks.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/services/audioflinger/PlaybackTracks.h b/services/audioflinger/PlaybackTracks.h
index b5e763d..e9c6834 100644
--- a/services/audioflinger/PlaybackTracks.h
+++ b/services/audioflinger/PlaybackTracks.h
@@ -96,6 +96,8 @@ protected:
void reset();
bool isFlushPending() const { return mFlushHwPending; }
void flushAck();
+ bool isResumePending();
+ void resumeAck();
bool isOutputTrack() const {
return (mStreamType == AUDIO_STREAM_CNT);