summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2010-09-02 12:48:40 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-09-02 12:48:40 -0700
commit937056c1a7ce71e6881305a31f76e62a76685f24 (patch)
treefe2d5886da16181b26d9ba6298837efd9c71b7be
parentd0743dfbeeb1fb5d63a6be2631e9aa2107233291 (diff)
parent32ec1ad17ff3c5034f84a5be77ee2e2434b50c56 (diff)
downloadframeworks_base-937056c1a7ce71e6881305a31f76e62a76685f24.zip
frameworks_base-937056c1a7ce71e6881305a31f76e62a76685f24.tar.gz
frameworks_base-937056c1a7ce71e6881305a31f76e62a76685f24.tar.bz2
am 32ec1ad1: Merge "Fix problem in AudioEffect::command() status." into gingerbread
Merge commit '32ec1ad17ff3c5034f84a5be77ee2e2434b50c56' into gingerbread-plus-aosp * commit '32ec1ad17ff3c5034f84a5be77ee2e2434b50c56': 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();
}