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

Commit fcff4c38 authored by Paul McLean's avatar Paul McLean Committed by Android Git Automerger
Browse files

am 2d5f41e4: Merge "Better handling of 0-length format conversions in...

am 2d5f41e4: Merge "Better handling of 0-length format conversions in convertAudioPortFromNative()." into mnc-dev

* commit '2d5f41e4':
  Better handling of 0-length format conversions in convertAudioPortFromNative().
parents ed113f18 2d5f41e4
Loading
Loading
Loading
Loading
+12 −8
Original line number Diff line number Diff line
@@ -856,7 +856,8 @@ static jint convertAudioPortFromNative(JNIEnv *env,
    bool useInMask;
    size_t numPositionMasks = 0;
    size_t numIndexMasks = 0;
    size_t numUniqueFormats;
    size_t numUniqueFormats = 0;

    ALOGV("convertAudioPortFromNative id %d role %d type %d name %s",
        nAudioPort->id, nAudioPort->role, nAudioPort->type, nAudioPort->name);

@@ -907,20 +908,23 @@ static jint convertAudioPortFromNative(JNIEnv *env,
    }

    // formats
    if (nAudioPort->num_formats != 0) {
        cFormats = new int[nAudioPort->num_formats];
    numUniqueFormats = 0;
        for (size_t index = 0; index < nAudioPort->num_formats; index++) {
            int format = audioFormatFromNative(nAudioPort->formats[index]);
            if (!hasFormat(cFormats, numUniqueFormats, format)) {
                cFormats[numUniqueFormats++] = format;
            }
        }
    }
    jFormats = env->NewIntArray(numUniqueFormats);
    if (jFormats == NULL) {
        jStatus = (jint)AUDIO_JAVA_ERROR;
        goto exit;
    }
    if (numUniqueFormats != 0) {
        env->SetIntArrayRegion(jFormats, 0, numUniqueFormats, cFormats);
    }

    // gains
    jGains = env->NewObjectArray(nAudioPort->num_gains,