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

Commit 5dc32098 authored by Eric Laurent's avatar Eric Laurent Committed by Automerger Merge Worker
Browse files

Spatializer: remove EffectClient nested class am: bd1eee2a

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/15852973

Change-Id: I0b44b76c4fa9d3c8495244b804c1d16f493f30c4
parents 551ce62d bd1eee2a
Loading
Loading
Loading
Loading
+0 −71
Original line number Diff line number Diff line
@@ -706,75 +706,4 @@ void Spatializer::postFramesProcessedMsg(int frames) {
    msg->post();
}

// ---------------------------------------------------------------------------

Spatializer::EffectClient::EffectClient(const sp<media::IEffectClient>& effectClient,
             Spatializer& parent)
             : BnEffect(),
             mEffectClient(effectClient), mParent(parent) {
}

Spatializer::EffectClient::~EffectClient() {
}

// IEffect

#define RETURN(code) \
  *_aidl_return = (code); \
  return Status::ok();

// Write a POD value into a vector of bytes (clears the previous buffer
// content).
template<typename T>
void writeToBuffer(const T& value, std::vector<uint8_t>* buffer) {
    buffer->clear();
    appendToBuffer(value, buffer);
}

Status Spatializer::EffectClient::enable(int32_t* _aidl_return) {
    RETURN(OK);
}

Status Spatializer::EffectClient::disable(int32_t* _aidl_return) {
    RETURN(OK);
}

Status Spatializer::EffectClient::command(int32_t cmdCode,
                                const std::vector<uint8_t>& cmdData __unused,
                                int32_t maxResponseSize __unused,
                                std::vector<uint8_t>* response __unused,
                                int32_t* _aidl_return) {

    // reject commands reserved for internal use by audio framework if coming from outside
    // of audioserver
    switch(cmdCode) {
        case EFFECT_CMD_ENABLE:
        case EFFECT_CMD_DISABLE:
        case EFFECT_CMD_SET_PARAM_DEFERRED:
        case EFFECT_CMD_SET_PARAM_COMMIT:
            RETURN(BAD_VALUE);
        case EFFECT_CMD_SET_PARAM:
        case EFFECT_CMD_GET_PARAM:
            break;
        default:
            if (cmdCode >= EFFECT_CMD_FIRST_PROPRIETARY) {
                break;
            }
            android_errorWriteLog(0x534e4554, "62019992");
            RETURN(BAD_VALUE);
    }
    (void)mParent;
    RETURN(OK);
}

Status Spatializer::EffectClient::disconnect() {
    mDisconnected = true;
    return Status::ok();
}

Status Spatializer::EffectClient::getCblk(media::SharedFileRegion* _aidl_return) {
    LOG_ALWAYS_FATAL_IF(!convertIMemoryToSharedFileRegion(mCblkMemory, _aidl_return));
    return Status::ok();
}

} // namespace android
+0 −31
Original line number Diff line number Diff line
@@ -145,34 +145,6 @@ class Spatializer : public media::BnSpatializer,

    void calculateHeadPose();

    /** An implementation of an IEffect interface that can be used to pass advanced parameters to
     * the spatializer engine. All APis are noop (i.e. the interface cannot be used to control
     * the effect) except for passing parameters via the command() API. */
    class EffectClient: public android::media::BnEffect {
    public:

        EffectClient(const sp<media::IEffectClient>& effectClient,
                     Spatializer& parent);
        virtual ~EffectClient();

        // IEffect
        android::binder::Status enable(int32_t* _aidl_return) override;
        android::binder::Status disable(int32_t* _aidl_return) override;
        android::binder::Status command(int32_t cmdCode,
                                        const std::vector<uint8_t>& cmdData,
                                        int32_t maxResponseSize,
                                        std::vector<uint8_t>* response,
                                        int32_t* _aidl_return) override;
        android::binder::Status disconnect() override;
        android::binder::Status getCblk(media::SharedFileRegion* _aidl_return) override;

    private:
        const sp<media::IEffectClient> mEffectClient;
        sp<IMemory> mCblkMemory;
        const Spatializer& mParent;
        bool mDisconnected = false;
    };

private:
    Spatializer(effect_descriptor_t engineDescriptor,
                     SpatializerPolicyCallback *callback);
@@ -284,9 +256,6 @@ private:
    /** Requested spatialization level */
    media::SpatializationLevel mLevel GUARDED_BY(mLock) = media::SpatializationLevel::NONE;

    /** Extended IEffect interface is one has been created */
    sp<EffectClient> mEffectClient GUARDED_BY(mLock);

    /** Control logic for head-tracking, etc. */
    std::shared_ptr<SpatializerPoseController> mPoseController GUARDED_BY(mLock);