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

Commit 28d27f52 authored by Dichen Zhang's avatar Dichen Zhang
Browse files

Audio attributes using public API

Bug: 112549970
Test: MediaPlayer2Test
Change-Id: Ia4091ff59172a9cd040d33bc6c2edd2ea7195f70
parent d4a3256a
Loading
Loading
Loading
Loading
+17 −16
Original line number Diff line number Diff line
@@ -65,17 +65,19 @@ JAudioTrack::JAudioTrack( // < Usages of the argumen
    jmethodID jBuilderCtor = env->GetMethodID(jBuilderCls, "<init>", "()V");
    jobject jBuilderObj = env->NewObject(jBuilderCls, jBuilderCtor);

    {
        sp<JObjectHolder> audioAttributesObj;
        if (attributes != NULL) {
        mAudioAttributesObj = new JObjectHolder(attributes);
            audioAttributesObj = new JObjectHolder(attributes);
        } else {
        mAudioAttributesObj = new JObjectHolder(
            audioAttributesObj = new JObjectHolder(
                    JAudioAttributes::createAudioAttributesObj(env, NULL));
        }

        jmethodID jSetAudioAttributes = env->GetMethodID(jBuilderCls, "setAudioAttributes",
                "(Landroid/media/AudioAttributes;)Landroid/media/AudioTrack$Builder;");
        jBuilderObj = env->CallObjectMethod(jBuilderObj,
            jSetAudioAttributes, mAudioAttributesObj->getJObject());
                jSetAudioAttributes, audioAttributesObj->getJObject());
    }

    jmethodID jSetAudioFormat = env->GetMethodID(jBuilderCls, "setAudioFormat",
            "(Landroid/media/AudioFormat;)Landroid/media/AudioTrack$Builder;");
@@ -513,15 +515,14 @@ status_t JAudioTrack::setPreferredDevice(jobject device) {
}

audio_stream_type_t JAudioTrack::getAudioStreamType() {
    if (mAudioAttributesObj == NULL) {
        return AUDIO_STREAM_DEFAULT;
    }
    JNIEnv *env = JavaVMHelper::getJNIEnv();
    jmethodID jGetAudioAttributes = env->GetMethodID(mAudioTrackCls, "getAudioAttributes",
            "()Landroid/media/AudioAttributes;");
    jobject jAudioAttributes = env->CallObjectMethod(mAudioTrackObj, jGetAudioAttributes);
    jclass jAudioAttributesCls = env->FindClass("android/media/AudioAttributes");
    jmethodID jGetVolumeControlStream = env->GetMethodID(jAudioAttributesCls,
            "getVolumeControlStream", "()I");
    int javaAudioStreamType = env->CallIntMethod(
            mAudioAttributesObj->getJObject(), jGetVolumeControlStream);
    int javaAudioStreamType = env->CallIntMethod(jAudioAttributes, jGetVolumeControlStream);
    return (audio_stream_type_t)javaAudioStreamType;
}

+0 −1
Original line number Diff line number Diff line
@@ -446,7 +446,6 @@ private:

    jclass mAudioTrackCls;
    jobject mAudioTrackObj;
    sp<JObjectHolder> mAudioAttributesObj;

    /* Creates a Java VolumeShaper.Configuration object from VolumeShaper::Configuration */
    jobject createVolumeShaperConfigurationObj(