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

Commit b4bc8ea4 authored by Atneya Nair's avatar Atneya Nair Committed by Android (Google) Code Review
Browse files

Merge "Add AudioPolicyServiceLocal interface" into main

parents f63651ec 87818d36
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -21,6 +21,7 @@ cc_binary {
    ],
    ],


    header_libs: [
    header_libs: [
        "audiopolicyservicelocal_headers",
        "libaudiohal_headers",
        "libaudiohal_headers",
        "libmedia_headers",
        "libmedia_headers",
        "libmediametrics_headers",
        "libmediametrics_headers",
+1 −0
Original line number Original line Diff line number Diff line
@@ -168,6 +168,7 @@ int main(int argc __unused, char **argv)
        ALOGW_IF(AudioSystem::setLocalAudioFlinger(af) != OK,
        ALOGW_IF(AudioSystem::setLocalAudioFlinger(af) != OK,
                "%s: AudioSystem already has an AudioFlinger instance!", __func__);
                "%s: AudioSystem already has an AudioFlinger instance!", __func__);
        const auto aps = sp<AudioPolicyService>::make();
        const auto aps = sp<AudioPolicyService>::make();
        af->initAudioPolicyLocal(aps);
        ALOGD("%s: AudioPolicy created", __func__);
        ALOGD("%s: AudioPolicy created", __func__);
        ALOGW_IF(AudioSystem::setLocalAudioPolicyService(aps) != OK,
        ALOGW_IF(AudioSystem::setLocalAudioPolicyService(aps) != OK,
                 "%s: AudioSystem already has an AudioPolicyService instance!", __func__);
                 "%s: AudioSystem already has an AudioPolicyService instance!", __func__);
+4 −0
Original line number Original line Diff line number Diff line
@@ -218,6 +218,8 @@ cc_library {
    ],
    ],


    header_libs: [
    header_libs: [
        "audiopermissioncontroller_headers",
        "audiopolicyservicelocal_headers",
        "libaaudio_headers",
        "libaaudio_headers",
        "libaudioclient_headers",
        "libaudioclient_headers",
        "libaudiohal_headers",
        "libaudiohal_headers",
@@ -225,6 +227,8 @@ cc_library {
        "libmedia_headers",
        "libmedia_headers",
    ],
    ],


    export_header_lib_headers: ["audiopolicyservicelocal_headers"],

    export_shared_lib_headers: [
    export_shared_lib_headers: [
        "libpermission",
        "libpermission",
    ],
    ],
+11 −0
Original line number Original line Diff line number Diff line
@@ -33,6 +33,7 @@
#include <audio_utils/FdToString.h>
#include <audio_utils/FdToString.h>
#include <audio_utils/SimpleLog.h>
#include <audio_utils/SimpleLog.h>
#include <media/IAudioFlinger.h>
#include <media/IAudioFlinger.h>
#include <media/IAudioPolicyServiceLocal.h>
#include <media/MediaMetricsItem.h>
#include <media/MediaMetricsItem.h>
#include <media/audiohal/DevicesFactoryHalInterface.h>
#include <media/audiohal/DevicesFactoryHalInterface.h>
#include <mediautils/ServiceUtilities.h>
#include <mediautils/ServiceUtilities.h>
@@ -426,6 +427,13 @@ public:
                            const sp<MmapStreamCallback>& callback,
                            const sp<MmapStreamCallback>& callback,
                            sp<MmapStreamInterface>& interface,
                            sp<MmapStreamInterface>& interface,
            audio_port_handle_t *handle) EXCLUDES_AudioFlinger_Mutex;
            audio_port_handle_t *handle) EXCLUDES_AudioFlinger_Mutex;

    void initAudioPolicyLocal(sp<media::IAudioPolicyServiceLocal> audioPolicyLocal) {
        if (mAudioPolicyServiceLocal.load() == nullptr) {
            mAudioPolicyServiceLocal = std::move(audioPolicyLocal);
        }
    }

private:
private:
    // FIXME The 400 is temporarily too high until a leak of writers in media.log is fixed.
    // FIXME The 400 is temporarily too high until a leak of writers in media.log is fixed.
    static const size_t kLogMemorySize = 400 * 1024;
    static const size_t kLogMemorySize = 400 * 1024;
@@ -784,6 +792,9 @@ private:


    // Bluetooth Variable latency control logic is enabled or disabled
    // Bluetooth Variable latency control logic is enabled or disabled
    std::atomic<bool> mBluetoothLatencyModesEnabled = true;
    std::atomic<bool> mBluetoothLatencyModesEnabled = true;

    // Local interface to AudioPolicyService, late inited, but logically const
    mediautils::atomic_sp<media::IAudioPolicyServiceLocal> mAudioPolicyServiceLocal;
};
};


// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
+6 −0
Original line number Original line Diff line number Diff line
@@ -3,6 +3,12 @@ package {
    default_applicable_licenses: ["Android-Apache-2.0"],
    default_applicable_licenses: ["Android-Apache-2.0"],
}
}


cc_library_headers {
    name: "audiopermissioncontroller_headers",
    host_supported: true,
    export_include_dirs: ["include"],
}

cc_library {
cc_library {
    name: "audiopermissioncontroller",
    name: "audiopermissioncontroller",


Loading