summaryrefslogtreecommitdiffstats
path: root/media/libmedia/ToneGenerator.cpp
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-03-09 11:52:12 -0700
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-09 11:52:12 -0700
commit8365529381f6284f2d59dcc38e26f73adeec9c67 (patch)
treea3bd9bc7d231f3e3addb48bff81799f62253d3ce /media/libmedia/ToneGenerator.cpp
parent87e06b6ae58d0caca9196e31490f2a5b515a9740 (diff)
downloadframeworks_av-8365529381f6284f2d59dcc38e26f73adeec9c67.zip
frameworks_av-8365529381f6284f2d59dcc38e26f73adeec9c67.tar.gz
frameworks_av-8365529381f6284f2d59dcc38e26f73adeec9c67.tar.bz2
auto import from //branches/cupcake/...@137197
Diffstat (limited to 'media/libmedia/ToneGenerator.cpp')
-rw-r--r--media/libmedia/ToneGenerator.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/media/libmedia/ToneGenerator.cpp b/media/libmedia/ToneGenerator.cpp
index 5416629..8560593 100644
--- a/media/libmedia/ToneGenerator.cpp
+++ b/media/libmedia/ToneGenerator.cpp
@@ -182,8 +182,9 @@ bool ToneGenerator::startTone(int toneType) {
mLock.lock();
if (mState == TONE_STARTING) {
LOGV("Wait for start callback");
- if (mWaitCbkCond.waitRelative(mLock, seconds(1)) != NO_ERROR) {
- LOGE("--- Immediate start timed out");
+ status_t lStatus = mWaitCbkCond.waitRelative(mLock, seconds(1));
+ if (lStatus != NO_ERROR) {
+ LOGE("--- Immediate start timed out, status %d", lStatus);
mState = TONE_IDLE;
lResult = false;
}
@@ -195,13 +196,14 @@ bool ToneGenerator::startTone(int toneType) {
LOGV("Delayed start\n");
mState = TONE_RESTARTING;
- if (mWaitCbkCond.waitRelative(mLock, seconds(1)) == NO_ERROR) {
+ status_t lStatus = mWaitCbkCond.waitRelative(mLock, seconds(1));
+ if (lStatus == NO_ERROR) {
if (mState != TONE_IDLE) {
lResult = true;
}
LOGV("cond received");
} else {
- LOGE("--- Delayed start timed out");
+ LOGE("--- Delayed start timed out, status %d", lStatus);
mState = TONE_IDLE;
}
}
@@ -368,6 +370,8 @@ void ToneGenerator::audioCallback(int event, void* user, void *info) {
break;
default:
LOGV("Extra Cbk");
+ // Force loop exit
+ lNumSmp = 0;
goto audioCallback_EndLoop;
}