summaryrefslogtreecommitdiffstats
path: root/media/jni/soundpool
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-06-01 09:57:24 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-06-01 09:57:24 -0700
commit450ad31b62af468aa0fb308a5c983b8f8334ae4e (patch)
tree43c979a2e1cb807afcb08f44c49a566d5629715d /media/jni/soundpool
parent10d273bb69016f7eb056d7ea1f3a929a5f5a3314 (diff)
parent3c8704b171c812dde6f48e5416ba0b336470dd4a (diff)
downloadframeworks_base-450ad31b62af468aa0fb308a5c983b8f8334ae4e.zip
frameworks_base-450ad31b62af468aa0fb308a5c983b8f8334ae4e.tar.gz
frameworks_base-450ad31b62af468aa0fb308a5c983b8f8334ae4e.tar.bz2
Merge change 2774 into donut
* changes: Limit check on maxChannels for SoundPool. Bug 1838724
Diffstat (limited to 'media/jni/soundpool')
-rw-r--r--media/jni/soundpool/SoundPool.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/media/jni/soundpool/SoundPool.cpp b/media/jni/soundpool/SoundPool.cpp
index 0812650..ce80f92 100644
--- a/media/jni/soundpool/SoundPool.cpp
+++ b/media/jni/soundpool/SoundPool.cpp
@@ -44,23 +44,27 @@ SoundPool::SoundPool(jobject soundPoolRef, int maxChannels, int streamType, int
LOGV("SoundPool constructor: maxChannels=%d, streamType=%d, srcQuality=%d",
maxChannels, streamType, srcQuality);
- if (maxChannels > 32) {
- LOGW("App requested %d channels, capped at 32", maxChannels);
- maxChannels = 32;
+ // check limits
+ mMaxChannels = maxChannels;
+ if (mMaxChannels < 1) {
+ mMaxChannels = 1;
+ }
+ else if (mMaxChannels > 32) {
+ mMaxChannels = 32;
}
+ LOGW_IF(maxChannels != mMaxChannels, "App requested %d channels", maxChannels);
mQuit = false;
mSoundPoolRef = soundPoolRef;
mDecodeThread = 0;
- mMaxChannels = maxChannels;
mStreamType = streamType;
mSrcQuality = srcQuality;
mAllocated = 0;
mNextSampleID = 0;
mNextChannelID = 0;
- mChannelPool = new SoundChannel[maxChannels];
- for (int i = 0; i < maxChannels; ++i) {
+ mChannelPool = new SoundChannel[mMaxChannels];
+ for (int i = 0; i < mMaxChannels; ++i) {
mChannelPool[i].init(this);
mChannels.push_back(&mChannelPool[i]);
}