summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2010-09-02 12:51:11 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-09-02 12:51:11 -0700
commit6874bd0becf57649c1aaf6e9e73c66d4f05873b9 (patch)
tree7c0b2c8254ec2bdad3b7c30b7e34dffc84dc9674
parentf623c29080a6a689ce7cf1e3d53ba8bb6eb4cbc8 (diff)
parent937056c1a7ce71e6881305a31f76e62a76685f24 (diff)
downloadframeworks_base-6874bd0becf57649c1aaf6e9e73c66d4f05873b9.zip
frameworks_base-6874bd0becf57649c1aaf6e9e73c66d4f05873b9.tar.gz
frameworks_base-6874bd0becf57649c1aaf6e9e73c66d4f05873b9.tar.bz2
am 937056c1: am 32ec1ad1: Merge "Fix problem in AudioEffect::command() status." into gingerbread
Merge commit '937056c1a7ce71e6881305a31f76e62a76685f24' * commit '937056c1a7ce71e6881305a31f76e62a76685f24': Fix problem in AudioEffect::command() status.
-rw-r--r--services/audioflinger/AudioFlinger.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp
index 1acdaaf..3770b55 100644
--- a/services/audioflinger/AudioFlinger.cpp
+++ b/services/audioflinger/AudioFlinger.cpp
@@ -5992,12 +5992,14 @@ status_t AudioFlinger::EffectHandle::command(uint32_t cmdCode,
p,
&rsize,
&reply);
- if (ret == NO_ERROR) {
- if (reply != NO_ERROR) {
- status = reply;
- }
- } else {
+ // stop at first error encountered
+ if (ret != NO_ERROR) {
status = ret;
+ *(int *)pReplyData = reply;
+ break;
+ } else if (reply != NO_ERROR) {
+ *(int *)pReplyData = reply;
+ break;
}
mCblk->serverIndex += size;
}
@@ -6005,8 +6007,10 @@ status_t AudioFlinger::EffectHandle::command(uint32_t cmdCode,
mCblk->clientIndex = 0;
return status;
} else if (cmdCode == EFFECT_CMD_ENABLE) {
+ *(int *)pReplyData = NO_ERROR;
return enable();
} else if (cmdCode == EFFECT_CMD_DISABLE) {
+ *(int *)pReplyData = NO_ERROR;
return disable();
}