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

Commit d83ce75e authored by PODISHETTY KUMAR's avatar PODISHETTY KUMAR Committed by Android (Google) Code Review
Browse files

Merge "Revert "Add (virtual) device ID to AudioPolicy/AudioMix"" into main

parents 9ab91206 a27f0bcb
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -161,7 +161,6 @@ static struct {
    jfieldID mMixType;
    jfieldID mCallbackFlags;
    jfieldID mToken;
    jfieldID mVirtualDeviceId;
} gAudioMixFields;

static jclass gAudioFormatClass;
@@ -2313,7 +2312,7 @@ static jint convertAudioMixFromNative(JNIEnv *env, jobject *jAudioMix, const Aud
    jstring deviceAddress = env->NewStringUTF(nAudioMix.mDeviceAddress.c_str());
    *jAudioMix = env->NewObject(gAudioMixClass, gAudioMixCstor, jAudioMixingRule, jAudioFormat,
                                nAudioMix.mRouteFlags, nAudioMix.mCbFlags, nAudioMix.mDeviceType,
                                deviceAddress, jBinderToken, nAudioMix.mVirtualDeviceId);
                                deviceAddress, jBinderToken);
    return AUDIO_JAVA_SUCCESS;
}

@@ -2348,7 +2347,6 @@ static jint convertAudioMixToNative(JNIEnv *env, AudioMix *nAudioMix, const jobj
            aiBinder(AIBinder_fromJavaBinder(env, jToken), &AIBinder_decStrong);
    nAudioMix->mToken = AIBinder_toPlatformBinder(aiBinder.get());

    nAudioMix->mVirtualDeviceId = env->GetIntField(jAudioMix, gAudioMixFields.mVirtualDeviceId);
    jint status = convertAudioMixingRuleToNative(env, jRule, &(nAudioMix->mCriteria));

    env->DeleteLocalRef(jRule);
@@ -3678,7 +3676,7 @@ int register_android_media_AudioSystem(JNIEnv *env)
        gAudioMixCstor =
                GetMethodIDOrDie(env, audioMixClass, "<init>",
                                 "(Landroid/media/audiopolicy/AudioMixingRule;Landroid/"
                                 "media/AudioFormat;IIILjava/lang/String;Landroid/os/IBinder;I)V");
                                 "media/AudioFormat;IIILjava/lang/String;Landroid/os/IBinder;)V");
    }
    gAudioMixFields.mRule = GetFieldIDOrDie(env, audioMixClass, "mRule",
                                                "Landroid/media/audiopolicy/AudioMixingRule;");
@@ -3691,7 +3689,6 @@ int register_android_media_AudioSystem(JNIEnv *env)
    gAudioMixFields.mMixType = GetFieldIDOrDie(env, audioMixClass, "mMixType", "I");
    gAudioMixFields.mCallbackFlags = GetFieldIDOrDie(env, audioMixClass, "mCallbackFlags", "I");
    gAudioMixFields.mToken = GetFieldIDOrDie(env, audioMixClass, "mToken", "Landroid/os/IBinder;");
    gAudioMixFields.mVirtualDeviceId = GetFieldIDOrDie(env, audioMixClass, "mVirtualDeviceId", "I");

    jclass audioFormatClass = FindClassOrDie(env, "android/media/AudioFormat");
    gAudioFormatClass = MakeGlobalRefOrDie(env, audioFormatClass);
+1 −2
Original line number Diff line number Diff line
@@ -5453,8 +5453,7 @@ public class AudioManager {
            String regId = service.registerAudioPolicy(policy.getConfig(), policy.cb(),
                    policy.hasFocusListener(), policy.isFocusPolicy(), policy.isTestFocusPolicy(),
                    policy.isVolumeController(),
                    projection == null ? null : projection.getProjection(),
                    policy.getAttributionSource());
                    projection == null ? null : projection.getProjection());
            if (regId == null) {
                return ERROR;
            } else {
+2 −2
Original line number Diff line number Diff line
@@ -789,7 +789,7 @@ public class AudioRecord implements AudioRouting, MicrophoneDirection,
        private @NonNull AudioRecord buildAudioPlaybackCaptureRecord() {
            AudioMix audioMix = mAudioPlaybackCaptureConfiguration.createAudioMix(mFormat);
            MediaProjection projection = mAudioPlaybackCaptureConfiguration.getMediaProjection();
            AudioPolicy audioPolicy = new AudioPolicy.Builder(/*context=*/ mContext)
            AudioPolicy audioPolicy = new AudioPolicy.Builder(/*context=*/ null)
                    .setMediaProjection(projection)
                    .addMix(audioMix).build();

@@ -853,7 +853,7 @@ public class AudioRecord implements AudioRouting, MicrophoneDirection,
                    .setFormat(mFormat)
                    .setRouteFlags(AudioMix.ROUTE_FLAG_LOOP_BACK)
                    .build();
            AudioPolicy audioPolicy = new AudioPolicy.Builder(mContext).addMix(audioMix).build();
            AudioPolicy audioPolicy = new AudioPolicy.Builder(null).addMix(audioMix).build();
            if (AudioManager.registerAudioPolicyStatic(audioPolicy) != 0) {
                throw new UnsupportedOperationException("Error: could not register audio policy");
            }
+1 −2
Original line number Diff line number Diff line
@@ -1353,8 +1353,7 @@ public class AudioTrack extends PlayerBase
                    .setRouteFlags(AudioMix.ROUTE_FLAG_LOOP_BACK)
                    .build();
            AudioPolicy audioPolicy =
                    new AudioPolicy.Builder(/*context=*/ mContext).addMix(audioMix).build();

                    new AudioPolicy.Builder(/*context=*/ null).addMix(audioMix).build();
            if (AudioManager.registerAudioPolicyStatic(audioPolicy) != 0) {
                throw new UnsupportedOperationException("Error: could not register audio policy");
            }
+1 −3
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package android.media;

import android.bluetooth.BluetoothDevice;
import android.content.ComponentName;
import android.content.AttributionSource;
import android.media.AudioAttributes;
import android.media.AudioDeviceAttributes;
import android.media.AudioFormat;
@@ -362,8 +361,7 @@ interface IAudioService {
    String registerAudioPolicy(in AudioPolicyConfig policyConfig,
            in IAudioPolicyCallback pcb, boolean hasFocusListener, boolean isFocusPolicy,
            boolean isTestFocusPolicy,
            boolean isVolumeController, in IMediaProjection projection,
            in AttributionSource attributionSource);
            boolean isVolumeController, in IMediaProjection projection);

    oneway void unregisterAudioPolicyAsync(in IAudioPolicyCallback pcb);

Loading