summaryrefslogtreecommitdiffstats
path: root/variablespeed/jni/variablespeed.cc
diff options
context:
space:
mode:
authorRicardo Cerqueira <cyanogenmod@cerqueira.org>2014-06-03 02:16:18 +0100
committerRicardo Cerqueira <cyanogenmod@cerqueira.org>2014-06-03 02:16:18 +0100
commit418ac5ee222c2734af677d92cf318f2b033fd7bd (patch)
tree08e2e3db703c977325d4d0fb15d01831a888b5eb /variablespeed/jni/variablespeed.cc
parentaecf604ef14f07e078c309b015c2333e22640789 (diff)
parentce2b95ae200332495b348be07f77fe60b6c23dcc (diff)
downloadandroid_frameworks_ex-418ac5ee222c2734af677d92cf318f2b033fd7bd.tar.gz
android_frameworks_ex-418ac5ee222c2734af677d92cf318f2b033fd7bd.tar.bz2
android_frameworks_ex-418ac5ee222c2734af677d92cf318f2b033fd7bd.zip
Android 4.4.3 release 1
Diffstat (limited to 'variablespeed/jni/variablespeed.cc')
-rw-r--r--variablespeed/jni/variablespeed.cc19
1 files changed, 13 insertions, 6 deletions
diff --git a/variablespeed/jni/variablespeed.cc b/variablespeed/jni/variablespeed.cc
index 73ac609..4bdbbcc 100644
--- a/variablespeed/jni/variablespeed.cc
+++ b/variablespeed/jni/variablespeed.cc
@@ -129,14 +129,21 @@ void AudioEngine::SetEngine(AudioEngine* engine) {
audioEngine_ = engine;
}
+bool AudioEngine::CompareAndSetEngine(AudioEngine* expect, AudioEngine* update) {
+ android::Mutex::Autolock autoLock(publishEngineLock_);
+ if (audioEngine_ == expect) {
+ DeleteEngine();
+ audioEngine_ = update;
+ return true;
+ }
+ return false;
+}
+
void AudioEngine::DeleteEngine() {
- if (audioEngine_ == NULL) {
- LOGE("you haven't initialized the audio engine");
- CHECK(false);
- return;
+ if (audioEngine_ != NULL) {
+ delete audioEngine_;
+ audioEngine_ = NULL;
}
- delete audioEngine_;
- audioEngine_ = NULL;
}
// ****************************************************************************