Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9e5baa2c authored by xiaomi/hanli's avatar xiaomi/hanli Committed by android-build-merger
Browse files

Merge "Fix local reference table overflow error." am: fe87781f am: ae8c1264

am: d5e2056d

Change-Id: I469ce663c566d43a407ec9392c2d3471662e603d
parents 2e96a44f d5e2056d
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -1016,6 +1016,7 @@ static jint convertAudioPortFromNative(JNIEnv *env,
    jintArray jFormats = NULL;
    jobjectArray jGains = NULL;
    jobject jHandle = NULL;
    jobject jAudioPortConfig = NULL;
    jstring jDeviceName = NULL;
    bool useInMask;
    size_t numPositionMasks = 0;
@@ -1194,7 +1195,6 @@ static jint convertAudioPortFromNative(JNIEnv *env,
        goto exit;
    }

    jobject jAudioPortConfig;
    jStatus = convertAudioPortConfigFromNative(env,
                                                       *jAudioPort,
                                                       &jAudioPortConfig,
@@ -1230,6 +1230,9 @@ exit:
    if (jHandle != NULL) {
        env->DeleteLocalRef(jHandle);
    }
    if (jAudioPortConfig != NULL) {
        env->DeleteLocalRef(jAudioPortConfig);
    }

    return jStatus;
}
@@ -1300,12 +1303,15 @@ android_media_AudioSystem_listAudioPorts(JNIEnv *env, jobject clazz,
    }

    for (size_t i = 0; i < numPorts; i++) {
        jobject jAudioPort;
        jobject jAudioPort = NULL;
        jStatus = convertAudioPortFromNative(env, &jAudioPort, &nPorts[i]);
        if (jStatus != AUDIO_JAVA_SUCCESS) {
            goto exit;
        }
        env->CallBooleanMethod(jPorts, gArrayListMethods.add, jAudioPort);
        if (jAudioPort != NULL) {
            env->DeleteLocalRef(jAudioPort);
        }
    }

exit: