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

Commit 64035f3d authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 8414751 from d90fccae to tm-release

Change-Id: Icc4156a02e1442c9765be25b41cbe3f8b79c05e8
parents 1e08ce03 d90fccae
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -959,7 +959,8 @@ status_t AudioSystem::getOutputForAttr(audio_attributes_t* attr,
                                       audio_output_flags_t flags,
                                       audio_port_handle_t* selectedDeviceId,
                                       audio_port_handle_t* portId,
                                       std::vector<audio_io_handle_t>* secondaryOutputs) {
                                       std::vector<audio_io_handle_t>* secondaryOutputs,
                                       bool *isSpatialized) {
    if (attr == nullptr) {
        ALOGE("%s NULL audio attributes", __func__);
        return BAD_VALUE;
@@ -1012,6 +1013,7 @@ status_t AudioSystem::getOutputForAttr(audio_attributes_t* attr,
    *portId = VALUE_OR_RETURN_STATUS(aidl2legacy_int32_t_audio_port_handle_t(responseAidl.portId));
    *secondaryOutputs = VALUE_OR_RETURN_STATUS(convertContainer<std::vector<audio_io_handle_t>>(
            responseAidl.secondaryOutputs, aidl2legacy_int32_t_audio_io_handle_t));
    *isSpatialized = responseAidl.isSpatialized;

    return OK;
}
+2 −0
Original line number Diff line number Diff line
@@ -31,4 +31,6 @@ parcelable GetOutputForAttrResponse {
    int portId;
    /** Interpreted as audio_io_handle_t[]. */
    int[] secondaryOutputs;
    /** True if the track is connected to a spatializer mixer and actually spatialized */
    boolean isSpatialized;
}
+2 −1
Original line number Diff line number Diff line
@@ -286,7 +286,8 @@ public:
                                     audio_output_flags_t flags,
                                     audio_port_handle_t *selectedDeviceId,
                                     audio_port_handle_t *portId,
                                     std::vector<audio_io_handle_t> *secondaryOutputs);
                                     std::vector<audio_io_handle_t> *secondaryOutputs,
                                     bool *isSpatialized);
    static status_t startOutput(audio_port_handle_t portId);
    static status_t stopOutput(audio_port_handle_t portId);
    static void releaseOutput(audio_port_handle_t portId);
+21 −1
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@
#include <cutils/native_handle.h>
#include <hwbinder/IPCThreadState.h>
#include <media/EffectsFactoryApi.h>
#include <mediautils/TimeCheck.h>
#include <utils/Log.h>

#include <util/EffectUtils.h>
@@ -40,8 +41,11 @@ namespace effect {
using namespace ::android::hardware::audio::common::CPP_VERSION;
using namespace ::android::hardware::audio::effect::CPP_VERSION;

#define TIME_CHECK() auto timeCheck = \
        mediautils::makeTimeCheckStatsForClassMethod(getClassName(), __func__)

EffectHalHidl::EffectHalHidl(const sp<IEffect>& effect, uint64_t effectId)
        : EffectConversionHelperHidl("Effect"),
        : EffectConversionHelperHidl("EffectHalHidl"),
          mEffect(effect), mEffectId(effectId), mBuffersChanged(true), mEfGroup(nullptr) {
    effect_descriptor_t halDescriptor{};
    if (EffectHalHidl::getDescriptor(&halDescriptor) == NO_ERROR) {
@@ -61,6 +65,8 @@ EffectHalHidl::~EffectHalHidl() {
}

status_t EffectHalHidl::setInBuffer(const sp<EffectBufferHalInterface>& buffer) {
    TIME_CHECK();

    if (!mBuffersChanged) {
        if (buffer.get() == nullptr || mInBuffer.get() == nullptr) {
            mBuffersChanged = buffer.get() != mInBuffer.get();
@@ -73,6 +79,8 @@ status_t EffectHalHidl::setInBuffer(const sp<EffectBufferHalInterface>& buffer)
}

status_t EffectHalHidl::setOutBuffer(const sp<EffectBufferHalInterface>& buffer) {
    TIME_CHECK();

    if (!mBuffersChanged) {
        if (buffer.get() == nullptr || mOutBuffer.get() == nullptr) {
            mBuffersChanged = buffer.get() != mOutBuffer.get();
@@ -85,10 +93,14 @@ status_t EffectHalHidl::setOutBuffer(const sp<EffectBufferHalInterface>& buffer)
}

status_t EffectHalHidl::process() {
    TIME_CHECK();

    return processImpl(static_cast<uint32_t>(MessageQueueFlagBits::REQUEST_PROCESS));
}

status_t EffectHalHidl::processReverse() {
    TIME_CHECK();

    return processImpl(static_cast<uint32_t>(MessageQueueFlagBits::REQUEST_PROCESS_REVERSE));
}

@@ -171,6 +183,8 @@ status_t EffectHalHidl::setProcessBuffers() {

status_t EffectHalHidl::command(uint32_t cmdCode, uint32_t cmdSize, void *pCmdData,
        uint32_t *replySize, void *pReplyData) {
    TIME_CHECK();

    if (mEffect == 0) return NO_INIT;

    // Special cases.
@@ -202,6 +216,8 @@ status_t EffectHalHidl::command(uint32_t cmdCode, uint32_t cmdSize, void *pCmdDa
}

status_t EffectHalHidl::getDescriptor(effect_descriptor_t *pDescriptor) {
    TIME_CHECK();

    if (mEffect == 0) return NO_INIT;
    Result retval = Result::NOT_INITIALIZED;
    Return<void> ret = mEffect->getDescriptor(
@@ -215,12 +231,16 @@ status_t EffectHalHidl::getDescriptor(effect_descriptor_t *pDescriptor) {
}

status_t EffectHalHidl::close() {
    TIME_CHECK();

    if (mEffect == 0) return NO_INIT;
    Return<Result> ret = mEffect->close();
    return ret.isOk() ? analyzeResult(ret) : FAILED_TRANSACTION;
}

status_t EffectHalHidl::dump(int fd) {
    TIME_CHECK();

    if (mEffect == 0) return NO_INIT;
    native_handle_t* hidlHandle = native_handle_create(1, 0);
    hidlHandle->data[0] = fd;
+23 −1
Original line number Diff line number Diff line
@@ -28,7 +28,9 @@ cc_library {
        "AImageReaderUtils.cpp",
        "BatteryNotifier.cpp",
        "ISchedulingPolicyService.cpp",
        "Library.cpp",
        "LimitProcessMemory.cpp",
        "MediaUtilsDelayed.cpp",
        "MemoryLeakTrackUtil.cpp",
        "MethodStatistics.cpp",
        "ProcessInfo.cpp",
@@ -49,7 +51,6 @@ cc_library {
        "libcutils",
        "liblog",
        "libutils",
        "libutilscallstack",
        "libhidlbase",
        "libpermission",
        "android.hardware.graphics.bufferqueue@1.0",
@@ -77,6 +78,10 @@ cc_library {
        "libpermission",
    ],

    required: [
        "libmediautils_delayed",  // lazy loaded
    ],

    include_dirs: [
        // For DEBUGGER_SIGNAL
        "system/core/debuggerd/include",
@@ -85,6 +90,23 @@ cc_library {
    export_include_dirs: ["include"],
}

cc_library {
    name: "libmediautils_delayed", // match with MEDIAUTILS_DELAYED_LIBRARY_NAME
    srcs: [
        "MediaUtilsDelayedLibrary.cpp",
    ],
    cflags: [
        "-Wall",
        "-Werror",
        "-Wextra",
    ],
    shared_libs: [
        "liblog",
        "libutils",
        "libutilscallstack",
    ],
}

cc_library {
    name: "libmediautils_vendor",
    vendor_available: true,  // required for platform/hardware/interfaces
Loading