diff options
author | Glenn Kasten <gkasten@google.com> | 2010-09-27 08:37:09 -0700 |
---|---|---|
committer | Glenn Kasten <gkasten@google.com> | 2010-09-27 11:50:27 -0700 |
commit | db7f4632cb8a69a17bb1cbba82ed03ba36591e88 (patch) | |
tree | d0b13203f7795a356feae0f40ec3590837101eb5 | |
parent | 33d8795864d722be83cac7c6e7bc675991a7d7dc (diff) | |
download | android_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.c | 4 | ||||
-rw-r--r-- | opensles/libopensles/IAndroidEffectCapabilities.c | 3 | ||||
-rw-r--r-- | opensles/libopensles/android_AudioPlayer.cpp | 1 |
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 |