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

Commit 764af515 authored by Marvin Ramin's avatar Marvin Ramin Committed by Android (Google) Code Review
Browse files

Merge "Improve AudioMix registration/unregistration" into main

parents a4434157 abd9b898
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -68,7 +68,6 @@ cc_library {
        "libaudioclient_aidl_conversion",
        "libaudioutils",
        "libbinder",
        "libbinder_ndk",
        "libcutils",
        "liblog",
        "libutils",
+2 −0
Original line number Diff line number Diff line
@@ -242,6 +242,7 @@ aidl2legacy_AudioMix(const media::AudioMix& aidl) {
    legacy.mCbFlags = VALUE_OR_RETURN(aidl2legacy_AudioMixCallbackFlag_uint32_t_mask(aidl.cbFlags));
    legacy.mAllowPrivilegedMediaPlaybackCapture = aidl.allowPrivilegedMediaPlaybackCapture;
    legacy.mVoiceCommunicationCaptureAllowed = aidl.voiceCommunicationCaptureAllowed;
    legacy.mToken = aidl.mToken;
    return legacy;
}

@@ -265,6 +266,7 @@ legacy2aidl_AudioMix(const AudioMix& legacy) {
    aidl.cbFlags = VALUE_OR_RETURN(legacy2aidl_uint32_t_AudioMixCallbackFlag_mask(legacy.mCbFlags));
    aidl.allowPrivilegedMediaPlaybackCapture = legacy.mAllowPrivilegedMediaPlaybackCapture;
    aidl.voiceCommunicationCaptureAllowed = legacy.mVoiceCommunicationCaptureAllowed;
    aidl.mToken = legacy.mToken;
    return aidl;
}

+2 −0
Original line number Diff line number Diff line
@@ -39,4 +39,6 @@ parcelable AudioMix {
    boolean allowPrivilegedMediaPlaybackCapture;
    /** Indicates if the caller can capture voice communication output */
    boolean voiceCommunicationCaptureAllowed;
    /** Identifies the owner of the AudioPolicy that this AudioMix belongs to */
    IBinder mToken;
}
+2 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@
#ifndef ANDROID_AUDIO_POLICY_H
#define ANDROID_AUDIO_POLICY_H

#include <binder/IBinder.h>
#include <binder/Parcel.h>
#include <media/AudioDeviceTypeAddr.h>
#include <system/audio.h>
@@ -127,6 +128,7 @@ public:
    audio_devices_t mDeviceType;
    String8         mDeviceAddress;
    uint32_t        mCbFlags; // flags indicating which callbacks to use, see kCbFlag*
    sp<IBinder>     mToken;
    /** Ignore the AUDIO_FLAG_NO_MEDIA_PROJECTION */
    bool            mAllowPrivilegedMediaPlaybackCapture = false;
    /** Indicates if the caller can capture voice communication output */
+4 −0
Original line number Diff line number Diff line
@@ -17,6 +17,9 @@
//#define LOG_NDEBUG 0
#define LOG_TAG "AudioRoutingTest"

#include <string.h>

#include <binder/Binder.h>
#include <binder/ProcessState.h>
#include <cutils/properties.h>
#include <gtest/gtest.h>
@@ -149,6 +152,7 @@ class AudioRoutingTest : public ::testing::Test {
        config.sample_rate = 48000;
        AudioMix mix(criteria, mixType, config, mixFlag, String8{mAddress.c_str()}, 0);
        mix.mDeviceType = deviceType;
        mix.mToken = sp<BBinder>::make();
        mMixes.push(mix);
        if (OK == AudioSystem::registerPolicyMixes(mMixes, true)) {
            mPolicyMixRegistered = true;
Loading