summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2010-09-27 08:37:09 -0700
committerGlenn Kasten <gkasten@google.com>2010-09-27 11:50:27 -0700
commitdb7f4632cb8a69a17bb1cbba82ed03ba36591e88 (patch)
treed0b13203f7795a356feae0f40ec3590837101eb5
parent33d8795864d722be83cac7c6e7bc675991a7d7dc (diff)
downloadandroid_system_media-db7f4632cb8a69a17bb1cbba82ed03ba36591e88.tar.gz
android_system_media-db7f4632cb8a69a17bb1cbba82ed03ba36591e88.tar.bz2
android_system_media-db7f4632cb8a69a17bb1cbba82ed03ba36591e88.zip
Initialize mEffects if audio player partly created
See https://android-git.corp.google.com/g/70088 File opensles/libopensles/android_AudioPlayer.cpp Line 1111: if (NULL != pAudioPlayer->mAndroidEffect.mEffects) { mAndroidEffect.mEffects is not initialized to NULL. Change-Id: Ic6b952748c7a8024c797d7bec4a26cb138fa8840
-rw-r--r--opensles/libopensles/IAndroidEffect.c4
-rw-r--r--opensles/libopensles/IAndroidEffectCapabilities.c3
-rw-r--r--opensles/libopensles/android_AudioPlayer.cpp1
3 files changed, 7 insertions, 1 deletions
diff --git a/opensles/libopensles/IAndroidEffect.c b/opensles/libopensles/IAndroidEffect.c
index b15abc1c..c1900f4c 100644
--- a/opensles/libopensles/IAndroidEffect.c
+++ b/opensles/libopensles/IAndroidEffect.c
@@ -108,5 +108,7 @@ void IAndroidEffect_init(void *self)
IAndroidEffect *this = (IAndroidEffect *) self;
this->mItf = &IAndroidEffect_Itf;
- // mEffects lifecycle is handled by the object on which SLAndroidEffect is exposed
+ // mEffects lifecycle is handled by the object on which SLAndroidEffect is exposed. This is a
+ // safety initialization just in case the object is partially constructed and then destroyed.
+ this->mEffects = NULL;
}
diff --git a/opensles/libopensles/IAndroidEffectCapabilities.c b/opensles/libopensles/IAndroidEffectCapabilities.c
index 05f9510c..85fdd004 100644
--- a/opensles/libopensles/IAndroidEffectCapabilities.c
+++ b/opensles/libopensles/IAndroidEffectCapabilities.c
@@ -111,6 +111,9 @@ void IAndroidEffectCapabilities_init(void *self)
this->mFxDescriptors[i].name);
}
}
+ } else {
+ // for safety
+ this->mFxDescriptors = NULL;
}
}
diff --git a/opensles/libopensles/android_AudioPlayer.cpp b/opensles/libopensles/android_AudioPlayer.cpp
index ad79abd7..a0080d43 100644
--- a/opensles/libopensles/android_AudioPlayer.cpp
+++ b/opensles/libopensles/android_AudioPlayer.cpp
@@ -1134,6 +1134,7 @@ SLresult android_audioPlayer_destroy(CAudioPlayer *pAudioPlayer) {
pAudioPlayer->mAndroidEffect.mEffects->clear();
}
delete pAudioPlayer->mAndroidEffect.mEffects;
+ pAudioPlayer->mAndroidEffect.mEffects = NULL;
}
#endif