AudioEffect JNI: use new max preprocessing constant

Bug: 18226810.
Change-Id: Ica5677da247268306b34dfce38f25394586817fd
(cherry picked from commit b27a8a5bcc)
This commit is contained in:
Eric Laurent
2014-11-05 12:18:05 -08:00
parent d7044fe1f1
commit 1c2b0d5214

View File

@ -785,28 +785,12 @@ queryEffects_failure:
static jobjectArray
android_media_AudioEffect_native_queryPreProcessings(JNIEnv *env, jclass clazz, jint audioSession)
{
// kDefaultNumEffects is a "reasonable" value ensuring that only one query will be enough on
// most devices to get all active audio pre processing on a given session.
static const uint32_t kDefaultNumEffects = 5;
effect_descriptor_t *descriptors = new effect_descriptor_t[kDefaultNumEffects];
uint32_t numEffects = kDefaultNumEffects;
effect_descriptor_t *descriptors = new effect_descriptor_t[AudioEffect::kMaxPreProcessing];
uint32_t numEffects = AudioEffect::kMaxPreProcessing;
status_t status = AudioEffect::queryDefaultPreProcessing(audioSession,
descriptors,
&numEffects);
if ((status != NO_ERROR && status != NO_MEMORY) ||
numEffects == 0) {
delete[] descriptors;
return NULL;
}
if (status == NO_MEMORY) {
delete [] descriptors;
descriptors = new effect_descriptor_t[numEffects];
status = AudioEffect::queryDefaultPreProcessing(audioSession,
descriptors,
&numEffects);
}
if (status != NO_ERROR || numEffects == 0) {
delete[] descriptors;
return NULL;