summaryrefslogtreecommitdiffstats
path: root/media/libmedia/AudioTrack.cpp
diff options
context:
space:
mode:
authorPreetam Singh Ranawat <apranawat@codeaurora.org>2015-08-28 16:21:03 +0530
committerLinux Build Service Account <lnxbuild@localhost>2015-10-06 03:24:50 -0600
commit20d6a979e133613cffbf2b34f50d2a7876bf33f3 (patch)
tree3966b39f3294ea8511cbce2040c87b0dd08a92e7 /media/libmedia/AudioTrack.cpp
parent70adc5b3c66961a8e297c6a51f4439447d32472f (diff)
downloadframeworks_av-20d6a979e133613cffbf2b34f50d2a7876bf33f3.zip
frameworks_av-20d6a979e133613cffbf2b34f50d2a7876bf33f3.tar.gz
frameworks_av-20d6a979e133613cffbf2b34f50d2a7876bf33f3.tar.bz2
AudioTrack: Fix for offload to BT/SSR fallback at EOS
-With big offload buffer size, connect BT or trigger SSR while waiting for stream to be completed, playback is moving to next clip. -avoid notifying EOS to client on any error while waiting for stream end event if it is offload playback. Change-Id: I748ed299df106385eaa030faecd0df6dc8e3c176
Diffstat (limited to 'media/libmedia/AudioTrack.cpp')
-rw-r--r--media/libmedia/AudioTrack.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/media/libmedia/AudioTrack.cpp b/media/libmedia/AudioTrack.cpp
index fccc6dd..f46b66e 100644
--- a/media/libmedia/AudioTrack.cpp
+++ b/media/libmedia/AudioTrack.cpp
@@ -1885,6 +1885,12 @@ nsecs_t AudioTrack::processAudioBuffer()
case NO_ERROR:
case DEAD_OBJECT:
case TIMED_OUT:
+ if (isOffloaded_l()) {
+ if (mCblk->mFlags & (CBLK_INVALID)){
+ // will trigger EVENT_STREAM_END in next iteration
+ return 0;
+ }
+ }
mCbf(EVENT_STREAM_END, mUserData, NULL);
{
AutoMutex lock(mLock);